读书人

双击视图放大解决思路

发布时间: 2013-11-21 23:38:25 作者: rapoo

双击视图放大
我在单文档拆分的四分图的CMyview1(以后会加在2,3,4里)里加了双击鼠标左键的消息响应,想实现双击视图就放大和缩小的功能,代码如下
void CMyview1::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

bFullScreen=!bFullScreen;
if(bFullScreen)//全屏显示
{
int screen_rect = ::GetSystemMetrics(SM_CYDOUBLECLK);// 以像素值为单位的双击有效的矩形区域
int screen_width = ::GetSystemMetrics(SM_CXSCREEN);//width of the screen, 以像素为单位计算的屏幕尺寸
int screen_height= ::GetSystemMetrics(SM_CYSCREEN);//height of the screen, 以像素为单位计算的屏幕尺寸
GetParent()->MoveWindow(0,-30,screen_width,screen_height);
MoveWindow(0,0,screen_width,screen_height);
CtrlRect = CRect(0,0,screen_width,screen_height);
}
else
{
MoveWindow(MemRect);
GetParent()->MoveWindow(ParentRect);
CtrlRect = MemRect;
}
TempRect.left = CtrlRect.left + BORDER*CtrlRect.Width()/MemRect.Width();
TempRect.right = CtrlRect.right - BORDER*CtrlRect.Width()/MemRect.Width();
TempRect.top = CtrlRect.top + BORDER*CtrlRect.Height()/MemRect.Height();
TempRect.bottom = CtrlRect.bottom - BORDER*CtrlRect.Height()/MemRect.Height();
//CView::OnLButtonDblClk(nFlags, point);
}
现在编译和连接没错,一运行,双击后,就说基础类应用程序已停止工作,什么联机解决啊,关闭程序啊,调试程序啊,就出来了。请问问题出在哪儿啊?如何解决?谢谢!
[解决办法]
点那个调试程序
[解决办法]
Debug调试进入代码看一下啊~
[解决办法]
你想用子窗口覆盖整个屏幕,包括它的主窗口框架?……
子窗口MoveWindow的最大范围是:主窗口的客户区大小……

GetParent()->MoveWindow(0,-30,screen_width,screen_height); ← 标题栏完全跑到屏幕外??
MoveWindow(0,0,screen_width,screen_height); ← 覆盖工具栏、菜单栏

读书人网 >VC/MFC

热点推荐