内存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:太好了!再次感谢。