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

Вниз

Компонент кнопки со стилем BS_FLAT   Найти похожие ветки 

 
Sp_pnz ©   (2006-01-19 03:28) [0]

Здравствуйте, такой вопрос, хотелось бы создать копонент кнопки с о стилем BS_FLAT ,  в какой стороне копать? как выбрать родителя?


 
Юрий Зотов ©   (2006-01-19 09:26) [1]

Кнопку и выбрать. Добавить булево поле FFlat, свойство Flat, метод SetFlat и перекрыть метод CreateParams. Контрольное время - 5 минут. :о)


 
Sp_pnz ©   (2006-01-20 14:35) [2]

Всё так просто?:)


 
olegz77   (2006-01-20 15:16) [3]

а как обновлять свойство Flat??? Как я понимаю так:  в методе SetFlat надо, наверное, с помощью Get/SetWindowLong установить (или сбросить) флаг BS_FLAT и вызвать RecreateWnd. Так или нет?


 
olegz77   (2006-01-20 15:23) [4]

не. Все намного проще. Я уже сделал.
1. В CreateParams:
inherited CreateParams(Params);
if FFlat then
 Params.Style := Params.Style or BS_FLAT;

2. В SetFlat:

if FFlat <> Value then
begin
 FFlat := Value;
 RecreateWnd;
end;


 
Юрий Зотов ©   (2006-01-20 15:49) [5]


type
 TFlatButton = class(TButton)
 private
   FFlat: boolean;
   procedure SetFlat(const Value: boolean);
 protected
   procedure CreateParams(Params: TCreateParams); override;
 published
  property Flat: boolean read FFlat write SetFlat default False;
 end;

procedure TFlatButton.CreateParams(Params: TCreateParams);
begin
 inherited;
 if FFlat then
   Params.Style := Params.Style or BS_FLAT
end;

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

Это полный код. Пяти минут даже много.
:o)


 
Sp_pnz ©   (2006-01-20 16:26) [6]

Спасибо, получилось, а вот встречный вопрос, а можно ли то же самое проделать, но уже с Родителем  - TbitBtn ?


 
Sp_pnz ©   (2006-01-20 16:40) [7]

У меня не получилось...



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1154019946
zhekacoder
2006-07-27 21:05
2006.08.20
Что такое pointer


3-1150550005
Проходил мимо
2006-06-17 17:13
2006.08.20
Какую БД лучше использовать (в принципе)???


2-1154202701
ronyn
2006-07-29 23:51
2006.08.20
pchar pansichar


1-1151993205
Chaser
2006-07-04 10:06
2006.08.20
Корректное удаление потока (TThread)


1-1152348604
17Landgraf
2006-07-08 12:50
2006.08.20
Не получается прокрутить scroll вниз