MFC CFrameWnd 类 公共方法:CFrameWnd::FloatControlBar
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 FloatControlBar 方法用于将停靠在框架窗口上的控制条(例如工具条)转换为浮动状态。以下是 CFrameWnd::FloatControlBar 方法的声明:void FloatControlBar( CControlBar* pBar, CPoint point, DWORD dwStyle = CBRS_ALIGN_TOP, LPCTSTR lpszWindowName = NULL);参数: pBar:指向要浮动的控制条对象的指针。 point:浮动控制条的左上角位置。 dwStyle:指定浮动控制条的样式,可以是 CBRS_ALIGN_TOP、CBRS_ALIGN_BOTTOM、CBRS_ALIGN_LEFT 或 CBRS_ALIGN_RIGHT 中的一个,用于指定停靠的位置。 lpszWindowName:浮动控制条的标题。示例用法:// 假设 pMyToolBar 是一个 CToolBar 对象的指针CFrameWnd* pFrameWnd = (...
MFC CFrameWnd 类 公共方法:CFrameWnd::EnableDocking
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 EnableDocking 方法用于启用框架窗口的停靠功能。停靠功能允许用户将工具栏、控制条等窗口部件停靠在框架窗口的边缘或浮动在窗口内。以下是 CFrameWnd::EnableDocking 方法的声明:void EnableDocking(DWORD dwDockStyle);参数: dwDockStyle:指定框架窗口的停靠样式,可以是以下之一的组合: - CBRS_ALIGN_TOP:允许在窗口的顶部停靠。 - CBRS_ALIGN_BOTTOM:允许在窗口的底部停靠。 - CBRS_ALIGN_LEFT:允许在窗口的左侧停靠。 - CBRS_ALIGN_RIGHT:允许在窗口的右侧停靠。 - CBRS_FLOAT_MULTI:允许多个控制条同时浮动。示例用法:CMainFrame* pMainFrame = new CMainFrame;if (!pMainFrame->LoadFrame(IDR_MAINFRAME)){ delete pMainFra...
MFC CFrameWnd 类 公共方法:CFrameWnd::DockControlBar
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 DockControlBar 方法用于将控制条(如工具条)与框架窗口相关联,以便将其停靠在窗口的边缘或浮动在窗口内。以下是 CFrameWnd::DockControlBar 方法的声明:void DockControlBar( CControlBar* pBar, UINT nDockBarID = 0, LPCRECT lpRect = NULL);参数: pBar:指向要停靠的控制条对象的指针。 nDockBarID:指定停靠条的 ID,通常使用 AFX_IDW_DOCKBAR_TOP、AFX_IDW_DOCKBAR_BOTTOM、AFX_IDW_DOCKBAR_LEFT 或 AFX_IDW_DOCKBAR_RIGHT,具体取决于您想要停靠的位置。 lpRect:一个矩形,指定停靠控制条的位置和大小。示例用法:// 假设 pMyToolBar 是一个 CToolBar 对象的指针CFrameWnd* pFrameWnd = (CFrameWnd*)AfxGetMainW...
MFC CFrameWnd 类 公共方法:CFrameWnd::Create
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 Create 方法是用于创建框架窗口的公共方法。此方法通常在应用程序启动时用于创建主框架窗口。以下是 CFrameWnd::Create 方法的声明:virtual BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle = WS_OVERLAPPEDWINDOW, const RECT& rect = rectDefault, CWnd* pParentWnd = NULL, LPCTSTR lpszMenuName = NULL, DWORD dwExStyle = 0, CCreateContext* pContext = NULL);参数: lpszClassName:窗口类的名称。 lpszWindowName:窗口的标题。 dwStyle:窗口的样式,使用标准的 Windows 样式位。 rect:窗口的初始位置和大小。 pParentWnd:指...
MFC CFrameWnd 类 公共方法:CFrameWnd::BeginModalState
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类没有直接的 BeginModalState 方法。但是,MFC 中的对话框类 CDialog 有一个与模态对话框相关的 BeginModalState 方法,而 CFrameWnd 派生类中的对话框可以使用此方法来启用和禁用模态对话框状态。以下是 CDialog::BeginModalState 方法的声明:void BeginModalState();这个方法用于将对话框设置为模态状态,以确保对话框在显示时,用户无法与应用程序的其他部分进行交互,直到对话框被关闭。请注意,CFrameWnd 类本身可能没有 BeginModalState 方法,因为框架窗口通常用于承载多个视图和对话框。
MFC CFrameWnd 类 公共方法:CFrameWnd::ActivateFrame
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 ActivateFrame 方法用于激活框架窗口,并将其显示在屏幕上。以下是 CFrameWnd::ActivateFrame 方法的声明:void ActivateFrame(int nCmdShow = -1);参数: nCmdShow:指定框架窗口的显示状态。可以使用与 WinAPI 中 ShowWindow 函数相同的常量,如 SW_SHOWNORMAL、SW_SHOWMAXIMIZED 等。如果未提供或为 -1,则默认为 SW_SHOWNORMAL。示例用法:// 假设 pMainFrame 是 CMainFrame 的指针pMainFrame->ActivateFrame(); // 激活框架窗口,默认显示状态此方法用于激活框架窗口并设置其显示状态。在应用程序启动时,通常会调用此方法以激活主框架窗口并将其显示在屏幕上。
MFC CFrameWnd 类 公共方法:CFrameWnd::ShowOwnedWindows
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 ShowOwnedWindows 方法用于显示或隐藏所有属于框架窗口的子窗口。以下是 CFrameWnd::ShowOwnedWindows 方法的声明:void ShowOwnedWindows(BOOL bShow = TRUE);参数: bShow:如果为 TRUE,则显示所有属于框架窗口的子窗口;如果为 FALSE,则隐藏它们。示例用法:// 假设 pMainFrame 是 CMainFrame 的指针pMainFrame->ShowOwnedWindows(FALSE); // 隐藏所有属于框架窗口的子窗口这个方法通常用于控制框架窗口及其所有子窗口的可见性。当需要一次性隐藏或显示框架窗口的所有子窗口时,可以使用此方法。
MFC CFrameWnd 类 公共方法:CFrameWnd::ShowControlBar
CFrameWnd::ShowControlBar 是 MFC(Microsoft Foundation Classes)中 CFrameWnd 类的一个公共方法,用于显示或隐藏控制条(Control Bar)。BOOL ShowControlBar( CControlBar* pBar, BOOL bShow, BOOL bDelay);参数: pBar:指向要显示或隐藏的控制条对象的指针。 bShow:如果为 TRUE,则显示控制条;如果为 FALSE,则隐藏控制条。 bDelay:如果为 TRUE,则使用延迟显示或隐藏效果;如果为 FALSE,则立即显示或隐藏。返回值: 如果成功,则返回 TRUE;如果失败,则返回 FALSE。示例:// 假设 pMyToolBar 是一个 CToolBar 对象的指针CFrameWnd* pFrameWnd = (CFrameWnd*)AfxGetMainWnd();pFrameWnd->ShowControlBar(pMyToolBar, TRUE, FALSE); // 显示工具条此方法可用于在 MFC 应用程序的框架窗口...
MFC CFrameWnd 类 公共方法:CFrameWnd::SetTitle
在MFC(Microsoft Foundation Classes)中,CFrameWnd类确实有一个名为SetTitle的公共方法。该方法用于设置框架窗口(frame window)的标题。下面是SetTitle方法的简要说明:void SetTitle(LPCTSTR lpszTitle);该方法允许你通过传递一个字符串参数来设置框架窗口的标题。例如:CFrameWnd* pFrameWnd = // 获取或创建框架窗口的指针pFrameWnd->SetTitle(_T("My Application"));这将把框架窗口的标题设置为"My Application"。请注意,这只是设置窗口标题,不同于设置任务栏上的图标,因为任务栏图标通常通过其他手段设置。如果你需要设置任务栏上的图标,可以考虑使用SetIcon方法,或者检查是否有新的方法在最新版本的MFC中引入。请查阅最新的MFC文档以获取详细信息。
MFC CFrameWnd 类 公共方法:CFrameWnd::SetActiveView
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 SetActiveView 方法用于设置框架窗口的活动视图。这个方法通常在切换活动视图或在程序中动态创建和切换视图时使用。以下是 SetActiveView 方法的声明:void SetActiveView(CView* pView);该方法接受一个指向 CView 对象的指针 pView,表示要设置为活动视图的视图对象。使用示例:CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();CMyView* pMyView = new CMyView; // 假设有一个自定义的视图类// 在创建或切换视图时设置为活动视图pMainFrame->SetActiveView(pMyView);在上述示例中,SetActiveView 方法被调用,将 pMyView 视图对象设置为框架窗口的活动视图。请注意,这个方法在运行时动态设置活动视图时非常有用。在 MFC 中,CFrameWnd 类通常与 CView 类结合使用,以实现文档/视图结...
MFC CFrameWnd 类 公共方法:CFrameWnd::SaveBarState
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 SaveBarState 方法用于保存控件条(toolbar)的状态信息,以便在下一次启动应用程序时能够恢复它们的状态。以下是该方法的声明:virtual BOOL SaveBarState(LPCTSTR lpszProfileName) const;该方法接受一个参数 lpszProfileName,用于指定配置文件的名称。控件条的状态信息将被保存到该配置文件中。使用示例:CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();pMainFrame->SaveBarState(_T("MyAppBars"));在上述示例中,SaveBarState 方法被调用,将控件条的状态保存到名为 "MyAppBars" 的配置文件中。通常,SaveBarState 方法在应用程序退出时被调用,以便将当前的控件条状态保存到配置文件中。然后,当应用程序下次启动时,可以使用 LoadBarState 方...
MFC CFrameWnd 类 公共方法:CFrameWnd::RecalcLayout
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 RecalcLayout 方法用于重新计算并布局框架窗口及其子窗口的大小和位置。通常,这个方法在窗口的大小发生变化或需要重新布局时被调用,以确保窗口元素的正确显示。以下是该方法的声明:virtual void RecalcLayout(BOOL bNotify = TRUE);该方法接受一个布尔参数 bNotify,用于指示是否通知子窗口进行布局调整。如果 bNotify 为 TRUE,子窗口将收到 WM_SIZE 和 WM_WINDOWPOSCHANGED 消息,以通知它们窗口的大小或位置发生了变化。使用示例:CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();pMainFrame->RecalcLayout();在上述示例中,RecalcLayout 方法被调用,用于重新计算并布局主框架窗口及其子窗口。这通常发生在窗口大小改变时,以确保窗口元素的布局是正确的。需要注意的是,RecalcLayout 是一个虚拟函数,可以在派...
MFC CFrameWnd 类 公共方法:CFrameWnd::OnSetPreviewMode
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 OnSetPreviewMode 方法通常用于设置或取消设置预览模式。预览模式是指在打印预览中显示文档或视图的模式。以下是该方法的声明:afx_msg BOOL OnSetPreviewMode(BOOL bPreview, CPrintPreviewState* pState = NULL);该方法接受两个参数: bPreview:一个布尔值,指示是否设置为预览模式。如果为 TRUE,则设置为预览模式;如果为 FALSE,则取消设置为预览模式。 pState:一个指向 CPrintPreviewState 对象的指针,用于存储打印预览状态信息。使用示例:class CMyFrameWnd : public CFrameWnd{public: // 其他成员函数和声明... afx_msg void OnFilePrintPreview() { CPrintPreviewState* pState = new CPrintPreviewState; ...
MFC CFrameWnd 类 公共方法:CFrameWnd::OnContextHelp
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 OnContextHelp 方法通常用于处理上下文帮助请求。上下文帮助是指用户点击窗口中的一个元素并请求帮助时所触发的事件。以下是该方法的声明:afx_msg BOOL OnContextHelp(CWnd* pWnd, CPoint point);该方法接受两个参数: pWnd:指向窗口对象的指针,它表示用户点击的窗口元素所在的窗口。 point:表示用户点击的窗口元素的屏幕坐标。使用示例:BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CONTEXTMENU() ON_WM_HELPINFO() // 其他消息映射...END_MESSAGE_MAP()void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point){ // 在用户右键点击时调用,用于显示上下文菜单或执行其他上下文相关的操作 // 可以调用 TrackPopupMenu() 来显示上下文菜单}B...
MFC CFrameWnd 类 公共方法:CFrameWnd::OnBarCheck
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 OnBarCheck 方法用于处理菜单项或工具栏按钮的选择状态改变事件。通常,这个方法用于更新工具栏按钮或菜单项的状态,以反映用户的选择。以下是该方法的声明:afx_msg void OnBarCheck(UINT nID);该方法接受一个 UINT 参数 nID,该参数是与菜单项或工具栏按钮相关联的命令标识符。通过检查该标识符,你可以确定是哪个菜单项或工具栏按钮的选择状态发生了变化。使用示例:BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_COMMAND(ID_VIEW_MYTOOLBAR, &CMainFrame::OnViewMyToolbar) ON_UPDATE_COMMAND_UI(ID_VIEW_MYTOOLBAR, &CMainFrame::OnUpdateViewMyToolbar) ON_COMMAND_RANGE(ID_VIEW_OPTION1, ID_VIEW_OPTION3, &C...
MFC CFrameWnd 类 公共方法:CFrameWnd::NegotiateBorderSpace
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 NegotiateBorderSpace 方法用于允许子窗口(例如视图)与主框架窗口进行边框空间的协商。这可以用于调整主框架窗口周围的空间,以便给子窗口留出特定的空间。以下是该方法的声明:virtual BOOL NegotiateBorderSpace(UINT nBorderCmd, LPRECT lpRectBorder);该方法接受两个参数: nBorderCmd:指定请求的边框命令,可以是 BORDERCMD_SET、BORDERCMD_GET 或 BORDERCMD_NEGOTIATE. lpRectBorder:指向一个RECT结构的指针,用于指定或接收边框空间的信息。使用示例:CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();RECT rectBorder;// 获取边框空间if (pMainFrame->NegotiateBorderSpace(BORDERCMD_GET, &rectBorder)...
MFC CFrameWnd 类 公共方法:CFrameWnd::LoadFrame
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 LoadFrame 方法用于从资源中加载框架窗口的基本属性,例如菜单、工具栏、状态栏等。以下是该方法的声明:virtual BOOL LoadFrame(UINT nIDResource, DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, CWnd* pParentWnd = NULL, CCreateContext* pContext = NULL);这个方法允许你指定资源标识符 nIDResource,该标识符用于指定框架窗口的资源。另外,你可以指定一些窗口样式(dwDefaultStyle)、父窗口指针(pParentWnd)和创建上下文(pContext)。使用示例:CMainFrame* pMainFrame = new CMainFrame;if (!pMainFrame->LoadFrame(IDR_MAINFRAME)){ // 加载框架窗口失败,处理错误 delete pMa...
MFC CFrameWnd 类 公共方法:CFrameWnd::LoadBarState
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 LoadBarState 方法用于从存储中加载控件条(toolbar)的状态信息。这通常用于恢复控件条的状态,以便在应用程序重新启动时保持用户定制的布局。以下是该方法的声明:virtual BOOL LoadBarState(LPCTSTR lpszProfileName = NULL);该方法允许你指定一个配置文件的名称 lpszProfileName,以从其中加载控件条的状态信息。如果未提供配置文件的名称,则使用默认配置文件。使用示例:CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();if (pMainFrame->LoadBarState()){ // 成功加载控件条的状态信息,可以继续处理}else{ // 加载失败,处理错误}在上面的示例中,LoadBarState 方法尝试从配置文件中加载控件条的状态信息。如果加载成功,返回值为 TRUE;否则,返回值为 FALSE。通常,这种方法在应用程序启动时调用...
MFC CFrameWnd 类 公共方法:CFrameWnd::LoadAccelTable
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的 LoadAccelTable 方法用于加载加速器表(accelerator table)。以下是该方法的声明:BOOL LoadAccelTable(LPCTSTR lpszResourceName);该方法允许你通过资源标识符(Resource ID)加载加速器表。加速器表通常用于定义键盘快捷键和菜单项的关联。使用示例:CFrameWnd* pMainFrame = (CFrameWnd*)AfxGetMainWnd();if (pMainFrame->LoadAccelTable(_T("IDR_MYACCELERATOR"))){ // 成功加载加速器表,可以继续处理}else{ // 加速器表加载失败,处理错误}在上面的示例中,"IDR_MYACCELERATOR" 是资源标识符,它指向包含加速器表的资源。如果加载成功,返回值为 TRUE;否则,返回值为 FALSE。请确保在调用 LoadAccelTable 方法之前,你...
MFC CFrameWnd 类 公共方法:CFrameWnd::IsTracking
在 MFC(Microsoft Foundation Classes)中,CFrameWnd 类的公共方法 IsTracking 用于检查当前是否正在跟踪(tracking)鼠标或键盘输入。在文档/视图结构中,跟踪通常与拖放操作相关联。该方法的声明如下:virtual BOOL IsTracking() const;该方法返回一个布尔值,表示当前是否正在进行跟踪。如果正在跟踪,返回 TRUE;否则,返回 FALSE。在使用该方法时,你可以通过调用该方法来检查是否正在进行鼠标或键盘输入的跟踪。例如:CFrameWnd* pMainFrame = (CFrameWnd*)AfxGetMainWnd();if (pMainFrame->IsTracking()){ // 正在进行跟踪,执行相应的操作}else{ // 没有跟踪,执行其他操作}请注意,IsTracking 是一个虚拟函数,因此你可以在派生类中重写它以实现自定义的跟踪检查逻辑。