Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Вниз

Компонент кнопки со стилем 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.038 c
2-1154326119
rasperepodvipodvert
2006-07-31 10:08
2006.08.20
Frame vs Delphi


15-1153473263
otadoiu
2006-07-21 13:14
2006.08.20
QIP...


2-1153952634
vain
2006-07-27 02:23
2006.08.20
Проект привык к dll


4-1146132097
D@Nger
2006-04-27 14:01
2006.08.20
Удаление дерева каталогов


15-1153777222
QuickFinder
2006-07-25 01:40
2006.08.20
Code::Blocks Studio





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский