Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

PageControl на Form1 + Form2 на TabSheet...   Найти похожие ветки 

 
Apophis ©   (2004-11-17 18:45) [0]

Господа!
Ситуация такая. Есть Форма1, на ней PageControl. Есть форма2. Изначально немного неправильно продумал логику работы, так вот, можно ли теперь Форму2 перенести со всеми компонентами и их событиями на страницу PageControl-а Формы1 ??? Или как лучше такое сделать?

Спасибо!


 
Гаврила ©   (2004-11-17 19:15) [1]

Можно
создать форму, присвоить парентом TabSheet, выставить размеры


 
Shaman_Naydak   (2004-11-17 19:31) [2]

или поправь для формы2, чтобы она наследовалась от TFrame, а не от TForm.. И далее вставишь как фрейм.. только делай на копии сперва, если не пробовал так баловаться


 
Defunct ©   (2004-11-17 19:35) [3]

> Или как лучше такое сделать?

Создать фрейм.
Перенести все с формы2 в фрейм. Фрейм вставить в TabSheet


 
wnew ©   (2004-11-17 20:02) [4]


> Перенести все с формы2 в фрейм. Фрейм вставить в
> TabSheet

А перенести один к одному проще всего, удерживая нажатой Shift кликнуть мышью по каждому компоненту, далее Ctrl+C, а потом сделать активным создаваемый фрейм или прямо TabSheet и - Ctrl+V.


 
Apophis ©   (2004-11-17 21:53) [5]

wnew
Но только в этом случае события элементов не переносятся. Придется заново переписывать (а вот именно это и влом:) )


 
Defunct ©   (2004-11-17 22:03) [6]

Apophis ©   (17.11.04 21:53) [5]

переносятся. просто TForm1. замените на TFrame1.


 
Apophis ©   (2004-11-17 22:15) [7]

ОК, попробую. Спасибо!


 
Ihor Osov'yak ©   (2004-11-18 00:30) [8]

Примерно так:

var
 idxNewTab: integer;
...  

 procedure InsertForm2(aParentTab: TTabSheet);
 var
   form: TForm2;
 begin
   form := TForm2.Create(nil);

   with form do
   begin
     BorderStyle := bsNone; {зачем нам капшен здесь :-)}
     Parent := aParentTab;  {собственно - ключевой момент}
     Align := alClient;     {это очевидно}
     Visible := true;        
   end;
 end;

 procedure AddWBMsgRoutersTab;
 var
   ts: TTabSheet;
 begin
   // создаем закладку в рантайме
   inc(idxNewTab);
   ts := TTabSheet.Create(self);

   with ts do
   begin
     Name := "ts" + IntToStr(idxNewTab); {имя либо вообще не присваеваем, либо оно должно біть уникально в пределах формы, хостещей соотв. пейдконтрол }
     Align := alClient;
     Caption := "tab #" + IntToStr(idxNewTab);

     PageControl := PageControlMain; //  PageControlMain -  пейджонтрол
     Visible := true;
   end;

   PageControlMain.ActivePage := ts;
   InsertForm2(ts);

...


зы. Написано по памяти, возможны мелкие ошибки синтаксиса, не искажающие сути..  

зы2. Примерно такую технику использую довольно часто, иногда есть преимущество по сравнению с использованием фреймов.



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

Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.05 c
1-1100794807
snake1977
2004-11-18 19:20
2004.12.05
DLL entryPoint


1-1101313562
Ilg
2004-11-24 19:26
2004.12.05
Variable Name Expected


3-1100000551
Rule
2004-11-09 14:42
2004.12.05
Вопрос по хранимым процедурам в Фаерберде


14-1100731463
KilkennyCat
2004-11-18 01:44
2004.12.05
И еще немного о форумах. Какими они должны быть?


4-1098342720
gris
2004-10-21 11:12
2004.12.05
Простой вопрос! Подскажите, как узнать серийный номер сетевой кар





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский