Главная страница
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.041 c
15-1153430033
QuickFinder
2006-07-21 01:13
2006.08.20
Игры на ZX-Spectrum: Back To Skool


15-1153550962
DillerXX
2006-07-22 10:49
2006.08.20
Второй раз пытаюсь - опять никак :(


15-1153988631
PSPF2003
2006-07-27 12:23
2006.08.20
Китай готов взять в Сибири в аренду 1 млн га леса


10-1122270321
Yurisimus
2005-07-25 09:45
2006.08.20
Формат ячеек в Excel


2-1154066675
Neket
2006-07-28 10:04
2006.08.20
Проблема с фильтром в DBGrid