国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

C++對話框背景色的設置方法

時間:2008-10-04 16:03:00   來源:無憂考網     [字體: ]
一個基于對話框的MFC AppWizard應用程序中,如何改變對話框的背景顏色呢?對于這個問題,其實可以 由幾種不同的方法來實現,具體如下(粗斜體代碼為增添的):
  ---- 方法一:調用CWinApp類的成員函數SetDialogBkColor來實現。
  ---- 其中函數的第一個參數指定了背景顏色,第二個參數指定了文本顏色。下面的例子是將應用程序對話 框設置為藍色背景和紅色文本,步驟如下:
  ---- ① 新建一個基于Dialog的MFC AppWizard應用程序ExampleDlg。
  ---- ② 在CExampleDlgApp ::InitInstance()中添加如下代碼:
  BOOL CExampleDlgApp: : InitInstance ( )
  {
  …
   CExampleDlgDlg dlg;
   m_pMainWnd = &dlg;
  //先于DoModal()調用,將對話框設置為藍色背景、紅色文本
   SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));
   int nResponse = dlg.DoModal();
  …
  }
  ---- 編譯并運行,此時對話框的背景色和文本色已發(fā)生了改變。值得注意的是:在調用DoModal()之前必須 先調用SetDialogBkColor,且此方法是將改變應用程序中所有的對話框顏色,并不能針對某一個指定的對 話框。
  ---- 方法二:重載OnPaint(),即WM_PAINT消息。有關代碼如下(以上例工程為準):
  void CExampleDlgDlg::OnPaint()
  {
   if (IsIconic())
  …
   else
   {
    CRect rect;
    CPaintDC dc(this);
    GetClientRect(rect);
    dc.FillSolidRect(rect,RGB(0,255,0)); //設置為綠色背景
    CDialog::OnPaint();
   }