Главная страница
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.04 c
4-1147525423
pirate
2006-05-13 17:03
2006.09.10
Запуск программы с админскими правами


15-1155918518
Ketmar
2006-08-18 20:28
2006.09.10
DMClient -- диверсант.


2-1155916392
kami
2006-08-18 19:53
2006.09.10
Коннект 2-х TServerSocket


9-1115392165
OSokin
2005-05-06 19:09
2006.09.10
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.4)


2-1155665628
Edu.1982
2006-08-15 22:13
2006.09.10
Карты