フォームがビジー状態またはアイドル状態であることを示す有効/無効コントロール付きのフォームがあります。 いくつかのプロセスを中止するために無効になっていたときに、1つのコントロール(ボタンなどが可能でした)だけを有効にする必要があります。ボタンのキャプションを「ABORT」に変更します。コントロールのキャプションを見つけて状態を変更します。
ボタンAをクリックすると、ボタンAのキャプションが「ABORT」に変更されます。他のすべてのコントロールは無効になりますが、キャプション 'ABORT'のボタンが有効になっています。
procedure F1.FormBusy (sender);
var
a: Integer;
begin
for a := 0 to TabSheet1.ControlCount - 1 do
begin
TabSheet1.Controls[a].Enabled := False;
(* if TabSheet1.Controls[a] caption := 'ABORT' then
TabSheet1.Controls[a].Enabled := True
< how to do this ? *)
end;
end;
使用例:
procedure F1.LB1Click(sender: TObject);
begin
FormBusy(sender);
try
// do something
finally
FormIdle(sender);
end;
end;
@TomBrunberg「TComboBox」のクリックを何度か使用します。 – Bianca
なぜコントロールリファレンスを直接使用しないのですか –
@DavidHeffernanそれは@Owenの回答のようですか?はい、これは私には新しいものです。それは良い仕事です。しかし、 'formbusy'と' formdile'のような単純な方法はありますか? – Bianca