掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンポーネントのイベント発生を取得するには? (ID:4576)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Halbow です。 WindowProc を入れ替えてサブクラス化する例ですね。 ListBox1 をサブクラス化してメッセージを受け取る例を 示しておきます。 type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private 宣言 } public OriginalProc:TWndMethod; procedure SubclassProc(var Msg:TMessage); end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin OriginalProc := ListBox1.WindowProc;//元の値をとっておく ListBox1.WindowProc := SubclassProc;//入れ替える end; procedure TForm1.SubclassProc(var Msg: TMessage); begin OriginalProc(Msg);//元のプロシージャを実行 case Msg.Msg of WM_APP+33:ShowMessage('メッセージ受け取ったよー'); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Perform(WM_APP+33,0,0);//テスト end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.