お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"最も簡単なサブクラス化"

この発言に対し以下のコメントが寄せられています
#00403 謎の全知師 さん RE:最も簡単なサブクラス化

 動作を変更したいコントロールのウインドウプロシージャを 外から差し替える例です.WinControlでなくてもかまいません. WindowProcというTWndMethod型のプロパティがTControlのpublicに あって,こいつに普通はWndProcが入れてあるというのにさっき 気付いたもので(^^;  WndProcをoverride出来ないときの逃げに使えるかもしれません. Delphi3.0 type TForm1 = class(TForm) Panel1: TPanel; procedure FormCreate(Sender: TObject); private OldProc1: TWndMethod; procedure NewWndProc1(var Msg: Tmessage); public end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.NewWndProc1(var Msg: Tmessage); begin if Msg.Msg = WM_LBUTTONDOWN then begin MessageBeep(0); end; OldProc1(Msg); end; procedure TForm1.FormCreate(Sender: TObject); begin OldProc1 := Panel1.WindowProc; Panel1.WindowProc := NewWndProc1; end; end. TN(CQJ01721) Original document by TN 氏 ID:(CQJ01721)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum