私はDelphiを初めて使用し、TStringGridから派生したカスタムコントロールを構築しています。OnResizeイベントハンドラーにアクセスする必要があります。どうすればアクセスできますか?TStringGridの親にOnResizeイベントがあります
質問する
2728 次
3 に答える
10
OnResize
でデフォルトで保護されているイベントを公開しますTControl
。
独自の子孫では、イベント自体を使用するのではなく、イベントをトリガーするメソッドを使用する必要があります。そのようにすると、コンポーネントのユーザーに独自のイベント ハンドラーを実装する機会が与えられます。
Resize メソッドをオーバーライドします。
type
TMyGrid = class(TStringGrid)
protected
procedure Resize; override;
published
property OnResize;
end;
{ TMyGrid }
procedure TMyGrid.Resize;
begin
// Here your code that has to be run before the OnResize event is to be fired
inherited Resize; // < This fires the OnResize event
// Here your code that has to be run after the OnResize event has fired
end;
于 2013-02-06T11:25:35.007 に答える
0
TStringGrid を TPanel 内に配置し、それを alClient に配置するだけで、TPanel のパブリッシュされた Resize イベントを任意のアクションに使用できます。
于 2014-01-18T21:33:24.040 に答える