<< September 2010 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< ウィルスチェックソフトの遷移 | main | 注目しているの WebOS AppsBuilder >>
.tag は何に使う?
Delphiのコンポーネントのほとんどについている。 tag プロパティだが、これ、何に使ってます?
tagプロパティは、Integer型だ。
たぶん、一般的に、ボタンなら、
procedure TForm1.Button1Click(Sender: TObject);
begin
 case Tbutton(sender).tag of
 1:ShowMessage('1 Push!');
 2:ShowMessage('2 Push!');
 3:ShowMessage('3 Push!');
 end;
end;
複数のボタンを全て同じイベントに持って行って、tag番号として、振る舞いを振り分ける。

しかし、tagは、使わなければ、ただのもったいない箱だ。
Delphi7のヘルプには、こう書いてある。
「Tag は,定義済みの意味を持たない Integer プロパティです。Tag プロパティは,開発者の手間を省くために提供されます。追加の整数値の格納に使ったり,コンポーネント参照またはポインタなどの値に型キャストすることもできます。」
意味を持たない・・とさ、でも、もったいないと思う私は、下の様なことにも使っている。

//最初の振る舞いを見分ける。ボタン押下のカウントなど
procedure TForm1.Button1Click(Sender: TObject);
begin
 if Button1.tag =0 then
 begin
  ShowMessage('はじめまして');
 end;
 Button1.tag := Button1.tag +1; 
end;

正直、告白すると、変数として使っちゃったりしている。
(他の人にソースを見せない場合だけど)
他にも、
ShowHint をFalse にした時のHintプロパティを文字列変数に、
逆に、Hintを空にしておいて、ShowHint をBool型の変数に、

TLabel の TransparentをTrue にした時の Colorプロパティ
短い固定のキャプションの時の WordWrapプロパティをBool型の変数に、

などなど・・。やりすぎると、ソースが見えにくくなる。


カテゴリ:Delphi Holic | 23:34 | comments(0) | trackbacks(0)
コメント
コメントする









この記事のトラックバックURL
http://delphiholic.hopeseeds.com/trackback/480725
トラックバック