Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
ВнизИзменение стандартного компонента. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c