MFC 窗体启动位置
MFC单文档窗体,如何设置窗体启动的初始位置,比如,设置启动时窗体位于屏幕中间,或者左上角,右上角,随机。...
MFC单文档窗体,如何设置窗体启动的初始位置,
比如,设置启动时窗体位于屏幕中间,或者左上角,右上角,随机。 展开
比如,设置启动时窗体位于屏幕中间,或者左上角,右上角,随机。 展开
3个回答
展开全部
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;
}
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;
}
展开全部
在CMainFrame的OnCreate里边加上
SetWindowPos(NULL,0,0,500,500,NULL);
其中,0,0是窗口左上角的位置,500,500是窗体右下角的左边。
你要想弄到其他位置可以更改这两个参数实现。
SetWindowPos(NULL,0,0,500,500,NULL);
其中,0,0是窗口左上角的位置,500,500是窗体右下角的左边。
你要想弄到其他位置可以更改这两个参数实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询