掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CheckBoxの排他的選択の後続 (ID:28275)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
これはFAQの一つです。 共通のイベントハンドラを割り当てたとき、どのコンポがイベントを起こしたのか を知りたいのでしょう? 一番簡単なのは、Tag プロパティーを使う方法です。 新規で Form1 に CheckBox1-3 を置いてください。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; procedure FormCreate(Sender: TObject); private procedure KyotuuCheckBoxClick(Sender: TObject); public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i: integer; cb: TCheckBox; begin for i := 1 to 3 do begin cb := TCheckBox(FindComponent('CheckBox' + IntToStr(i))); cb.OnClick := KyotuuCheckBoxClick; cb.Tag := i; end; end; procedure TForm1.KyotuuCheckBoxClick(Sender: TObject); var no: integer; begin no := TCheckBox(Sender).Tag; Showmessage('CheckBox'+ IntToStr(no) + ' Clicked!'); end; end. どれかのCheckBoxをクリックするたびのメッセージが表示されます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.