Внешний вид сайта:

Новый CheckBox

Модуль ниже определяет новый компонент, основанный на TCheckBox, этот новый компонент ведет себя подобно нормальному CheckBox, но напоминает PushButton:
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.

Все!

Комментарии

Нет комментариев. Ваш будет первым!