您的位置:首页 > 其它

终于找到第二个圆绘不出来的原因

2004-09-20 13:00 323 查看
BEGIN_MSG_MAP(CODButtonImpl)
CHAIN_MSG_MAP_ALT(COwnerDraw<CODButtonImpl>, 1)
MSG_WM_ERASEBKGND(OnEraseBkGnd)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()

LRESULT OnEraseBkGnd(HDC hDC)
{
CDC dc(hDC);// CDCHandle dc(hDC);
return 1;
}

void DrawItem ( LPDRAWITEMSTRUCT lpdis )
{
RECT rc = lpdis->rcItem;
CDCHandle hdc = lpdis->hDC;

CDC dc(lpdis->hDC);

CPen pen;
pen.CreatePen(0,1,RGB(28,81,128));
HPEN hOldPen = dc.SelectPen(pen);
HBRUSH hOldBrush = dc.SelectStockBrush(WHITE_BRUSH);
dc.Ellipse(&rc);
}
原来是红色的那行,它用CDC来管理hDC,用完后就释放hDC了。改成CDCHandle就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: