关于SDI窗口最大化的问题,请指点

stevenying 2004-10-18 03:50:40
我尝试这样的做法,但是这个最大化是全屏幕的,我想要的最大化是:
如果有windows的工具栏存在即显示工具栏以上的最大化,如果工具栏隐藏则显示全屏幕的最大化,大家有什么方法吗?

注明:windows工具栏就是“开始”工具栏

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

int nScreenX, nScreenY;

//Get width and height of current screen.
nScreenX = GetSystemMetrics(SM_CXSCREEN);
nScreenY = GetSystemMetrics(SM_CYSCREEN);

//Set size of CREATESTRUCT structure.
cs.cx = nScreenX;
cs.cy = nScreenY;

//Set style of Wnd, it means no Max button on the window.
cs.style &= ~WS_MAXIMIZEBOX;

return TRUE;
}
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenying 2004-10-19
  • 打赏
  • 举报
回复
thank you
Blue_123 2004-10-19
  • 打赏
  • 举报
回复
同楼上!
alon21 2004-10-18
  • 打赏
  • 举报
回复
//文档应用程序启动时最消化/最大化
首先将m_pMainWnd->ShowWindow(SW_SHOW);屏蔽
然后:

文档应用程序启动时最小消化
在应用程序的APP类的InitInstance中添加代码:
m_pMainWnd->ShowWindow(SW_MINIMIZE);

文档应用程序启动时最大消化
在应用程序的APP类的InitInstance中添加代码:
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
hslinux 2004-10-18
  • 打赏
  • 举报
回复
就是,,,ShowWindow(SW_MAXIMIZE);就可以了~~~~~~~~~~~~~~~
stevenying 2004-10-18
  • 打赏
  • 举报
回复
up
seaskyfox 2004-10-18
  • 打赏
  • 举报
回复
呵呵,我还以为是无标题栏等的最大化呢。 ^_^
huwei001982 2004-10-18
  • 打赏
  • 举报
回复
不是有 ShowWindow(SW_MAXIMIZE);吗

还用得着修改 cs

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧