Новый CheckBox
unit CheckBoxX; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TCheckBoxX = class(TCheckBox) private { Private declarations } protected procedure CreateParams( var Params: TCreateParams); override; public { Public declarations } published { Published declarations } end; procedure Register; implementation procedure TCheckBtn.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style or BS_PUSHLIKE; end; procedure Register; begin RegisterComponents('Odin Software', [TCheckBoxX]); end; end.
Как Вы можете увидеть, все, что мы должны сделать - отменить защищенный метод CreateParams и добавить новый флажок: BS_PUSHLIKE; BS_ STANDS для "стиля кнопки". Метод Createparams - место, где мы должны установить любой заказной параметр для класса управления до его создания. Это - инкапсуляция VCL пакета WinAPI.
Все!
Комментарии