qq_29670983 2015-08-20 01:16 采纳率: 0%
浏览 1908

请教一个MFC填充背景色的问题

BOOL C2Dlg::OnEraseBkgnd(CDC* pDC)
{
GetWindowRect(rect);

pDC->SelectObject(fff);

pDC->Rectangle(rect);
return CDialogEx::OnEraseBkgnd(pDC);

}
我想一调试程序就背景显示指定的颜色,用CCLIENTDC可以,但是用这个函数传进来的
PDC好像不行,请问下是为什么呀?CBRUSH fff已经在初始化函数中定义了。

  • 写回答

3条回答 默认 最新

  • qq_19242821 2015-08-20 02:02
    关注

    试下这个:
    GetWindowRect(rect);
    //转成屏幕坐标
    ClientToScreen(rect);

    CWnd* pWnd = pDC->GetWindow();

    pWnd->ScreenToClient(rect);

    pDC->SelectObject(fff);

    pDC->Rectangle(rect);
    return CDialogEx::OnEraseBkgnd(pDC);

    评论

报告相同问题?