0

假设您想向 Windows 控件添加一些额外的图形信息。例如,您想将拖放功能添加到列表视图(使用此处讨论的过程),但在用户拖动项目时使用水平线表示放置/插入点。(该控件属于您自己的应用程序。)

有没有一种安全的方法来子类化控件并直接在它上面绘制?在我尝试这样做的有限实验中,我遇到了一些问题。首先,不清楚我是否应该在消息期间调用BeginPaint,因为一旦消息传递到默认过程,控件本身就会调用这些函数。我也不可避免地遇到了闪烁,因为有些区域被涂了两次。EndPaintWM_PAINT

我认为一种更安全的方法是创建一个透明的覆盖窗口并在其上绘制,因为这样可以避免与默认绘制过程发生冲突,但我想在走这条路之前我会问一下。感谢您的任何建议。

4

0 回答 0