我正在使用Delphi 10 Seattle创建多设备软件(Win32)(Firemonkey)。 如何在ComboBox中显示列表时,如何显示SearchBox。 我用ListBoxItems填充代码中的ComboBox。请参阅下面的示例。 现在,SearchBox显示在已关闭的ComboBox上。
procedure AddItems;
var
SearchBox: TSearchBox;
Item: TListBoxItem;
begin
ComboBox.Items.Clear;
SearchBox := TSearchBox.Create(ComboBox);
SearchBox.Align := TAlignLayout.Contents;
SearchBox.Parent := ComboBox;
SearchBox.Visible:=True;
Item := TListBoxItem.Create(ComboBox);
Item.Parent := ComboBox;
Item.Text := 'Item 1';
Item := TListBoxItem.Create(ComboBox);
Item.Parent := ComboBox;
Item.Text := 'Item 2';
end;
答案 0 :(得分:0)
使用TComboBox事件OnPopup
& OnClosePopup
。
将ScrollBox声明移动到私有表单(或框架)部分,并在OnCreate
表单事件(或框架构造函数)中创建它。
type
THeaderFooterForm = class(TForm)
procedure FormCreate(Sender: TObject);
private
FSearchBox: TSearchBox;
end;
procedure THeaderFooterForm.FormCreate(Sender: TObject);
begin
FSearchBox := TSearchBox.Create(nil);
FSearchBox.Align := TAlignLayout.Contents;
FSearchBox.Parent := ComboBox;
FSearchBox.Visible:=False;
end;
procedure THeaderFooterForm.ComboBoxClosePopup(Sender: TObject);
begin
FSearchBox.Visible:=False;
end;
procedure THeaderFooterForm.ComboBoxPopup(Sender: TObject);
begin
FSearchBox.Visible:=True;
end;