使用TListView并在应用程序中禁用主题时,焦点和所选项目将显示如下:
请注意三角形所在的两个图像。项目的绘制框不会绘制图标出现的位置。在TListBox中,绘制的项目填充整个选定的项目。
我如何能够填充所选项目的图标部分,就像处理文本部分一样?
我知道TListBox会像这样呈现,但我需要使用TListView作为Data属性,TListView也可以通过TImageList更好地处理图标。
感谢。
答案 0 :(得分:4)
您需要使用TListView的OnCustomDraw事件。在事件处理程序中:
有一些方法可以做这些事情,比如DrawText和FillRect。
请注意,如果您愿意,可以使用TListBox而不是TListView。您表示您需要列表中项目的数据属性,我假设将它们绑定到您的实际模型对象。您可以使用TStrings.Objects对支持TStrings的任何内容(例如TListBox.Items)执行此操作。