终于找到第二个圆绘不出来的原因
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就好了。
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就好了。
相关文章推荐
- 终于找到了 (enterFrame) 事件让swf“卡死”的原因
- MapX中文版——MapX实现中文标注总是报错,终于找到原因。
- 终于找到程序员无休止加班的原因了
- Cuda 6.0安装失败,终于找到原因了~
- 终于找到miniblink播放jwplayer不了的原因了
- vim ,vi总是卡死,终于找到原因了。
- 折磨半个月终于找到php脚本所谓的“内存泄露”原因!
- 终于找到晕车的原因
- 终于找到程序员无休止加班的原因了
- 困扰了我很久STM32的TIM1时钟走慢的问题终于找到原因了
- WindowsServer2003虚拟机 安装SQL2005失败 终于找到原因了
- 访问远程图片,symbian版本比java慢的原因终于找到!
- 我终于找到为何我的Lenovo ThinkPad R60e无法使用宽带拔号[PPPOE]上网的原因了!
- eclipse 3.6 慢 卡 原因根源,终于找到了!
- 明明已经引入了jquery,还是不断地报错,终于找到原因了
- 跟着教程学习MP3播放器编写,遇到奇怪事,扩展名为MP3、jpg、gif的都可以下载,唯独lrc的下载总失败,终于找到原因!
- 背景图片在ie7上显示不出来 在火狐上可以显示 找了半天也没有找到原因 后来发现 no-repeat与url之间没有空开 加了空格后ie7上能显示了
- Javascript:郁闷了好久终于找到原因了,原理还不明白
- Servlet action is not available 终于找到了错误原因
- 【转载】终于找到程序员无休止加班的原因了!