void CMyDlg::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 { CRect rc; GetWindowRect(&rc); CDC *pDC; CDC memdc; CBitmap *olddc; CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); pDC=this->GetDC(); memdc.CreateCompatibleDC(pDC); olddc=memdc.SelectObject(&bitmap); pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY); if(olddc) { memdc.SelectObject(olddc); } CDialog::OnPaint(); } }
|