私はシアトルで働いており、Windows 専用の FM アプリケーションを書いています。
フォームに tlistview があり、データが入力されています。
検索オプションをオンにしました。
プログラムで検索ボックスにフォーカスを設定するにはどうすればよいですか?
検索ボックスのサイズとフォント サイズを大きくするにはどうすればよいですか?
ありがとう
私はシアトルで働いており、Windows 専用の FM アプリケーションを書いています。
フォームに tlistview があり、データが入力されています。
検索オプションをオンにしました。
プログラムで検索ボックスにフォーカスを設定するにはどうすればよいですか?
検索ボックスのサイズとフォント サイズを大きくするにはどうすればよいですか?
ありがとう
検索ボックスは、表示するように設定し、変更時にイベントを発生させる場合を除いて、プログラムでアクセスすることを意図していません。それ以外の場合は、ユーザーのみがアクセスできるようになっています。したがって、アクセスは少し複雑です。ただし、イベントの例からOnSearchChange
、次の回答が得られました。
uses ..., FMX.SearchBox;
type
TForm17 = class(TForm)
ListView1: TListView;
Button1: TButton;
Label1: TLabel;
...
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
sb: TSearchBox; // a local reference
...
end;
implementation
procedure TForm17.Button1Click(Sender: TObject);
begin
if Assigned(sb) then
sb.SetFocus;
end;
procedure TForm17.FormCreate(Sender: TObject);
var
i: integer;
begin
ListView1.SearchVisible := True; // or set in the Object Inspector at design time
for i := 0 to ListView1.Controls.Count-1 do
if ListView1.Controls[I].ClassType = TSearchBox then
begin
sb := TSearchBox(ListView1.Controls[i]);
Break;
end;
end;
procedure TForm17.ListView1SearchChange(Sender: TObject);
begin
if Assigned(sb) then
Label1.Text := sb.Text;
end;
フォームの作成時に SearchBox コントロールを検索し、見つかった場合はそれへの参照をsb: TSearchBox;
フィールドに保存します。その後、アクセスは非常に簡単です。