MFC 窗体启动位置

MFC单文档窗体,如何设置窗体启动的初始位置,
比如,设置启动时窗体位于屏幕中间,或者左上角,右上角,随机。

MainFrm.cpp文件的BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数中设置
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
………………
//设置高、宽 (屏幕分辨率的3/4)
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) * 3 / 4;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) * 3 / 4;
//设置窗口位置 (居中)
cs.y = (cs.cy*4/3 - cs.cy) / 2;
cs.x = (cs.cx*4/3 - cs.cx) / 2;

// (右上)
//cs.y = 0;
//cs.x = ::GetSystemMetrics(SM_CXSCREEN) - cs.cx;

// (左上)
//cs.y = 0;
//cs.x = 0;
return TRUE;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-22
在CMainFrame的OnCreate里边加上
SetWindowPos(NULL,0,0,500,500,NULL);
其中,0,0是窗口左上角的位置,500,500是窗体右下角的左边。
你要想弄到其他位置可以更改这两个参数实现。
第2个回答  2010-05-26
MFC提供了标准的处理方法,如下:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style&=~(LONG)FWS_ADDTOTITLE;

if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by
cs.x=0;
cs.y=0;
cs.cx=1024;
cs.cy=760;
//cs.style |=WS_MAXIMIZE; //用这句可以最大化

return TRUE;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网