- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看来我无法通过自绘控件解决这个问题。我已经对状态控件进行了 super 分类。我正在尝试自定义但仍保留相同的功能。基本上,我想更改背景和文本。我正在使用 Direct2d(或 ID2D1DCRenderTarget 接口(interface))进行绘图。我已经成功地使用 WM_NCPAINT 更改了背景;不过,您可以根据需要使用 WM_ERASEBKGRND。但是,这两种方法在我的实验中都作为对照,仍然出现闪烁。此外,当 SB_SETTEXT 的 WPARAM NOT SET 为 SBT_OWNERDRAW 时,不会发生闪烁。因此,我得出结论,WM_DRAWITEM 是罪魁祸首。无论如何,我可以用所有者绘制的状态栏解决这个闪烁的问题吗?
最佳答案
如果为您控制打开双缓冲,则可以避免闪烁。
设置 WS_EX_COMPOSITED 扩展样式: http://msdn.microsoft.com/en-us/library/windows/desktop/ff700543(v=vs.85).aspx
例如处理 WM_CREATE 时,调用(WTL 或 MFC):
ModifyStyleEx(0, WS_EX_COMPOSITED);
关于c++ - 使用 WM_DRAWITEM 闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570196/
看来我无法通过自绘控件解决这个问题。我已经对状态控件进行了 super 分类。我正在尝试自定义但仍保留相同的功能。基本上,我想更改背景和文本。我正在使用 Direct2d(或 ID2D1DCRende
我需要在 win32 api 中设置列 TableView 项的高度,所以我使用 LVS_OWNERDRAWFIXED 来获取 WM_MEASUREITEM消息并设置项目的高度。但是当我在 Cre
当我按下 Alt 键时,我在 win32 应用程序中收到 WM_DRAWITEM 消息,导致静态控件重新绘制,这不是我需要的结果。我只需要在初始化时绘制控件。为什么我收到 WM_DRAWITEM 消息
我正在尝试实现一个简单的自绘按钮,它只包含来自画笔的图像。 这是我的代码(WTL,但很简单): case WM_CTLCOLORBTN: dc.SetBkMode(TRANSPARENT);
我是一名优秀的程序员,十分优秀!