MDI中通过GetActiveView获得VIEW
2012-10-24 16:34
393 查看
CMDIFrameWnd *pFrame = (CMDIFrameWnd *)AfxGetApp()->m_pMainWnd; // Get the active MDI child window. CMDIChildWnd *pChild = (CMDIChildWnd *) pFrame->GetActiveFrame(); /* or CMDIChildWnd *pChild = pFrame->MDIGetActive(); */ // Get the active view attached to the active MDI child window. CBusCadView *pView = (CBusCadView *) pChild->GetActiveView();
MDI 框架窗口的工作区被称为 MDICLIENT,也称为工作区中的客户端窗口覆盖。此客户端窗口中又包含零个或更多的子窗口,其中每个可显示的视图,如本图中所示:
--------------------------- | Frame Window | ---> CMDIFrameWnd | (main application window) | --------------------------- | -------------------- | Client Window | ---> MDICLIENT window class | (no view attached) | -------------------- | ----------------------------------------------------------- | | --------------------- --------------------| Child Window 1 | | Child Window 2 | ---> CMDIChildWnd| (one or more views) | | (one or more views | --------------------- --------------------
在此图中所示,MDI 框架窗口没有直接与之相关联的视图。视图实际上与程序关联的 MDI 子窗口。
因此,为 MDI 主框架窗口调用 GetActiveView() 函数将返回 NULL,意味着没有直接与 MDICLIENT 相关视图。通过先查找活动的 MDI 子窗口,在本文的解决方案一节中所述,为的子窗口查找活动视图,可以获取 MDI 应用程序中的活动视图。
MDI 框架窗口的工作区被称为 MDICLIENT,也称为工作区中的客户端窗口覆盖。此客户端窗口中又包含零个或更多的子窗口,其中每个可显示的视图,如本图中所示:
--------------------------- | Frame Window | ---> CMDIFrameWnd | (main application window) | --------------------------- | -------------------- | Client Window | ---> MDICLIENT window class | (no view attached) | -------------------- | ----------------------------------------------------------- | | --------------------- --------------------| Child Window 1 | | Child Window 2 | ---> CMDIChildWnd| (one or more views) | | (one or more views | --------------------- --------------------
在此图中所示,MDI 框架窗口没有直接与之相关联的视图。视图实际上与程序关联的 MDI 子窗口。
因此,为 MDI 主框架窗口调用 GetActiveView() 函数将返回 NULL,意味着没有直接与 MDICLIENT 相关视图。通过先查找活动的 MDI 子窗口,在本文的解决方案一节中所述,为的子窗口查找活动视图,可以获取 MDI 应用程序中的活动视图。
相关文章推荐
- GetActiveView 返回 NULL 为 MDI 框架窗口
- GetActiveView 返回 NULL 为 MDI 框架窗口
- **获得View的宽度 测量这个view,最后通过getMeasuredWidth()获取宽度.**
- MFC MDI GetActiveView() 为空
- GetActiveView 返回 NULL 为 MDI 框架窗口
- 单击AutoCompleteTextView后自动提示,无需输入字符,提示信息通过SQLite查询获得
- 在 Android 通过 get_event 获得 input 设备 上报event
- CFrameWnd::GetActiveView()函数
- Java web项目中,通过get方式传中文参数时,获得的参数为乱码的解决方案
- C# 反射通过GetCustomAttributes方法,获得自定义特性
- PHP通过get方法获得form表单数据方法总结
- [MDI]MDI框架下 获得每个子框架下的任意View的Menu菜单
- 通过Struts2在视图页面中获得get方法的返回值
- StructLayoutLayout 属性无法通过GetCustomAttributes 或者 Attributes获得
- bootstrap 获得轮播中的索引 getActiveIndex
- 通过getElementsByName获得span标签
- Android通过ViewTreeObserver获得输入法键盘弹起后可见区域高度
- Android通过getElementsByClassName快速隐藏WebView标题和广告
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题
- java中不利用get方法获得私有属性、不利用set方法修改私有属性、通过执行私有方法getName获得私有属性、通过执行私有方法setName更改私有属性name的值