1 在多文档多视图的MFC架构中,要想获得当前选中的CView可重写CView::OnActivateView函数,如下:

void
OnActivateView(BOOL bActivate,
              CView * pActivateView,
              CView * pDeactiveView)
{
 if(bActivate)
 {
     SetEnable(TRUE);
 }
 else
 {
     SetEnable(FALSE);
 }

CView::OnActivateView(bActivate,
                             pActivateView,
                     pDeactiveView);
}

2 获得窗口或者视图句柄

2.1 获得窗口句柄

要找到某个CWnd对象的HWND,用GetSafeHwnd()。

在窗口类中,有句柄的成员变量,可以直接访问:   m_hWnd   
在窗口类外,可以用AfxGetMainWnd()->m_hWnd获得。

在MainFrame里直接用this;   
其它地方用   CMainFrame*   pMainFrame   =   (CMainFrame*)theApp.m_pMainWnd;

想得到一个控件的的句柄

GetDlgItem(ID…)->m_hWnd

2.2 获得视图的句柄

AfxGetMainWnd()->GetActiveView();

SDI:   ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();     
MDI:   ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveFrame()->GetActiveView();

在MFC中获取窗口\视图句柄 &获取当前活动的CView .相关推荐

  1. 黑马程序员mfc中分割窗口---ctreeview未定义基类的解决方法

    在跟班黑马程序学mfc中分割窗口,vs2019出现了以下的错误.解决方法很简单. 首先我们点击错误,自动定位到出错的类,会发现出错的是CSelcetView的头文件和源文件出错, 我们找到头文件中 在 ...

  2. MFC中关闭窗口的几种方法

    MFC中关闭窗口的几种办法: 退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE); 关闭当前窗口用DestroyWindow( ); 关闭模式对话框用EndD ...

  3. MFC中使用控制台窗口输入输出

    现在Windows编程一般都使用窗口程序设计,即GUI模式.但有时我们需要输出一些信息用于调试或查看某些状态,以前我都是在窗口上加一个Edit控件,然后把需要的信息输出到Edit控件里,但这样严重影响 ...

  4. MFC中Windows窗口消息循环及多线程之间关系

       Windows中一个进程可以包含多个线程,由多个线程组成.在Windows应用程序中,窗体是由"UI线程(User Interface Thread)"的特殊类型的线程创建的 ...

  5. MFC中关闭窗口的几种方式

    一. 关闭主窗口 1.ExitProcess(0); 2.AfxGetMainWnd()->SendMessage(WM_CLOSE); 3.PostQuitMessage(0);//最常用 二 ...

  6. C# API之常用操作窗口类函数详解[查找所有窗口、获取目标句柄的类名、获取窗口文本、获取当前活动窗口、通过窗口句柄获取线程ID、获取指定窗口位置]

    /// <summary>/// 查找所有窗口(只要是在进程里面的)/// 如果不限制类名或者标题使用null代替/// </summary>/// <param nam ...

  7. MFC中的GDI绘图

    MFC中的GDI绘图 目录(?)[+] 什么是GDI 什么是DC MFC中与GDI有关的类 获取设备环境 设置坐标映射 创建绘图工具并选入DC 调用DC绘图函数绘图 三坐标映射实例 一.关于GDI的基 ...

  8. mfc获取子窗口句柄_前端设计-JavaScript中父窗口与子窗口间的通信

    父窗体与子窗体之间的通信 在之前文章讲解windows程序设计过程中,我们曾描述了windows程序窗口之间通信与控制实现方法与过程,如窗体之间参数传递等.本文主要从Web程序开发前端JavaScri ...

  9. C++ 主程序中打开子程序窗口隐藏,操作控件 遍历窗口控件句柄EnumChildWindows();获取其他程序进度条数据 操作选择框 按钮点击

    1.线程启动子程序  ShowWindow(hWnd, SW_SHOW)显示 ShowWindow(hwnd, SW_HIDE);隐藏 system_hide(L"Odin3.exe&quo ...

  10. mfc 获取窗口在屏幕中的位置_CSocket与CAsynSocket中的阻塞与非阻塞

    1 上节回顾 上一节讲到,同步的内涵是函数返回时,任务已经完成.隐含的意思便是如果一方执行比较慢,是需要另一方等待的.阻塞的第二层含义便是"等待",从这个意义上讲,同步与阻塞是对同 ...

最新文章

  1. .net中连接SYBASE的种种问题
  2. arcgis 字段计算器 条件赋值_【教程】ArcGIS入门教程(11)——多条件购房分析...
  3. jsr 107_如何使用JSR107缓存注释
  4. 陶哲轩实分析引理10.4.1:反函数定理
  5. 关于Feign的几个问题
  6. java.io.IOException: CreateProcess error=2, ?????????
  7. C++实现分割读取txt文件以及对齐打印设置
  8. DOM对象和jquery对象相互转换
  9. 公司计算机 统一购买 补贴,全国农机购置补贴计算机管理系统开始全面启用
  10. python中静态方法、类方法、属性方法区别
  11. 模拟电子技术知识点总结
  12. 支付宝到账在线生成语音源码
  13. Macbook Pro Air锁屏不进入睡眠
  14. 实用的Android ui分析工具
  15. java程序设计——实验四
  16. Oracle BI产品线
  17. Tungsten Fabric入门宝典丨8个典型故障及排查Tips
  18. eclipse与tomcat7配置
  19. 【好书推荐】《华为数据之道》
  20. Android jetpack Room数据库(二)版本升级/迁移

热门文章

  1. BytePS源码解析
  2. 执行mount命令时找不到介质或者mount:no medium found的解决办法
  3. cf1140E 回文串+染色方案dp
  4. 安装mongodb以及设置为windows服务 详细步骤
  5. Can't create new folder in windows7
  6. HDU2050 由直线分割平面推广到折线分割平面
  7. KVM通过qemu实现USB重定向
  8. 不使用随机数的洗牌算法
  9. Sailfish预研结果
  10. Picnic Planning