- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想将复选框添加到我的 CListCtrl 派生类中,该类具有 LVS_OWNERDRAWFIXED 样式,用于在任何子项中绘制它们。我可以在 DrawItem 成员函数中简单地绘制它们,但它看起来有点糟糕。如果设置了 LVS_EX_CHECKBOXES 样式,如何检索用于此控件的复选框的图像?这很重要,因为在每个 Windows 版本中,这些复选框都有其独特的外观。
这可能吗?
最佳答案
你调用OpenThemeData()
获取当前主题的句柄然后 GetThemeBitmap()
获取复选框的图像。
另请查看其他 GetThemeXXXX()
函数以获得正确的背景颜色、文字颜色、字体等
我还建议您尝试使用 ThemeExplorer ,它应该给你很好地概述了视觉样式的工作原理。最好的是,这些工具实际使用OpenThemeData()
& 合作。要呈现控件的预览,请查看其 source code (main.cpp, Line 142+)还有!
关于c++ - Ownerdraw CListCtrl 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58005938/
TDBLookupListBox(我正在使用Delphi Xe5)没有onDraw事件。我需要根据某些字段的值更改列表中显示的项目的文本颜色(或文本的背景颜色)。例如,如果显示要选择的员工列表,则以灰
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwner
我想将复选框添加到我的 CListCtrl 派生类中,该类具有 LVS_OWNERDRAWFIXED 样式,用于在任何子项中绘制它们。我可以在 DrawItem 成员函数中简单地绘制它们,但它看起来有
我有一个 ComboBox,我设置了 DrawMode = DrawMode.OwnerDrawFixed。然后我处理 OnDrawItem 事件,一切正常。但是,它看起来与标准 ComboBox 非
我有一个 ListView我希望调整项目的绘制(例如在 ListView 项目中突出显示某些字符串),但是我不想从根本上改变项目的显示方式。 我已经设置了 OwnerDraw到 true 并且可以了解
我想在 TVirtualStringTree 标题列上绘图,但我遇到了问题。我需要树列来使用它的“默认绘制”并在其上添加我自己的图形。 如果我将 hoOwnerDraw 与 Header.Option
我正在尝试使用 OnCustomDrawItem 在报告模式下绘制一个包含 4 列的 ListView 控件。 当我尝试更改 Canvas.font.color 时,这就是我所做的,没有任何问题。 如
使用标准按钮,如果我有 OK 和 Cancel,默认为 OK,我按下右箭头,Cancel 被选中,按下键盘上的 enter 键,Cancel 按钮函数被调用。 ownerdraw 按钮不会发生这种情况
我正在尝试实现所有者绘制的 ListView,因为基本控件占用了制表符,我需要用它来对齐列中的值。 使用 MSDN 中的示例作为基地,我能够接近。我仍然遇到的唯一问题是,当文本不适合列时使用的省略号句
我有一个带有 LargeIcon View 模式的所有者绘图 ListView,我想更改 ListViewItem 的边界属性。 This链接对我没有帮助,因为属性 SystemInformation
我用 DrawMode = OwnerDrawVariable 创建了一个自定义组合框。一切都很好,除了它在 DropDownList 模式下不再使用视觉样式,即它看起来像旧的组合框。如何使用视觉样式
这个问题可能被认为是 Flickering in listview with ownerdraw and virtualmode 的后续问题. 我在虚拟模式 中有一个ListView 控件,我尝试执行
我正在尝试为 slider 拇指制作一个带有自定义图形的轨迹栏。我从以下代码开始: namespace testapp { partial class MyTrackBar : System.
我为 TPopUpMenu 分配了一些图标,但看起来它已更改为ownerdraw(它设置为 false)...我也使用 XP Manifest,但它看起来仍然很旧(Win2000 风格)...是否可以
我正在为一个软件创建一个插件,该插件可以为我创建的表单设置皮肤。但是,按钮不是基于它们的皮肤,而是显示标准的灰色按钮。在软件论坛上询问指出 .NET 表单控件是所有者绘制的,因此我的按钮不会以正确的样
我遇到了 tabcontrol 的问题。当我将 DrawMode 更改为 ownderdrawfixed 时,tabcontrol 的 borderstyle 从“fixedsingle”更改为“3d
很难理解 ownerdraw TreeView ,这里是完整的故事: 一个 VS2013 WinForms 应用程序(在 Windows 8.1 上运行,如果重要的话启用了 TrueType ....
我正在绘制自定义 ListView,并将 OwnerDraw 属性设置为“true”。 listview 也有 AllowColumnReorder 'true' 属性。 private void l
我有一个静态控件,它在创建时具有 SS_OWNERDRAW 和 SS_NOTIFY 标志。它的父窗口有 WS_EX_COMPOSITED 标志。 在Windows XP下,绘制不正确,如下图(右上角的
我在我的 WinForms 应用程序中使用 OwnerDrawFixed 作为自定义 ListBox 控件的 DrawMode。 我想在用户将鼠标悬停在列表框项上时重新绘制 ListBoxItem 的
我是一名优秀的程序员,十分优秀!