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

    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);

即可完成对默认窗口大小的修改

原文地址:https://www.cnblogs.com/ike_li/p/2851283.html