读书人

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

发布时间: 2012-02-03 22:02:47 作者: rapoo

奇怪了,自绘按钮的问题
我在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.

读书人网 >VC/MFC

热点推荐