Главная страница
    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.46 MB
Время: 0.04 c
3-1151855425
bva
2006-07-02 19:50
2006.09.10
AS 400


9-1135003633
GameMac
2005-12-19 17:47
2006.09.10
Видовая матрица


2-1156164174
XTD
2006-08-21 16:42
2006.09.10
Как создать дочернее окно?


2-1156351627
тире
2006-08-23 20:47
2006.09.10
GUID To array of Byte и обратно.


3-1151919542
Mishenka
2006-07-03 13:39
2006.09.10
База видна только на компьютерах, на которых установлена Delphi





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