私は(私が作成されていない)私たちの非常に(非常に)古いカスタムコントロールのいずれかが(私はデモのために、ここでTPanel
を使用)このWM_SIZE
メッセージハンドラを持っていることに気づいた:メッセージハンドラが継承を呼び出さない場合はどうなりますか?
TPanel = class(ExtCtrls.TPanel)
private
procedure WMSize(var Message: TWMSize); message WM_SIZE;
end;
procedure TPanel.WMSize(var Message: TWMSize);
begin
DoSomethingWhenResized;
end;
inherited
ではありません呼び出されています。 DoSomethingWhenResized
は、コントロールのペイントプロセスで使用されるキャッシュされたグラディエントビットマップを作成します。
すべてのもの「ルックス」と罰金に動作しますが、何が最初inherited
ハンドラを呼び出すないで間違って行くことができれば私は疑問に思いますか?
に依存します。唯一起こるのは、このメッセージハンドラの先祖のコードが呼び出されないということです。あなたが自分でメッセージを扱うなら、 '継承された 'を呼び出す必要はありません。 – Victoria