首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

奇怪了,自绘按钮的有关问题

2012-02-03 
奇怪了,自绘按钮的问题我在WM_DRAWITEM中写一个函数,用一个循环,获取按钮的句柄,用hDCBeginPaint(g_Butto

奇怪了,自绘按钮的问题
我在WM_DRAWITEM中写一个函数,用一个循环,获取按钮的句柄,用
hDC   =   BeginPaint(   g_Button_hWnd[i],   &ps   );
hDCMem   =   CreateCompatibleDC(   hDC   );
SelectObject(   hDCMem,   g_hWnd_Bitmap_White   );
BitBlt(   hDC,   1,   1,   28,   28,   hDCMem,   0,   0,   SRCCOPY   );
DeleteDC(   hDCMem   );
EndPaint(   g_Button_hWnd[i],   &ps   );

来画按钮。
并且建立了3个按钮。可是在程序启动时,第1个按钮并没有画出,这是为什么?
无论几个按钮,总是第一个没法画出,这是怎么回事?

[解决办法]
那调试看看,第一次时上述代码中的变量和对象中的值是否有效,是否正确,跟后面几次有什么不一样的地方。
[解决办法]
为什么非要用BeginPaint,用GetDC试过没有?
MSDN:
An application should not call BeginPaint except in response to a WM_PAINT message. Each call to BeginPaint must have a corresponding call to the EndPaint function.

热点排行