- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
显示与 Items 不同的字符串值的一个非常简单的方法是从 Style 设置 csDropDown
to csOwnerDrawFixed
属性,因为 Andreas Rejbrand 具有 answered a few years ago 。
问题是:一旦您这样做,您就会失去 Windows 主题支持。
同样的限制也适用于使用 csOwnerDrawVariable
这两个 Style
值被转换为添加 CBS_OWNERDRAWFIXED
或 CBS_OWNERDRAWVARIABLE
(除了 CBS_DROPDOWNLIST
)styles Windows 的 COMBOBOX control 。
反过来,CBS_OWNERDRAWFIXED
或 CBS_OWNERDRAWVARIABLE
会导致 instantly loose the Windows theming support 。
当您进行完全自定义绘画 like a colour picker 时,一切都很好。但当您只想替换绘制的文本时,则不然。
The Windows COMBOBOX control does not seem to have a way around this ,所以我想知道:如何从 Delphi 模拟 Windows 主题?
我认为它与 DrawThemedBackground 有关,但自从我认真完成 Delphi Control 工作以来已经有一段时间了,所以任何关于如何开始那里的指示也很好(即使它们使我的假设无效)。
最佳答案
如果人们真的想尝试这个,请提供一些链接(您可能不应该这样做,因为工作量太大)。
关于delphi - 当 TComboBox 使用 csOwnerDrawFixed 或 csOwnerDrawVariable 时如何模拟 Windows 主题行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338486/
当我以编程方式导致下拉选择列表出现时,我无法弄清楚为什么我无法手动滚动浏览 TComboBox 组件。这是我正在使用的代码: SendMessage(ComboBox1.handle, CB_SHOW
我受到这个问题的启发:How to make a combo box with full-text search autocomplete support ? answer工作得很好,但我想调整建议列
我使用以下代码:How to make a combo box with fulltext search autocomplete support?通过搜索创建自定义TComboBox控件。 一切工作
据我所知,Combobox由两个组件组成:Edit和ListBox。如果我有编辑字段的句柄,如何获取组合框的句柄?我尝试使用 GetWindow(MyHandle, GW_HWNDNEXT),其中 M
我有一个带有 Style:= csOwnerDrawVariable; 的 TComboBox,我想以黑色而不是“灰色”显示禁用的 Font 颜色'. 这是我从这个来源得到的: procedure T
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
来自documentations : Specifies whether the drop-down closes up automatically when the user selects an
我希望在 TCombobox 上更改值的唯一方法是使用鼠标。 如果项目是 1,2 和 3,用户可以键入 4,它就会成为值。 我尝试使用OnKeyDown但不知何故我想“避免按键按下”。如何实现这一目标
我是 Delphi 的菜鸟,但请帮忙。 我在一个表单上有 7 个 TComboBox。它们的值是使用来自同一个名为 Numbers 的表的 SQL 查询分配给它们的。 procedure TForm3
在我的扩展 TComboBox 类中,我覆盖了 ComboWndProc() 过程处理程序,但是我无法从列表的滚动条中检测到 CN_VSCROLL 和 WM_VSCROLL 消息(FListHandl
我正在使用 ComboBox 来显示许多项目的列表(别担心,项目之间的差异允许通过 AutoComplete 快速选择 :-) . 此列表是在创建表单时创建的(OnCreate 事件),但为了表单在填
这是来自 TForm 的图像,其中顶部有一个 TEdit ,下面有一个 TComboBox 。 正如您所看到的,TEdit 没有 Windows 控件默认主题的经典 3D 边框。这是因为我将该组件的
假设我想从英国城镇的大列表中选择“伦敦” 设置 Combo1.AutoComplete := true; Combo1.Style := csDropdown; 如果我输入“l”,后跟“o”,然后是“
使用德尔福10.3: 在具有 Style=csOwnerDrawFixed 的所有者绘制的 TComboBox 中,我希望 DropDown 列表中的所有者绘制的项目与组合的静态部分不同。为了区分这两
我正在尝试从 TEdit 中给出的文本将项目添加到 TListBox 和 TComboBox在 TListBox TComboBox 中添加项目时,我的代码工作正常,但是当我尝试从 TListBox
我在表单上有一个 TComboBox。其 Style 属性设置为 csDropDownList。如果我打开下拉列表并使用鼠标或键盘选择一个选项并按 ENTER,下拉框将关闭,并且 ItemIndex
我有一个包含两个组合框的表单,两个组合框都包含相同的项目列表,并且需要彼此保持完美同步。 (它们代表 TPageControl 的两个不同选项卡上的相同选项列表。) 为了实现此目的,我设置了一个 Li
我正在使用Delphi XE2。我构建了一个自定义 TComboBox,以便可以轻松添加键/字符串对并处理组件析构函数中的清理工作。 全部 如果不是(ComponentState 中的 csDesig
在 Delphi 中,所有 TEdit 和 TComboBox 控件默认高度都是 21 像素。对于 TComboBox,这个大小是绝对的,尝试将其拉伸(stretch)到更大是行不通的。但就 TCom
如何通过TComboBox中指定的对象查找项目? 我有一个组合框,我在其中存储数据库中的值;名称作为项目,ID(整数)作为对象: ComboBox1.Clear; while not SQLQuery
我是一名优秀的程序员,十分优秀!