掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Form上をダブルクリックしてラベルやテキストボックスを生み出すにはどうしたらいいでしょうか? (ID:19476)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ラベルの例 type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private 宣言 } //ダブルクリック時の作成時以外で使用したい場合は、宣言しておく //LabelHogeHoge: TLabel; public { Public 宣言 } procedure LabelOnClick(Sender: TObject); end; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); var //とりあえず表示できればいい場合は、こっちに宣言してもいい hogehoge: TLabel; begin //Formを作成元(Owner:所有者)として、ラベルを一個作成 //状況に応じて hogehoge と LabelHogeHoge を使い分けてください //基本的には、CreateとFreeはセットですが、Ownerの指定があるため、 //ここでCreateしたコンポーネントを、自分でFreeする必要はありません。 //FormがFreeされるときに、自動でFreeされます。 hogehoge := TLabel.Create(Self); //Parentを設定して初めて表示可能になります //例えば、Panelがあり、その上に乗せたければ、Selfではなく Panel1 //とかを与えればヨシ hogehoge.Parent := Self; //位置指定とか各種プロパティ設定 hogehoge.Top := 100; hogehoge.SetBounds(100,100,100,100); hogehoge.Caption := 'ほげ'; //イベントとかも一緒 //引数の型が一致しているなら、どんなメソッドでもOK hogehoge.OnClick := LabelOnClick; //こんな書き方もあるけど、個人的におすすめしない with TLabel.Create(Self) do begin Parent := Self; Top := 100; end; end; procedure TForm1.LabelOnClick(Sender: TObject); begin TLabel(Sender).Caption := IntToStr(StrToIntDef(TLabel(Sender).Caption, 0) + 1); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.