1. 程式人生 > >MFC禁止視窗最大化按鈕和禁止改變視窗大小

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

即可完成對預設視窗大小的修改

原文地址:http://www.cnblogs.com/ike_li/archive/2013/01/08/2851283.html