くだすれDelphi(超初心者)その28
■ このスレッドは過去ログ倉庫に格納されています
0666ななしへたぐらま ◆XcB18Bks.Y
2005/12/13(火) 07:52:13TControlクラスのSetTextBufメソッドを使うと良いでしょう.
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
NewCaptionOrText: string;
begin
for i := 0 to pred(ComponentCount) do
if Components[i] is TControl then //※1
begin
NewCaptionOrText := format('%d番目のコンポ', [1 + i]);
(Components[i] as TControl).SetTextBuf(PChar(NewCaptionOrText)); //※2
end;
end;
ラベルコンポやエディットコンポなど,実行時に目に見えるコンポーネントは基本的にTControlの仲間で,
SetTextBufというCaptionまたはTextを変更するメソッドを持っています.
そこで※1でis演算子を使ってフォーム上の番号iのコンポがTControlの仲間かどうかを調べ,もしそうなら,
※2でas演算子を使ってTControlの仲間として解釈し,SetTextBufメソッドを実行しています.
■ このスレッドは過去ログ倉庫に格納されています