3

この質問への回答のvclスタイルフックを使用しており、close button of a tabsheet not supporting vcl styles正常に機能していますが、アプリのすべてのTPageControlコンポーネントに閉じるボタンが描画されています。

ここに画像の説明を入力してください

そして、このオプション(閉じるボタンを描画)を特定のフォームにのみ追加したいと思います。問題は、このフックまたは任意のvclスタイルのフックを特定のフォームのTPageControlに適用するにはどうすればよいかということです。

4

1 に答える 1

5

TPageControlコンポーネントにインターポーザークラスを使用できます

このサンプルを確認してください

type
  TPageControl = class(Vcl.ComCtrls.TPageControl);
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    ...
    ...

次に、インターポーザークラスが配置されているのと同じユニットにvclスタイルフックを登録します

  TStyleManager.Engine.RegisterStyleHook(TPageControl, TTabControlStyleHookBtnClose);

または、完全修飾型名を使用する

  TStyleManager.Engine.RegisterStyleHook(Unit1.TPageControl, TTabControlStyleHookBtnClose);
于 2012-08-22T19:53:44.707 に答える