Здравствуйте, _Student_, Вы писали:
_S_>Доброе время суток уважаемой конфе...
_S_>Подскажите пожалуйста, как мне правильо создать визуальную компоненту и разместить ее на форме в run-time?
_S_>пробовал что-то типа этого:
_S_>
_S_>TButton *Btn = new TButton(Form1);
_S_>
_S_>вроде бы оно создается но на форме его не видно....
_S_>вообще суть в том, что мне надо на форму накидать заранее неизвестное количество однотипных элементов. к каждому из них при этом должен быть доступ.
_S_>Буду благодарен за любые пояснения. спасибо.
А ты потом динамически установи свойство visible в true и размеры с положением задачй.
Btn->Visible=truel Btn->Top=...
....
Здравствуйте, _Student_, Вы писали:
_S_>Доброе время суток уважаемой конфе...
_S_>Подскажите пожалуйста, как мне правильо создать визуальную компоненту и разместить ее на форме в run-time?
_S_>пробовал что-то типа этого:
_S_>
_S_>TButton *Btn = new TButton(Form1);
_S_>
_S_>вроде бы оно создается но на форме его не видно....
_S_>вообще суть в том, что мне надо на форму накидать заранее неизвестное количество однотипных элементов. к каждому из них при этом должен быть доступ.
_S_>Буду благодарен за любые пояснения. спасибо.
Я например делал так:
procedure TForm1.Button1Click(Sender: TObject);
var
I:Integer;
S: String;
begin
FList := TList.Create;
for I := 0 to ListBox1.Items.Count-1 do begin // у меня в listbox несколько элементов
with TSpinEdit(FList[FList.Add(TSpinEdit.Create(Self))]) do begin // по кол-ву элементов создаю SpinEdit-ы
Parent := Self;
Left := 4;
Top := 2+i*22;
Width := 80;
Tag:=I;
S:=ListBox1.Items[I];
Text:=Copy(S,1,Pos('ms',S)-1);
OnChange:=SpinEdit1Change;
end;
with TEdit(TEdit.Create(Self)) do begin
Parent := Self;
Left := 90;
Top := 2+i*22;
Width := 80;
Tag:=I;
S:=ListBox1.Items[I];
Text:=Copy(S,Pos('ms',S)+3,Length(S)-Pos('ms',S)+1);
OnChange:=Edit1Change;
end;
Здравствуйте, _Student_, Вы писали:
_S_>Доброе время суток уважаемой конфе...
_S_>Подскажите пожалуйста, как мне правильо создать визуальную компоненту и разместить ее на форме в run-time?
_S_>пробовал что-то типа этого:
_S_>
_S_>TButton *Btn = new TButton(Form1);
_S_>
_S_>вроде бы оно создается но на форме его не видно....
_S_>вообще суть в том, что мне надо на форму накидать заранее неизвестное количество однотипных элементов. к каждому из них при этом должен быть доступ.
_S_>Буду благодарен за любые пояснения. спасибо.
Все делаю как сказали.
В итоге получается:
TButton *Btn = new TButton(Form1);
Btn->Parent = Panel1; // Панелька на форме валяется
Btn->SetBounds(10,10,100,100);
При выполнении второй строки получаю:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOSError with message 'System Error. Code: 1410.
Class already exists'. Process stopped. Use Step or Run to continue.
---------------------------
Здравствуйте, _Student_, Вы писали:
_S_>Доброе время суток уважаемой конфе...
_S_>Подскажите пожалуйста, как мне правильо создать визуальную компоненту и разместить ее на форме в run-time?
_S_>пробовал что-то типа этого:
_S_>
_S_>TButton *Btn = new TButton(Form1);
_S_>
_S_>вроде бы оно создается но на форме его не видно....
_S_>вообще суть в том, что мне надо на форму накидать заранее неизвестное количество однотипных элементов. к каждому из них при этом должен быть доступ.
_S_>Буду благодарен за любые пояснения. спасибо
Да кстати забыл сказать. на форме уже есть одна кнопка с именем Button1. Может в этом дело?
> From: _Student_ http://www.totalprogramming.narod.ru/ > Здравствуйте, _Student_, Вы писали:
_S_>>Доброе время суток уважаемой конфе...
_S_>>Подскажите пожалуйста, как мне правильо создать визуальную компоненту _S_>>и разместить ее на форме в run-time?
_S_>>пробовал что-то типа этого:
_S_>> _S_>TButton *Btn =new TButton(Form1);_S_>
_S_>>вроде бы оно создается но на форме его не видно....
_S_>>вообще суть в том, что мне надо на форму накидать заранее неизвестное _S_>>количество однотипных элементов. к каждому из них при этом должен быть _S_>>доступ.
_S_>>Буду благодарен за любые пояснения. спасибо
За синтаксис С++ ручаться не буду, а в Delphi это так:
> From: DangerDen > Здравствуйте, kavlad, Вы писали:
K>>Здравствуйте, _Student_, Вы писали:
_S_>>> _S_>>TButton *Btn =new TButton(Form1);_S_>>
K>>После создания экземпляра надо в свойство Parent кнопки назначить эту K>>форму. Или использовать метод формы InsertControl.
> А в конструктор разве не Parent передается?
Здравствуйте, _Student_, Вы писали:
_S_>Доброе время суток уважаемой конфе...
_S_>Подскажите пожалуйста, как мне правильо создать визуальную компоненту и разместить ее на форме в run-time?
_S_>пробовал что-то типа этого:
_S_>
_S_>TButton *Btn = new TButton(Form1);
_S_>
_S_>вроде бы оно создается но на форме его не видно....
_S_>вообще суть в том, что мне надо на форму накидать заранее неизвестное количество однотипных элементов. к каждому из них при этом должен быть доступ.
_S_>Буду благодарен за любые пояснения. спасибо.
Подпиши сроку ниже Btn->Parent=Form1;
Ну и Height, Width, Top, Left cоответственно проставь какие надо