在CMainFrame类中重写虚方法PreTranslateMessage处理鼠标双击事件,方法原型如下:
virtual BOOL PreTranslateMessage(MSG* pMsg);
判断鼠标双击的区域是否为多文档选项卡区域,如果是调用全屏代码使文档全屏显示。
判断鼠标双击区域关键代码如下:
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
switch(pMsg->message)
{
case WM_LBUTTONDBLCLK:
{
CRect rect,b;
GetMDITabs().GetWindowRect(&rect);
POINT pt = pMsg->pt;
BOOL isAction = FALSE;
if(theApp.m_Options.m_bTabsOnTop)
{
if(pt.x > rect.left && pt.x < rect.right
&& pt.y > rect.top && pt.y < rect.top + 20)
{
isAction = TRUE;
}
}
else
{
if(pt.x > rect.left && pt.x < rect.right
&& pt.y > rect.bottom - 20 && pt.y < rect.bottom)
{
isAction = TRUE;
}
}
if(isAction)
{
//处理双击事件使用文档全屏显示
OnMaxshowtab();
return TRUE;
}
}
break;
}
return CMDIFrameWnd::PreTranslateMessage(pMsg);
}
分享到:
相关推荐
实现MFC单文档程序中的全屏显示 MFC单文档程序中的全屏显示是指在应用程序中实现从普通窗口状态到全屏显示状态的切换。这种技术在许多应用程序中都是必不可少的,例如在VC++中编辑工程源文件或编辑对话框等资源时,...
在Microsoft Foundation Class (MFC)库中,多文档界面(Multiple Document Interface,MDI)是一种设计模式,允许用户在一个应用程序窗口内同时打开和操作多个文档。然而,标准的MFC MDI实现并没有内置的Tab页功能,...
MFC多文档应用程序同时显示两个视图,通过创建多个CMultiDocTemplate* 进行实现
MFC 中使用 Tab 控件实现选项卡,外加图像控件显示图像 在 MFC 中使用 Tab 控件可以实现选项卡的功能,从而提高用户体验。本文将详细介绍如何在 MFC 中使用 Tab 控件实现选项卡,并在子对话框中使用图像控件显示...
**MFC多文档(MDI)程序详解** MFC(Microsoft Foundation Classes)是微软提供的一套C++类库,用于简化Windows应用程序的开发。在MFC中,多文档接口(Multiple Document Interface, MDI)是一种设计模式,允许在一个...
在MFC中,单文档界面(SDI,Single Document Interface)与多文档界面(MDI,Multiple Document Interface)是两种常见的应用架构模型,它们主要用于处理应用程序中的文档管理与视图展示。 **SDI(单文档界面)**:...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来实现BMP位图的多文档显示。MFC是微软为Windows应用程序开发提供的一套C++类库,它简化了Windows API的使用,使得程序员能够更方便地创建...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC)库来创建一个单文档界面(SDI)的画图程序。MFC是Microsoft为Windows应用程序开发提供的一种C++类库,它封装了Windows API,使得程序员可以更方便地...
在本项目中,"BFMS.rar" 包含了一个基于MFC(Microsoft Foundation Classes)的航空订票系统,它利用了MFC的单文档界面(Single Document Interface, SDI)和选项卡技术来提供用户友好的操作体验。MFC是微软为...
在Microsoft Foundation Classes (MFC)库中,"MFC单文档动态显示文本"是指使用MFC框架创建一个简单的Windows应用程序,该程序能够在一个单一的文档界面(SDI, Single Document Interface)中实时更新和显示文本内容...
为了深入理解MFC单文档多视图的实现,建议阅读并分析这些文件,尤其是`chap5`,这可能是一个关于如何实现多视图的章节。 总的来说,MFC单文档多视图的设计模式提供了一种灵活的方式来展示和编辑数据,通过创建和...
本教程将深入探讨如何使用MFC实现Static控件的双击最大化和双击还原功能。Static控件在MFC中通常用于显示文本或图片,不具有窗口操作功能如最大化和最小化。然而,通过自定义处理,我们可以赋予这些控件额外的行为。...
在连连看程序中,CWinApp负责程序的初始化和运行,CView可能被派生以实现连连看的游戏板显示和交互。 3. **用户界面设计**:MFC通过对话框模板(Dialog Templates)和控件(Controls)来构建用户界面。在这个连连看...
在本场景中,我们关注的是如何利用MFC的多文档接口(MDI,Multiple Document Interface)来读取和显示多个位图文件。MDI应用程序允许用户在同一窗口内打开并操作多个文档,而不会混淆各个文档的内容。以下是一些关键...
在这个"MFC单文档多视图实例"中,我们将深入探讨如何使用MFC来创建一个具有切分窗口、左侧列表视图以及右侧可变视图类型的应用程序。 首先,"单文档"(Single Document Interface, SDI)是指应用程序中只能打开一个...
在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)中的单文档应用程序(Single Document Interface, SDI)如何实现FormView界面切换以及Dialog布局。MFC是微软提供的一个C++类库,它为Windows应用程序...
MFC支持多种应用程序设计,如SDI(单文档界面)和MDI(多文档界面)应用程序。文档模板和文档/视图的创建过程是MFC中编程的核心部分,涉及框架如何调用代码,以及如何创建和管理文档、视图和框架对象。 ### MFC应用...
通过这样的设计,我们可以轻松地实现文档和视图的解耦,使得代码更加清晰和模块化。 #### 六、总结 MFC的文档/视图结构是构建复杂应用的重要工具。通过将数据存储和显示分离,不仅提高了程序的可维护性,也便于...
6. **实现文档/视图架构**:使用MFC的`OnNewDocument`、`OnOpenDocument`等函数创建和加载文档,然后创建相应的视图。 在提供的"mdi文档说明"中,你可能会找到更多关于如何设置和使用MDI结构的具体细节,包括如何...