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

Вниз

Изменение стандартного компонента.   Найти похожие ветки 

 
MixerPro ©   (2002-10-24 09:01) [0]

Как можно изменить компонент TCheckListBox, чтобы вместо стандартного CheckBox (галки в квадрате), менялось собственное изображение (к примеру темная/светлая лампочка или т.п.) Я так понимаю, что надо создать новый компонент типа TMyCheckListBox от TCheckListBox и переопределить какие-то свойства. Но как?


 
Ученик ©   (2002-10-24 09:03) [1]

RXLib это позволяет


 
Севостьянов Игорь ©   (2002-10-24 11:23) [2]

Что значит как ? Берешь и пишешь. Какие сложности не пойму.
Я к примеру написал TCheckTreeView, а там какие хочешь (на уровне компоненты) картинки вешай. Кстати TCheckListBox - это стандартный Windows "компонент" наследованный от типа BUTTON


 
Игорь Шевченко ©   (2002-10-24 12:19) [3]


> Кстати TCheckListBox - это стандартный Windows "компонент"
> наследованный от типа BUTTON


Бред


 
caH4o   (2002-10-24 12:33) [4]

to Севостьянов Игорь

Небольшая неточность, от самого типа TButton ничего не наследуется

TObject->TPersistent->TComponent->TControl->TWinControl->TButtonControl->TCustomCheckBox->TCheckBox

TObject->TPersistent->TComponent->TControl->TWinControl->TButtonControl->TButton


 
Рыжик ©   (2002-10-24 13:15) [5]


> MixerPro © (24.10.02 09:01)

Можно не создавая никаких компонент над ListView поизвращаться


 
MixerPro ©   (2002-10-24 15:26) [6]

Вы правы. Я все сделал с помощью события OnDrawItem.


 
Севостьянов Игорь ©   (2002-10-25 12:20) [7]


> Игорь Шевченко © (24.10.02 12:19)


> caH4o (24.10.02 12:33)

Прошу прощения немного перепутал с TCustomCheckBox. Я и не говорил о TButton, я же сказал это класс Windows "BUTTON"

procedure TCustomCheckBox.CreateParams(var Params: TCreateParams);
const
Alignments: array[Boolean, TLeftRight] of DWORD =
((BS_LEFTTEXT, 0), (0, BS_LEFTTEXT));
begin
inherited CreateParams(Params);
CreateSubClass(Params, "BUTTON");
...

На самом деле это конечно же "LISTBOX" от Windows

TCheckListBox = class(TCustomListBox)
-------------------------------------------
procedure TCustomListBox.CreateParams(var Params: TCreateParams);
type
PSelects = ^TSelects;
TSelects = array[Boolean] of DWORD;
const
Styles: array[TListBoxStyle] of DWORD =
(0, LBS_OWNERDRAWFIXED, LBS_OWNERDRAWVARIABLE);
Sorteds: array[Boolean] of DWORD = (0, LBS_SORT);
MultiSelects: array[Boolean] of DWORD = (0, LBS_MULTIPLESEL);
ExtendSelects: array[Boolean] of DWORD = (0, LBS_EXTENDEDSEL);
IntegralHeights: array[Boolean] of DWORD = (LBS_NOINTEGRALHEIGHT, 0);
MultiColumns: array[Boolean] of DWORD = (0, LBS_MULTICOLUMN);
TabStops: array[Boolean] of DWORD = (0, LBS_USETABSTOPS);
CSHREDRAW: array[Boolean] of DWORD = (CS_HREDRAW, 0);
var
Selects: PSelects;
begin
inherited CreateParams(Params);
CreateSubClass(Params, "LISTBOX");
...


 
Игорь Шевченко ©   (2002-10-25 12:48) [8]

Севостьянов Игорь © (25.10.02 12:20)

:-)

Справедливость восстановлена

:-)



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
4-11566
Sbabay
2002-09-23 19:46
2002.11.04
Winapi32


1-11205
Oleg_G
2002-10-23 20:05
2002.11.04
Помогите узнать размер любого файла


14-11459
Jackson
2002-10-15 23:49
2002.11.04
Игра по модему


1-11258
CrowD
2002-10-22 15:30
2002.11.04
Как обратится к элементу динамического массива?


8-11340
Val
2002-07-12 10:23
2002.11.04
Соединение .wav-файлов в один