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

Вниз

Клонировать форму   Найти похожие ветки 

 
Ш-К   (2004-06-02 15:08) [0]

В рантайм есть форма со своими заданными свойствами, компонентами и заданными свойствами компонент.
Как, в рантайм же, создать "копию" формы?


 
Анонимщик ©   (2004-06-02 16:39) [1]

Смотри хелп на слово VMT.


 
WebErr ©   (2004-06-02 17:37) [2]

Forma := Forma.Create(Application);


 
Gero ©   (2004-06-02 17:45) [3]


> Forma := Forma.Create(Application);

Бред.


 
WebErr ©   (2004-06-02 18:09) [4]

Описался
Form666 = TForm666.Create(Application);


 
vvvaaa   (2004-06-02 19:08) [5]

TSubForm.Create(self);
или
TSubForm.Create(Application);
Не забудь сохранить её хендл, если будеш программно обращаться к ней далее.


 
Fay ©   (2004-06-02 19:21) [6]

А почему именно хендл? Почему бы не Caption или Tag?


 
Семен Сорокин ©   (2004-06-02 19:23) [7]

проще ссылку :))


 
vvvaaa   (2004-06-02 19:24) [8]

>Fay ©  
Интересно узнать и как же ты собираешся обратиться к форме по Caption???


 
Семен Сорокин ©   (2004-06-02 19:30) [9]

vvvaaa   (02.06.04 19:24) [8]
>Fay ©  
Интересно узнать и как же ты собираешся обратиться к форме по Caption???

FindWindow
Screen.Forms
выбирай любой


 
Fay ©   (2004-06-02 19:52) [10]

2vvvaaa   (02.06.04 19:24) [8]
Интересно узнать и как же ты собираешся обратиться к форме по Handle???


 
Ш-К   (2004-06-03 09:14) [11]

Прошу прощения, уточняю вопрос.
Форма в дезайнтайм не создаётся. Компоненты тоже создаются в рантайм. Эмуляция IDE and Object Innspector. Хотелось бы эти формы воссоздавать.


 
Black Krok   (2004-06-03 10:12) [12]

Записать форму в поток и восстановить ее оттуда
Примерно так:

var
Stream : TMemoryStream;
Reader : TReader;
begin
Stream := nil;
Reader := nil;
try
 Stream := TMemoryStream.Create;
 Stream.SaveComponents(Self);
 Stream.Position := 0;
 // собственно клонирование
 Second_Form.SetDesigning(true,true);
 Reader := TReader.Create(Stream,4096);
 Reader.ReadComponents(Second_Form);
finally
 Stream.Free;
 Reader.Free;
end;
end;


Текст набран по памяти и использовался для клонирования панелей в рамках одного окна. Там была проблема с одинаковыми именами. Отсюда использование TReader(у него перекрывалось событие). Может поможет и просто вызов Stream.ReadComponent()


 
Black Krok   (2004-06-03 10:14) [13]

Предполагается, что Second_Form уже есть и правильного типа  :)))


 
Ш-К   (2004-06-03 12:30) [14]

Да. Потоки - то что надо



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

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

Наверх




Память: 0.49 MB
Время: 0.044 c
6-1083231348
oleg1234
2004-04-29 13:35
2004.06.20
INDY IdMappedPortTCP Помогите пожалуйста!!!


1-1086623112
red chief
2004-06-07 19:45
2004.06.20
текст в указанном мышкой месте


3-1085722879
Смертник
2004-05-28 09:41
2004.06.20
Помогите пожалуйста с DBGrid.


1-1086603969
Алексей
2004-06-07 14:26
2004.06.20
Как сохранить в файл TListItem


9-1077301746
Creep
2004-02-20 21:29
2004.06.20
Скажите ктонибудь пожалуйста где скачать Delphix