在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多文档程序是没有一个Tab页面来管理。本程序使用了多个Tab页来管理MFC的文档。
这篇文档详细讲述了如何在MFC单文档程序中添加全屏显示的功能
MFC多文档应用程序同时显示两个视图,通过创建多个CMultiDocTemplate* 进行实现
用MFC实现BMP位图的多文档显示,适合初学者。
利用MFC单文档制作的一个简单的画图软件
MFC单文档动态显示文本,编辑添加菜单功能!
MFC实现Static控件双击最大化,再双击还原功能
航空订票系统,MFC单文档多选项卡界面,BOOST和SQL
MFC单文档程序编写的连连看程序,还有很多瑕疵,供大家参考
MFC多文档多视图编程MFC多文档多视图编程MFC多文档多视图编程
基于MFC 多文档的OpenGL实例 基于MFC 多文档的OpenGL实例 基于MFC 多文档的OpenGL实例 基于MFC 多文档的OpenGL实例
vc mfc多文档结构读取位图,可同时打开多个位图,
在MFC中利用Tab控件实现了选项卡的功能呢给,同时在子对话框中利用图像控件显示图像,图像大小根据控件大小进行缩放!
最近在学习多文档编程,做了一个小例子放这边备查。 里面有做了多模板,创建子窗口,及在窗口上增加控件,不过没有做注释,希望下次还能看得懂。
MFC单文档应用程序基础训练——文本输出、绘图等
MFC单文档程序做的小绘图程序,实现了对图形的选中、反选、移动、删除,构造函数留有改变颜色,线型线宽接口,可自行完善,刚学MFC时做的,对新手有较大参考价值
用VS2003做的,多文档的,可以实现窗口停靠,适合初学框架的人学习
这个是用VC实现的单文档多视图的表现程序,希望对大家有用