掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的に発生したコンポのイベントハンドラ (ID:33918)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Mr.XRAYさん、丁寧なレスありがとうございます。 マニュアルのコンポーネント開発ガイドを見ながらボチボチやっているのですが 読んでもよくわからないことが多いので、まず動かしてようすを見ています。 > OnChangeを実装したいということでしょうか. > でしたらコンポーネント内部のChangeメソッドをオーバーライドします. OnChange に新しい機能を追加する必要もないし、隠したいプロパティもないので TEdit から派生してます。ですから OnChange はそのまま使えるのではないでしょうか。 いまちょっと確認したら上のTMyEditの代わりに TEdit を動的に作成して同じようにコーディングしてみましたが、やはりイベントは発生しません。 unit main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure DecEditChange(Sender: TObject); //手書きのイベントハンドラ private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; DecEdit: TEdit; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin DecEdit := TEdit.Create(self); with DecEdit do begin Parent := Form1; Visible := True; Font.Style := [fsBold]; Font.Size := 11; Height := 23; Width := 150; Left := 8; Top := 55; end; end; //TEditでもこれは反応しない procedure TForm1.DecEditChange(Sender: TObject); begin if (DecEdit.Text = '') then Button1.Enabled := False else Button1.Enabled := True; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.