掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
カスタムコントロール:独自イベントを作成するには? (ID:21602)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
イベントの書き方の超基本 type TMyClass = class private FTag: integer; FOnChange: TNotifyEvent; procedure SetTag(const Value: integer); public property Tag: integer read FTag write SetTag; property OnChange: TNotifyEvent read FOnChange write FOnChange; end; TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private 宣言 } FMyClass: TMyClass; public { Public 宣言 } procedure Form1MyClassChange( Sender: TObject); end; var Form1: TForm1; implementation {$R *.DFM} { TMyClass } procedure TMyClass.SetTag(const Value: integer); begin if FTag<>Value then begin FTag := Value; if Assigned( FOnChange) then FOnChange(Self); end; end; { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin FMyClass:=TMyClass.Create; FMyClass.OnChange:= Form1MyClassChange; end; procedure TForm1.Form1MyClassChange(Sender: TObject); begin Edit1.Text:= IntToStr(FMyClass.Tag); end; procedure TForm1.Button1Click(Sender: TObject); begin FMyClass.Tag:= 10; end; procedure TForm1.Button2Click(Sender: TObject); begin FMyClass.Tag:= 20; end; 動作 TForm1のボタンをクリックした時に TMyClass.Tag が変わって そのOnChangeで Edit1.Textの値を書き換える
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.