Toolbar上の多数のToolButtonのTagプロパティーにinstanceの番号を設定しようとしています。
例えば配列を初期化するときのように、forで回して代入、
のような簡潔な書き方はできないものでしょうか? ↓↓
ToolButton1.Tag:=1;
ToolButton2.Tag:=2;
ToolButton3.Tag:=3;
・・・
・・・
ToolButton43.Tag:=43;
番号はゼロからですけど
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i := 0 to ToolBar1.ButtonCount-1 do
ToolBar1.Buttons[i].Tag := i;
end;
まぁこれでもいいんじゃないでしょうか
//jokさんのを1箇所変更
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i := 0 to ToolBar1.ButtonCount-1 do
ToolBar1.Buttons[i].Tag := i+1;
end;
jokさん、Lupin3さん迅速な御教示をありがとうございました。
こんなこと考えてました↓(笑ってやって下さい。)(^^;
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
S,Sb:string;
begin
for i:=0 to componentcount-1 do begin
Sb:=components[i].Name; S:=leftstr(Sb,10);
if s='ToolButton' then begin
S:=rightstr(Sb,length(Sb)-10);
components[i+1].tag:=strtoint(S);
end;
end;
end;
ツイート | ![]() |