C++如何修改SDI程序的默认背景颜色

使用MFC建立的SDI应用程序默认为白色背景,你可以按下列步骤修改为其他背景颜色。

  1. Ctrl+W pops up the MFC classwizard property sheet.
  2. Select the Message Maps tab.
  3. From the drop-down list box under the Class Name static control, select the CxxxView option (xxx = Your project's name; for example, CNnoyeView).
  4. Make sure CxxxView is also selected in the Object ID's list box.
  5. Select the WM_ERASEBKGND option in the Messages list box.
  6. Click the Add Function button. The Class Wizard adds the "OnEraseBkgnd" member function.
  7. Click the Edit Code button. Add the following code before the return CView::OnEraseBkgnd(pDC) statement.
CBrush brNew(RGB(0,0,255));  //Creates a blue brush
CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brNew);

CRect rc;
pDC->GetClipBox(rc); // Gets the co-ordinates of the client
                     // area to repaint.
pDC->PatBlt(0,0,rc.Width(),rc.Height(),PATCOPY);
                     // Repaints client area with current brush.
pDC->SelectObject(pOldBrush);

return TRUE;    // Prevents the execution of return
                // CView::OnEraseBkgnd(pDC) statement
 

posted on 2007-08-26 16:00  毛小娃  阅读(145)  评论(0编辑  收藏  举报

导航