コントロールのTagプロパティーは
「開発者の便宜を図るために用意されています」
とhelpにあるのですが、使った経験がありません。
なにか便利な使い方があったら教えて下さい。
まあ、必要に応じて使うモノなので、使わないときは全く使いませんね。
私の場合、例えば、Button1, Button2があって、Button1.OnClickの処理が長いとき、Button2にキャンセル機能をつけたいときなどに使ったりします。
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Tag := 0;
while true do
begin
//処理が長い
Application.ProcessMessage;
if Button1.Tag <> 0 then Break;
end;
if Button1.Tag <> 0 then
ShowMessage('Cancel')
else
ShowMessage('Complete');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button1.Tag := 1;
end;
私の場合はイベント処理を一つで複数のコンポーネントの処理を分ける時に使用します。
Buttonを二つ用意して
Button1.Tag := 0;
Button2.Tag := 1;
Button1.OnClick = Button1Click
Button2.OnClick = Button1Click
procedure TForm1.Button1Click(Sender: TObject);
begin
case TButton(Sender).Tag of
0://ここに振り分け処理を記述
1:
end;
end;
私の場合は社員情報等の検索で使いました。
procedure TForm1.Edit1Exit(Sender: TObject);
begin
Edit1.Tag := StrToIntDef(Edit1.Text,0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Tag>0 then begin
Employee := GetEmplyeeInfo(Edit1.Tag);
...
end else
ShowMessage('ちゃんと社員番号入れてヨッ!!');
end;
>にしのさん、LupinⅢさん、通りすがりさん
貴重なideaの開示をありがとうございました。
チェック忘れました;
ツイート | ![]() |