怎么使移除标题栏的MDI程序在最大化的时候不会全屏
如何使移除标题栏的MDI程序在最大化的时候不会全屏?
我有一个MDI程序,需要将标题栏去掉,我用了下面的语句除掉了标题栏,但是程序一最大化就铺满全屏了,我想用正常窗体的最大化,不要全屏。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
ModifyStyle(WS_CAPTION, 0);
......
}
哪位朋友有类似经历?如何解决?
------解决方案--------------------
处理wm_size,当wparam==SIZE_MAXIMIZED时,设置WS_CAPTION,否则清除ws_caption
------解决方案--------------------
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
cs.style |= WS_MAXIMIZE ;
cs.cy = ::GetSystemMetrics(SM_CYMAXIMIZED);
cs.cx = ::GetSystemMetrics(SM_CXMAXIMIZED);
cs.y = 0 ;
cs.x = 0 ;
return TRUE;
}
我有一个MDI程序,需要将标题栏去掉,我用了下面的语句除掉了标题栏,但是程序一最大化就铺满全屏了,我想用正常窗体的最大化,不要全屏。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
ModifyStyle(WS_CAPTION, 0);
......
}
哪位朋友有类似经历?如何解决?
------解决方案--------------------
处理wm_size,当wparam==SIZE_MAXIMIZED时,设置WS_CAPTION,否则清除ws_caption
------解决方案--------------------
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
cs.style |= WS_MAXIMIZE ;
cs.cy = ::GetSystemMetrics(SM_CYMAXIMIZED);
cs.cx = ::GetSystemMetrics(SM_CXMAXIMIZED);
cs.y = 0 ;
cs.x = 0 ;
return TRUE;
}