01]uniCombobox下拉项时,给左边加上Icon图标

02]下拉,UniTreeView1选择

03]UniGui UniComboBox1等只能下拉不能进行输入


 01]在学习官方Demo,D:\Program Files\FMSoft\Framework\uniGUI\Demos\Desktop\IconCombobox,即 uniCombobox下拉项时,给左边加上Icon图标

同样的 道理,在VCL的ComboBoxEx一样实现该功能,请参考Delphi10.3ComboBoxEx下拉左边带图标

 


1】添加以下两个控件,并将UniComboBox1的Images设为UniNativeImageList1

UniComboBox1
UniNativeImageList1

 2】UniComboBox1中添加项目和ICON图标

3】 UniNativeImageList1中添加图标

4】给UniComboBox1的项目添加图标索引


02]下拉,UniTreeView1选择

04]下拉,UniTreeView1选择..不用UniComboBox1  因为,下拉 时 ,会一空白行,遮挡了下面的TreeView.

   02a]拖一个UniTreeView1和UniComboBox1,并设置好数据

 02b](1)将 UniTreeView1.Visible设为 False

        (2)UniComboBox1的OnClick事件设为

procedure TMainForm.UniComboBox1Click(Sender: TObject);
begin
  UniTreeView1.FullExpand;
  UniTreeView1.Show;
end;

          (3)类似地,UniTreeView1的OnClick事件设为  

 

procedure TMainForm.UniTreeView1Click(Sender: TObject);
begin
  UniTreeView1.Hide;
  UniComboBox1.Text := UniTreeView1.Selected.Text;
end;

 


03]UniGui UniComboBox1等只能下拉不能进行输入

    方法一:

 方法二:

因需要在项目中只需要 UniComboBox1等只能下拉不能进行输入,在其它的下拉组件中也同样适用

在 ClinetEvents->ExtEvents 中添加下面代码即可实现

function afterrender(sender, eOpts)
{
  sender.setEditable(false);
}