盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

MFC窗口位置管理详细区分及案例

时间:2024/12/21作者:未知来源:盾怪网教程人气:

[摘要]WS_CHILD,CRect(0,0,0,0),this,IDC_MYPANE //用IDE的菜单view/resource symbols项加入的id。);第四步:启动ClassView,在CMa...
WS_CHILD,
CRect(0,0,0,0),
this,
IDC_MYPANE //用IDE的菜单view/resource symbols项加入的id。
);

第四步:启动ClassView,在CMainFrame里加上虚函数RecalcLayout(),函数体这样写:
void CMainFrame::RecalcLayout(BOOL bNotify)
{
if (m_bInRecalcLayout)
return;
m_bInRecalcLayout = TRUE;

//rect1是新加的窗口将占据的区域
//rect2就是提供给工具栏,状态条和视图窗口的初始可用区域。
CRect rect1,rect2;
GetClientRect(&rect1);
rect1.right=rect1.right/3;
GetClientRect(&rect2);
rect2.left=rect2.right/3;

if(::IsWindow(m_mywnd.m_hWnd)) //这句是不能少的
m_mywnd.MoveWindow(&rect1);
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposExtra, CRect(0,0,0,0),&rect2);
m_bInRecalcLayout = FALSE;
}

第五步:用IDE的菜单view/resource symbols项加入一个id:IDC_MYPANE。
第六步:编译并运行程序。

好了,在主框架窗口的左边多了一个灰色的窗口,它占主窗口客户区的三分之一。工具栏,状态条和视图都被赶到右边三分之二的地方去了。

关键词:MFC窗口位置管理详细区分及案例




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版