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

Вниз

Создание компонента   Найти похожие ветки 

 
webpauk   (2005-11-18 10:52) [0]

Пытаюсь создать новый Tedit, включающий в себя еще 1 компонент(TCheckBox):
Tedit.Create;
begin
  fCheckBox:=TCheckBox.Create(Self);
  inherited;
end;


вроде как в инспекторе объектов он виден, а графически на форме никак не виден. Подкажите в чём трабл.


 
ancara ©   (2005-11-18 10:59) [1]

fCheckBox.Parent:=Self;


 
webpauk   (2005-11-18 11:06) [2]

дык, он появляется внутре Tedit, а надо бы чтоб на форму вылазил


 
ancara ©   (2005-11-18 11:11) [3]

fCheckBox.Parent:=Self.Owner;


 
webpauk   (2005-11-18 11:16) [4]


> ancara ©

ошибочка, блин


 
ancara ©   (2005-11-18 12:37) [5]

В чем ошибка, то что Parent: TWinControl а Owner: TComponent?
Дык можно так: Parent := TWinControl( Owner );
Да и вообще Owner не обязательно использовать, можно fCheckBox.Parent:=Self.Parent;


 
Leonid Troyanovsky ©   (2005-11-18 13:01) [6]


> ancara ©   (18.11.05 11:11) [3]
> fCheckBox.Parent:=Self.Owner;


SetParent; override;

Только, все равно, это будут два несогласованных контрола.
Такие комбинации должны делаться из какого-нибудь TCustomEdit
с самостоятельным рисованием CheckBox. Ну, и реализации его поведения.

Хотя, возможно, что можно правильно посадить на EDIT и сам чекбокс.
Т.е., это вопрос для "Компоненты".

--
Regards, LVT.


 
webpauk   (2005-11-18 13:07) [7]

слямзил всё с TLabeledEdit!

есть правда вопросик: хочу повесить дополнительную обработку на OnChange внутри компонента Tedit -

procedure TEditCheck.Change;
begin
 inherited Changed;
 ...
 if Assigned(FOnChange) then FOnChange(Self);
end;



не обрабатывается. Подскажите как правильно


 
Leonid Troyanovsky ©   (2005-11-18 13:27) [8]


> webpauk   (18.11.05 13:07) [7]

> procedure TEditCheck.Change;
> begin
>  inherited Changed;
>  ...
> end;

> не обрабатывается. Подскажите как правильно


Правильнее б было либо inherited; либо Changed.
Про остальное можно рассуждать зная класс TEditCheck.

--
Regards, LVT.


 
webpauk   (2005-11-18 13:34) [9]


> Leonid Troyanovsky ©  

TEditCheck = clasS(TEdit)


 
webpauk   (2005-11-18 13:41) [10]

справился



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
2-1133539320
Максим
2005-12-02 19:02
2005.12.18
Дали 3 упражнения связанные со строкой Edit


2-1133183927
kblc
2005-11-28 16:18
2005.12.18
TComboBox


9-1122150518
Иггорь
2005-07-24 00:28
2005.12.18
Как сделать точный таймер?


2-1133393751
Юрий Ж.
2005-12-01 02:35
2005.12.18
[?]TClientSocket & TServerSocket


8-1121407670
Хинт
2005-07-15 10:07
2005.12.18
Pixels, ScanLine и Массив