内存DC中WM_PAINT的默认图形
我想处理内存DC中WM_PAINT的默认图形,c,winapi,wndproc,C,Winapi,Wndproc,我想处理WM_PAINT消息。但首先,我想让系统做默认的绘图,然后我手动绘制其他东西 例如: case WM_PAINT: CallWindowProc(DefWndProcTabControl, hwnd, message, wParam, lParam); TabControlOnPaint(hwnd); return 0; 这可以工作,但不是很好,因为它会弹 一种可能是在内存DC中完成默认图形。但是如果我使用CallWindowPr
WM_PAINT
消息。但首先,我想让系统做默认的绘图,然后我手动绘制其他东西
例如:
case WM_PAINT:
CallWindowProc(DefWndProcTabControl, hwnd, message, wParam, lParam);
TabControlOnPaint(hwnd);
return 0;
这可以工作,但不是很好,因为它会弹
一种可能是在内存DC中完成默认图形。但是如果我使用CallWindowProc(DefWndProcTabControl…
,我不知道如何做到这一点
对此有何建议?如果正在绘制的窗口支持此功能,请使用或在内存DC中进行默认绘制
(尝试通过调用WindowProc执行此操作不太可能成功。)如果正在绘制的窗口支持此操作,请使用或在内存DC中执行默认绘制
(尝试通过
CallWindowProc
执行此操作不太可能成功。)您能再解释一下吗?我不确定,但是WM_PRINT
或WM_PRINTCLIENT
是否将屏幕上的内容“打印”到(内存)DC?如果是,如何使用它们进行默认绘图(尚未完成且未显示在屏幕上)。非常感谢。@user565739:MSDN:“WM_打印消息被发送到窗口,请求它在指定的设备上下文中绘制自身”。因此,您可以使用SendMessage
将WM_PRINT
发送到hwnd
,将其传递给一个内存DC,然后它将自己绘制到该DC中。@RichieHindle:太好了!再次感谢。你能再解释一下吗?我不确定,但是WM_PRINT
或WM_PRINTCLIENT
是否将屏幕上的内容“打印”到(内存)DC?如果是,如何使用它们进行默认绘图(尚未完成且未显示在屏幕上)。非常感谢。@user565739:MSDN:“WM_打印消息被发送到窗口,请求它在指定的设备上下文中绘制自身”。因此,您可以使用SendMessage
将WM_PRINT
发送到hwnd
,将其传递给一个内存DC,然后它将自己绘制到该DC中。@RichieHindle:太好了!再次感谢。