Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизСоставной компонент типа TLabeledEdit Найти похожие ветки
← →
sergvc (2004-07-13 11:43) [0]Уважаемые, вопрос - я сделал составной компонент но поле TEdit не отображается при переносе компонента на форму. Как сделать его видимым?
unit CSEditGrid;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;
type
TCSEditGrid = class(TLabel)
private
{ Private declarations }
FEdit:TEdit;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner:TComponent);override;
published
{ Published declarations }
property Edit:TEdit read FEdit;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents("MyCom", [TCSEditGrid]);
end;
constructor TCSEditGrid.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
FEdit := TEdit.Create(Self);
FEdit.Name := "EditLabel";
FEdit.Show;
FEdit.SetSubComponent(true);
end;
end.
← →
sergvc (2004-07-13 12:04) [1]Можно переформулировать вопрос - как объеденить несколько визуальных компонентов в одном, чтобы они все были видимыми?
← →
Юрий Зотов © (2004-07-13 12:38) [2]FEdit.Name := "EditLabel"; - лишнее.
FEdit.Show; - не поможет.
FEdit.Parent := Self.Parent; - а вот это сделает Edit видимым.
Только при наследовании от TLabel кривоватый компонент получится. Очень советую разобраться, в чем принципиальная разница между классами TWinControl и TGraphicControl. А заодно и с тем, что такое дочерние окна и как строятся визуальные компоненты-контейнеры. Пример есть в Delphi (TSpinEdit).
← →
Tormoz (2004-07-13 12:47) [3]Попробуй:
constructor TCSEditGrid.Create(AOwner:TComponent);
» Юрий Зотов:» fEdit.Parent:=Self; - выдаст ошибку
begin
inherited Create(AOwner);
FEdit := TEdit.Create(Self);
fEdit.Parent:=Self;
FEdit.Name := "EditLabel";
FEdit.Show;
FEdit.SetSubComponent(true);
end;
(TGraphicControl не может быть Parent"ом)
FEdit.Name := "EditLabel"; - лишнее
FEdit.Show; - лишнее
FEdit.SetSubComponent(true); - к сабжу не относится
← →
Mim1 © (2004-07-13 13:25) [4]Можно для автоматизации перекрыть SetParent.
← →
sergvc (2004-07-13 14:14) [5]Спасибо, получилось
← →
Tormoz (2004-07-13 14:57) [6]To » Юрий Зотов:
» fEdit.Parent:=Self; - выдаст ошибку
(TGraphicControl не может быть Parent"ом)
Извиняйте, у меняtype
TCSEditGrid = class( не TLabel а TPanel)
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.038 c