Форум: "Основная";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
ВнизНе могу FindComponent динамически созданый компонент. Найти похожие ветки
← →
NeyroSpace (2002-09-16 15:25) [0]Создаю динамически компонент на TabSheet1, но FindComponent его потом не находит. Хелп!
← →
Anatoly Podgoretsky (2002-09-16 15:29) [1]Приведи код
← →
lenin (2002-09-16 15:38) [2]TabSheet1.FindComponent(), или у тебя не указано имя.
← →
NeyroSpace (2002-09-16 15:40) [3]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Edit:TEdit;
ParentComp:TWinControl;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var n:integer;
comp:TComponent;
begin
Edit := TEdit.Create(nil);
Edit.Name:="Edit";
Edit.Parent:=TabSheet1;
Edit.Text := "";
Edit.Text := String(Edit.Name);
ParentComp := nil;
//ParentComp := TWinControl(Form1.FindComponent("Edit1"));
//ParentComp := TWinControl(TabSheet1.FindComponent("Edit1"));
ParentComp := TWinControl(Form1.FindComponent("Edit"));
//if ParentComp<>nil then Form1.caption:= TEdit(ParentComp).Text;
//Form1.caption:= TEdit(ParentComp).Text;
Form1.caption:= TEdit(Form1.FindComponent("Edit")).text;
for n := 0 to Form1.ComponentCount-1 do
begin
// Comp := Form1.Components[n];
Comp := TabSheet1.Components[n];
MessageBox(0,Pchar((Comp).Name),"",mb_ok);
end;
end;
end.
Это код безуспешных попыток...
← →
McSimm (2002-09-16 15:42) [4]>Edit := TEdit.Create(nil);
И не должен находить.
Indicates whether a given component is owned by the component.
Или пиши
Edit := TEdit.Create(TabSheet1);
Или ищи в списке Controls
← →
Song (2002-09-16 15:42) [5]Интересно... Parent устанавливаете в TTabSheet, а ищите на TForm :)
← →
Anatoly Podgoretsky (2002-09-16 15:46) [6]FindComponent не применим в твоем случае, у него нет сообственика
← →
NeyroSpace (2002-09-16 15:49) [7]А если я создаю так:
procedure TForm1.FormCreate(Sender: TObject);
var n:integer;
comp:TComponent;
begin
Edit := TEdit.Createparented(TabSheet1.Handle);//self
Edit.Name:="Edit";
Edit.Parent:=TabSheet1;
Edit.Text := "";
Edit.Text := String(Edit.Name);
ParentComp := nil;
ParentComp := TWinControl(TabSheet1.FindComponent("Edit"));
Form1.caption:= TEdit(ParentComp).Text;
end;
← →
lenin (2002-09-16 15:58) [8]Наверно мона так:
procedure TForm1.FormCreate(Sender: TObject);
var n:integer;
comp:TComponent;
begin
with TEdit.Create(TabSheet1) do//self
Name:="Edit";
Parent:=TabSheet1;
Text := String(Edit.Name);
end;
Form1.caption:= (TabSheet1.FindComponent("Edit") as TEdit).Text;
end;
У меня работает.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c