/*********************************************************** *說明: 在VC++6.0中給對話框設置背景色或者背景圖片 *備註:測試代碼的對話框程序的工程名爲:BJ *原理:在OnPaint()中加入代碼 *做者:袁培榮 yuanpeirong@vip.qq.com *修改時間:2011年09月26日 ***********************************************************/ // 注意:去掉相應以 /* */ 註釋的註釋符號後代碼生效 void CBJDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { //CDialog::OnPaint();//這行是原有代碼 /*設置背景色: CRect rc; GetClientRect( &rc );// 獲取客戶區 CPaintDC dc(this); dc.FillSolidRect(&rc, RGB(0,160,0)); // 填充客戶區顏色 CDialog::OnPaint(); */ /*設置背景圖片: //CDialog::OnPaint();//要禁止這個調用 CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP3); //IDB_BITMAP3是位圖資源 BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); */ } }