怎么把CPaintDC和控件关联
请问CPaintDC和控件关联起来是这样做吗?CPaintDC dc(GetDlgItem(IDC_RSS_PREVIEW))但是并没有画出来。
我是在onPaint中做的:
void CFilePreviewDlg::OnPaint(){ CPaintDC dc(GetDlgItem(IDC_RSS_PREVIEW)); CRect rect; GetDlgItem(IDC_RSS_PREVIEW)->GetClientRect(&rect); HDC memDC = CreateCompatibleDC (dc.m_hDC); HBITMAP memBM = CreateCompatibleBitmap (dc.m_hDC, rect.right, rect.right ); SelectObject(memDC, memBM); Color backgroundColor(0, 0, 0, 0); SolidBrush backgroundBrush(backgroundColor); // Fill background RectF fillRect(0.0f, 0.0f, (float) rect.right, (float) rect.right); m_pBackBufferG->FillRectangle(&backgroundBrush, fillRect); ......}void CFilePreviewDlg::OnPaint(){ CPaintDC dc(this); CRect rect; GetDlgItem(IDC_RSS_PREVIEW)->GetClientRect(&rect); CWnd *pWnd = GetDlgItem(IDC_RSS_PREVIEW); CDC *pDC = pWnd->GetDC(); HDC hDC =pDC->GetSafeHdc(); HDC memDC = CreateCompatibleDC (hDC); HBITMAP memBM = CreateCompatibleBitmap (hDC, rect.right, rect.right ); SelectObject(memDC, memBM); Color backgroundColor(0, 0, 0, 0); SolidBrush backgroundBrush(backgroundColor); // Fill background RectF fillRect(0.0f, 0.0f, (float) rect.right, (float) rect.right); m_pBackBufferG->FillRectangle(&backgroundBrush, fillRect); ......}