I'm using the vcl style hook of the answer to this question close button of a tabsheet not supporting vcl styles
and is working fine, but the close button is draw in all the TPageControl components of my app.
And I want add this option (draw the close button) to only a particular form. The question is : how I can apply this hook or any vcl style hook just to the TPageControl of a specific form?
You can use a interposer class for the TPageControl component
check this sample
type
TPageControl = class(Vcl.ComCtrls.TPageControl);
TForm1 = class(TForm)
PageControl1: TPageControl;
...
...
And then register the vcl style hook in the same unit where the interposer class is located
TStyleManager.Engine.RegisterStyleHook(TPageControl, TTabControlStyleHookBtnClose);
Or using a full qualified type name
TStyleManager.Engine.RegisterStyleHook(Unit1.TPageControl, TTabControlStyleHookBtnClose);
来源:https://stackoverflow.com/questions/12079665/how-to-apply-a-vcl-style-hook-to-a-particular-component-of-a-form