我当前正在尝试创建一个带有“标题”的组合框。标题是指您尚未单击或选择选项时看到的文本。
在我添加csExDropDownList
之前,它可以正常工作,但我希望它是ReadOnly
。现在,当我编辑Text
属性时,它将立即被删除。我考虑过在组合框前面使用TLabel
并在选择下拉菜单时使它消失,但是TLabel
始终在后台。我也尝试过使用TStaticText
组件,但是在组合框的前面留下了不同的彩色背景,看上去很糟糕。
如果我无法用文字解释我要编辑/想要添加的文本,这就是我的意思:
答案 0 :(得分:0)
我找到了解决此问题的方法。我添加了索引为0的第三个下拉列表。现在在属性中,将ItemIndex
设置为0,这表示它的显示方式类似于Text
属性。当我与QuickSort或InsertSort交互时,我会删除索引0。
我的代码如下:
procedure TSorterForm.AlgorithmCbxChange(Sender: TObject);
begin
if (AlgorithmCbx.Text <> 'Choose Algorithm...') and not IsAlgorithmSelected then begin
AlgorithmCbx.Items.Delete(0);
IsAlgorithmSelected:= true;
end;
end;
显然不完美,所以如果您能告诉我如何进行改进,那就太好了。