c - 内存 DC 中 WM_PAINT 的默认绘图

标签 c winapi wndproc

我想处理WM_PAINT消息。但一开始,我想让系统进行默认绘制,然后我手动绘制其他东西。

例如:

    case WM_PAINT:
        CallWindowProc(DefWndProcTabControl, hwnd, message, wParam, lParam);
        TabControlOnPaint(hwnd);
        return 0;

这可行,但不是很好,因为它会闪烁。

一种可能性是在内存 DC 中完成默认绘图。但如果我使用 CallWindowProc(DefWndProcTabControl...) ,我不知道该怎么做。

对此有什么建议吗?

最佳答案

如果您正在绘制的窗口支持它,请使用 WM_PRINTWM_PRINTCLIENT对内存 DC 进行默认绘制。

(尝试通过 CallWindowProc 执行此操作不太可能成功。)

关于c - 内存 DC 中 WM_PAINT 的默认绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124445/

相关文章:

c - 删除 char 数组中的空格

windows - 将工具栏放入 Windows 任务栏(ala 语言栏)

windows - DefWindowProc 处理哪些消息?

c++ - 检测 WM_MOUSEMOVE 是否由触摸/笔引起

c++ - WIN32API : owner-drawn button creates white background around the text when clicked

c++ - WndProc 作为类(class)成员,无法退出

c - 如何从 visual studio 中的空项目编写 dll?

c++ - 为什么 EXTERN_C 宏在其 C 形式中遗漏了 `extern`?

c - 数独求解 - 在回溯中跳过舞台