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

Вниз

Невидимая MDIChild форма   Найти похожие ветки 

 
jiurajhgjhgty   (2004-01-05 21:48) [0]

Есть Mdi приложение.Есть дочерняя форма, которая в проекте записанна как AutoCreate forms.Как только загружается главная форма, то в ней сразу же видно и дочернюю.А я не хочу чтобы пользователь видел ее раньше времени.Хотелось бы воспользоваться методами Show и Hide чтобы показывать и убирать ее когда мне нужно.Заносить ее в Aviable forms я не хочу, так как потом прийдется самому ее создавать, да и работать так с ней неудобно.Visible=false сделать дельфя не дает, пишет нельзя так делать с mdi формами.Как быть?


 
sniknik   (2004-01-05 23:21) [1]

занести в Aviable и создавать/уничтожать по надобности, даже если не хочется. думаеш другим легко? ;)
она (дельфя) правду говорит, нельзя...


 
Aleksey   (2004-01-06 07:24) [2]

допустим Form2 -дочерняя форма
из файла проекта убираешь строчку
Application.CreateForm(TForm2, Form2);


 
Тимохов   (2004-01-06 10:47) [3]

jiurajhgjhgty (05.01.04 21:48)
С этими, блин, MDI формами в реализации дельфи я воюю давно. Мой метод решения подобной задачи заключается в том, чтобы форму описывать как fsNormal c Visible := false. Потом при необходимости FormStyle := fsMDIChild. В этом случае форма автоматически покажется. Попробуй, если не получится я посмотрю в своих исходниках внимательнее - может я что-то упустил.

Другой вопрос, что Aleksey © (06.01.04 07:24) [2], тоже верно.

Отличие моего метода и метода [2] состоит в том, что в моем случае форма все-таки существует, но не видна, а в [2], не существует.

Какое поведение формы для тебя приемлемо - решай сам.

Я использую свой метод, для того, чтобы форму перед показом приготовить - выставить размеры некоторых компонентов и формы, что-то заполнить строками из ресурса и т.д. Если это делать не в скрытом режиме, то будет на экране все немного мелькать.


 
sniknik   (2004-01-06 14:21) [4]

> из файла проекта убираешь строчку
> Application.CreateForm(TForm2, Form2);
то же самое что "занести в Aviable", но вручную.

> Я использую свой метод, для того, чтобы форму перед показом приготовить ...
делай в onCreate мелькать не будет. извращения не понадобятся.


 
Тимохов   (2004-01-06 15:03) [5]

sniknik © (06.01.04 14:21) [4]
Соглаен. Может быть и так можно.
Дело в том, что данный метод пришел ко мне еще их д3. Там вроде как по-другому не получалось...


 
Тимохов   (2004-01-06 15:22) [6]

sniknik © (06.01.04 14:21) [4]
Вы меня прамо смутили: и правда, почему я не делаю все в OnCreate. Ведь, действительно, ничего не мигает.

Порылся и понял, что данный метод мне не подходит, т.к. при инициализации идет навороченная работа с месагами по PostMessage и форму нужно показать, только когда последнее отработает. Одним словом есть потребность MDI child выполнить OnCreate до конца и оставить форму невидимой.

СУХОЙ ОСТАТОК
Все, что я говорил выше - полная фигня. Все это преминимо для специфических задач и неприменимо в общем случае.
Все.



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

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

Наверх





Память: 0.46 MB
Время: 0.011 c
3-49459
AVP_opck
2003-12-18 06:50
2004.01.16
как проверить существование таблицы


7-49791
Александр из Минска
2003-10-30 23:17
2004.01.16
Во всех ли Виндах есть файл regsvr32.exe?


14-49704
MadAngel
2003-12-25 16:14
2004.01.16
Помогите с The Bat om


1-49627
Depo
2004-01-04 16:01
2004.01.16
Перекрытие стандарных методов в компонентах


14-49753
Sha_Man
2003-12-24 13:04
2004.01.16
Помогите найти





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский