![]() |
|
|
#1
|
|||
|
|||
|
У меня на форме есть панель, на панели добавлено множество компонентов, можно ли как-нибудь перенести эту панель на другую форму (там нужна аналогичная)?
|
|
#2
|
|||
|
|||
|
эм. в рантайме или в дизайне?
|
|
#3
|
|||
|
|||
|
Выделяете панель, Ctrl+C переходите к своей второй форме, там Ctrl+V. Останется только методы перенести
|
| Этот пользователь сказал Спасибо ChinYan за это полезное сообщение: | ||
Пионер (20.03.2012)
| ||
|
#4
|
|||
|
|||
|
Мне бы, чтобы эта же самая панель использовалась, просто её на другую форму перенести!
|
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
|||
|
|||
|
Цитата:
Во время работы программы или во время работы с delphi? Если второй вариант, то решение описано выше. |
|
#7
|
|||
|
|||
|
Во время работы программы!
|
|
#8
|
|||
|
|||
|
Цитата:
Фрейм - это почти как форма. Размещаете на ней компоненты/пишите обработчики, а потом в нужных местах ее помещаете (для дизайн-тайм) или создаете динамически, как любой другой объект. Последний раз редактировалось nixel, 20.03.2012 в 21:05. |
| Этот пользователь сказал Спасибо nixel за это полезное сообщение: | ||
Пионер (20.03.2012)
| ||
|
#9
|
|||
|
|||
|
Скопируйте как вам подсказали выше, а в новых компонентах пропишите выполнение обработчиков первых. Например: у вас в первой форме на первой панели есть Button1 в ее обработчике OnClick прописан нужный код, вы копируете эту панель в нужное место, у нужной кнопки создаете обработчик OnClick и пишете там Form1.Button1.Click;
Только не забудьте добавить Unit1 в модуль Uses новой формы. |
|
#10
|
||||
|
||||
|
Цитата:
Код:
...
procedure TForm1.Button1Click(Sender: TObject);
begin
if Panel1.Parent=Self then
begin
Form2.Show;
Panel1.Parent:=Form2;
end else
begin
Form2.Hide;
Panel1.Parent:=Self;
end;
end;
... |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
nixel (21.03.2012)
| ||
|
#11
|
|||
|
|||
|
Спасибо, интересный способ, возьму на заметку =)
Но, как я понял, топик-стартеру нужно две параллельно работающие панели. |