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

Вниз

Как добавить 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
3-1151580901
KygECHuK
2006-06-29 15:35
2006.09.10
Работа с ClientDataSet


2-1156068282
Neket
2006-08-20 14:04
2006.09.10
Буфер обмена


3-1151305951
MsGuns
2006-06-26 11:12
2006.09.10
Определить список серверов


15-1155800592
Ketmar
2006-08-17 11:43
2006.09.10
господа, проверьте на работоспособность, плиз...


15-1156175964
Чапаев
2006-08-21 19:59
2006.09.10
Photoshop. Прозрачность.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский