注册 登录
编程论坛 VC++/MFC

VC 调色板实现的问题

yngaocn 发布于 2011-04-27 19:19, 863 次点击
请教大家一个VC中调色板实现的问题,代码如下(部分检查是否为空的代码省略了):
程序代码:
LRESULT CDIBDisplayView::OnDoRealize(WPARAM wParam, LPARAM)
{
    CDIBDisplayDoc* pDoc = GetDocument();   
    CPalette* pPal = pDoc->GetDocPalette();
    CMainFrame* pAppFrame = (CMainFrame*) AfxGetApp()->m_pMainWnd;
    CClientDC appDC(pAppFrame); //这里为什么是用主框架的DC ???
    CPalette* oldPalette = appDC.SelectPalette(pPal,((HWND)wParam)!=m_hWnd);   
    UINT nColorsChanged = appDC.RealizePalette();
    pDoc->UpdateAllViews(NULL);
    appDC.SelectPalette(oldPalette, TRUE);
   
    return 0L;
}
代码中,为什么使用CClientDC appDC(pAppFrame) 的设备环境?而不用其他的比如CClientDC appDC(this);?
或者说代码这么处理有什么好处?

谢谢了!~~~


0 回复
1