Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Как добавить BS_FLAT в BitBtn и GroupBox, CheckBox.   Найти похожие ветки 

 
Нулевой ©   (2006-02-07 14:56) [0]

Для Button получилось просто:
procedure TFltButton.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
if FFlat then
  Params.Style := Params.Style or BS_PUSHBUTTON or BS_FLAT
end;

procedure TFltButton.SetFlat(const Value: boolean);
begin
if FFlat <> Value then
begin
  FFlat := Value;
  RecreateWnd;
end
end;

procedure Register;
begin
 RegisterComponents("Samples", [TFltButton]);
end;

Для остальных ни как не могу разобраться, что перехватывать...
Спасибо.


 
Юрий Зотов ©   (2006-02-07 15:39) [1]

А Вы уверены, что у остальных контролов вообще существует плоский стиль? Посмотрите в MSDN, есть ли он.

Если есть, то делаете точно так же. А если нет, то придется рисовать контрол самому.


 
Нулевой ©   (2006-02-07 15:59) [2]

В данном коде работает:
 Btns[4] := CreateWindowEx(0, "button", "BS_GROUPBOX", BS_GROUPBOX or BS_FLAT or
   ws_child or ws_visible, 10, 130, 150, 35, wndMain, 0, hinstance, nil);


 
Юрий Зотов ©   (2006-02-07 16:32) [3]

> Нулевой ©   (07.02.06 15:59) [2]

1. Что такое "класс окна" и "стиль окна"?
2. Как расшифровывается приставка BS?
3. К чему эта приставка относится и к чему она НЕ относится?


 
Нулевой ©   (2006-02-07 16:44) [4]

Крыша едит...
Делаю checkbox получаю groupbox, что за фигня???!!!
type
 TFltCheckBox = class(TCheckBox)
 private
   { Private declarations }
 protected
   { Protected declarations }
   procedure CreateParams(var Params: TCreateParams); override;
 public
   { Public declarations }
 published
   { Published declarations }
 end;

procedure Register;

implementation

procedure TFltCheckBox.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.Style := Params.Style or BS_CHECKBOX or BS_FLAT
end;

procedure Register;
begin
 RegisterComponents("Samples", [TFltCheckBox]);
end;
Что не так делаю?


 
Нулевой ©   (2006-02-07 16:46) [5]

Хотя получил то что хотел, но как-то страно получил...



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
15-1155990009
sleept
2006-08-19 16:20
2006.09.10
не понял


3-1152081560
Konrads
2006-07-05 10:39
2006.09.10
Ошибка при попытке открыть базу Access


2-1156266682
she
2006-08-22 21:11
2006.09.10
Меньше нельзя


2-1155992408
DillerXX
2006-08-19 17:00
2006.09.10
Можно ли в TStatusPanel сделать Progress Bar...


2-1155897270
Voit
2006-08-18 14:34
2006.09.10
как скопировать выделенную строчку из DBgrid в листбокс!!! help!!