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

Вниз

TObj = class(TGraphicControl)   Найти похожие ветки 

 
Isaak   (2006-06-22 15:18) [0]

Создаю компонент. Идея компонента - объединение в себе TLabel, TEdit и др.
Проблема. При проектировании формы вытаскиваю это компонент на форму. Создаются два - первый Obj1 там, где щелкнул мышкой и второй TLabel в левом верхнем углу формы с пустым свойством Name. Что я неправильно сделал и как сделать так, чтобы TLabel появлялся внутри Obj1?


 TObj = class(TGraphicControl)
 private
   FLabel: TLabel;
 public
   constructor Create(AOwner: TComponent); override;
 end;

constructor TObj.Create(AOwner: TComponent);
begin
 inherited;
 FLabel := TCustomLabel.Create(AOwner);
 FLabel.Parent := TWinControl(AOwner);
end;


 
StriderMan ©   (2006-06-22 15:23) [1]

вот здесь
FLabel.Parent := TWinControl(AOwner);

явно указывается что FLabel должен рисоваться на родителе Obj1

A родителем Obj1 является форма или что-то на чем он лежит. Вот лэйбл на форме и рисуется.

По поводу Name. Он автоматически не заполняется.


 
Isaak   (2006-06-22 15:34) [2]

Я неправильно выбрал родительский класс. Нужно TGraphicControl заменить на TWinControl. А в конструкторе написать
FLabel.Parent := TWinControl(self);


 
Isaak   (2006-06-22 15:35) [3]


> StriderMa

Спасибо, что навели на мысль


 
StriderMan ©   (2006-06-23 15:25) [4]


> FLabel.Parent := TWinControl(self);

в случае если

> TGraphicControl заменить на TWinControl

можно просто Self;

но TWinControl не имеет свойства Canvas. Приедтся прикурчивать его ручками. Можно посмотреть как в TGraphicControl сделано.



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

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

Наверх




Память: 0.47 MB
Время: 0.047 c
15-1173842494
Slider007
2007-03-14 06:21
2007.04.08
С днем рождения ! 14 марта


15-1173974684
Megabyte
2007-03-15 19:04
2007.04.08
Что выбрать: VS.NET или Delphi2006.NET?


2-1174317857
Malik
2007-03-19 18:24
2007.04.08
Вопрос по StringGrid y


2-1173990985
dzhagr
2007-03-15 23:36
2007.04.08
SQL create table


2-1173807982
Hollander
2007-03-13 20:46
2007.04.08
Замена Пуск->Выполнить