Главная страница
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.023 c
14-11451
sayjay
2002-10-15 21:29
2002.11.04
Хочу сдалать TReplaceDialog много функциональным помогите!!!


1-11279
yuriki
2002-10-23 12:31
2002.11.04
problems with Excel


1-11238
Dankin
2002-10-25 02:37
2002.11.04
Подскажите плз. Как подкрасить числа на календаре, несколько штук


8-11346
ArtUl
2002-06-28 03:55
2002.11.04
Помогите с bmp-шкой. ПЛИЗЗЗ!!!!!


1-11299
Xia
2002-10-23 14:24
2002.11.04
Read/write из/в файл