使用MFC建立的SDI应用程序默认为白色背景,你可以按下列步骤修改为其他背景颜色。
- Ctrl+W pops up the MFC classwizard property sheet.
- Select the Message Maps tab.
- From the drop-down list box under the Class Name static control, select the CxxxView option (xxx = Your project's name; for example, CNnoyeView).
- Make sure CxxxView is also selected in the Object ID's list box.
- Select the WM_ERASEBKGND option in the Messages list box.
- Click the Add Function button. The Class Wizard adds the "OnEraseBkgnd" member function.
- 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