CFrameWnd 框架窗口管理控件条、视图和其他子窗口在框架窗口的工作区内的位置。 框架窗口还会对工具栏和其他控件条按钮执行空闲时间更新。 CFrameWnd 框架窗口还具有用于切换工具栏和状态栏的命令的默认实现。 CFrameWnd 框架窗口管理主菜单栏。 当显示弹出菜单时,框架窗口会使用 UPDATE_COMMAND_UI 机制来确定应启用、禁用...
CFrameWnd类往往用于创建应用程序的主窗口,因为它能很好地支持系统菜单和控制条(工具条、状态条等),为此定义了大量的成员函数和变量。在编写文档/视图结构的应用程序时,CFrameWnd作为主窗口管理视图和文档对象。视图对象和控制条都成为CFrameWnd的子窗口,它们分享客户区,其位置被CFrameWnd有效地排列。 CFrameWnd直接支持单文...
一个从CFrameWnd中派生出的框架窗口类必须由DECLARE_DYNCREATE声明以使上面的RUNTIME_CLASS机制正确运行。 CFrameWnd包含缺省实现,用来执行Windows典型应用的主窗口的以下功能: 一个CFrameWnd框架窗口追踪一个与Windows活动窗口无关的窗口或当前输入焦点。当框架再次被激活时,活动视图通过CView::OnActivateView得到通知。 命令消...
CFrameWnd CFrameWnd类 CFrameWnd类往往用于创建应用程序的主窗口,因为它能很好地支持系统菜单和控制条(工具条、状态条等),为此定义了大量的成员函数和变量。在编写文档/视图结构的应用程序时,CFrameWnd作为主窗口管理视图和文档对象。视图对象和控制条都成为CFrameWnd的子窗口,它们分享客户区,其位置被CFrameWnd有效地...
CFrameWnd类提供了两种方法来创建窗口:Create()和LoadFrame()。Create()函数主要利用CWnd::CreateEx()来创建,它的参数列表与CWnd::Create()略有不同,特别要求第6个参数为菜单资源名。如果菜单资源加载失败,会打印警告并可能删除对象。创建成功后,窗口标题会被存储。LoadFrame()函数则更为便捷,它不仅...
以下是CFrameWnd分发命令消息的核心代码片段:BOOL CFrameWnd::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo){CPushRoutingFrame push(this);CView* pView = GetActiveView();if (pView && pView->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) return TRUE;...
在CFrameWnd的管理中,视图实际上是一个ID为AFX_IDW_PANE_FIRST的带边框子窗口,它隶属于由CFrameWnd类创建和封装的主框架窗口。视图的创建主要通过CFrameWnd的OnCreateClient()成员函数,这个函数在处理WM_CREATE消息时被调用。该函数会检查参数,如果条件满足,就会调用CreateView()函数动态创建视图。CFrameWnd...
MFC基础窗口创建,CWinApp、CFrameWnd 1、CWinApp(包括了这个类的导出类):代表了我们的程序。封装了消息循环等。 2、CFrameWnd:代表了程序的框架窗口。封装了窗口的注册、创建、显示、刷新、等等窗口操作。 3、Win32中、一个窗口:注册->显示->信息循环。
CFrameWnd通过一系列的消息映射,有效地管理着控制条和视图的交互。首先,当接收到WM_INITMENUPOPUP消息时,OnInitMenuPopup()方法被调用,它负责设置弹出菜单中各个项目的启用或禁用状态,以适应用户的操作需求。当系统进入空闲状态时,OnEnterIdle()消息处理函数被触发,它会更新状态条,显示空闲时的提示信息,...