您的位置:首页 > 其它

MFC禁止窗口最大化按钮和禁止改变窗口大小

2013-01-08 15:57 351 查看
1. 修改PreCreateWindow()函数如下:

  BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

  {

  if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE;

  cs.dwExStyle &= ~WS_EX_CLIENTEDGE;

  cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化

  cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化

  // cs.style &= ~WS_SYSMENU; //取消Title上的按钮

  cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小

  cs.lpszClass = AfxRegisterWndClass(0);

  return TRUE;

  }

2.VC2010 MFC 改变窗口默认大小

2.1.因为VS2010会将一些信息写入注册表,这个和之前VS2005,VS2008(SP1除外)不太一样,默认的SDI和MDI是带的BCG的一些东西。
你要修改窗口大小,可以直接在App类的InitInstance中ShowWindow();UpdateWindow()之前修改窗口大小,例如 m_pMainWnd->MoveWindow(CRect(100, 100, 600, 400), FALSE);

2.2 MFC的应用程序向导在VC6.0中和VS2010中有很多区别。VS2010的中的MFC的应用程序向导增加了不少新的选项。默认情况下建立MFC应用程序,就会出现在PreCreateWindow()中修改cx、cy窗口大小不变的情况,在VS2010的MFC的应用程序向导的第二步选择MFC标准,第6步选择使用经典菜单。其效果即和VC6.0产生的效果一样。

综上:

在App类得InitInstance中写入下面的代码:

m_pMainWnd ->MoveWindow(100, 50, 1100, 550, FALSE);

即可完成对默认窗口大小的修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: