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

Вниз

Запретить отображаться MDIChild автоматически при создании   Найти похожие ветки 

 
Sectey   (2003-03-21 09:24) [0]

Как запретить отображаться MDIChild при создании формы?
Я создаю форму так: fmMDIChild := TfmMDIChild.Create(Application) но при этом форма отображается сразу, а мне надо чтобы отображение происходило по моему требованию, не подскажите как это сделать?


 
Polevi   (2003-03-21 09:29) [1]

FormStyle=fsNormal
Create
FormStyle=fsMdiChild

но есть свои недостатки в этом способе


 
Sectey   (2003-03-21 10:48) [2]

>Polevi
Какие недостатки?


 
asafr   (2003-03-21 10:55) [3]

Можно поместить эту форму в Project Option -> Forms, поле Available forms, а потом уже открывать ее там, где необходимо...


 
Sectey   (2003-03-21 11:01) [4]

>asafr
Все правильно но при создании формы fmMDIChild := TfmMDIChild.Create(Application) она сразу выводится на экран.
А мне надо чтобы я форму создал.
Выставил необходимые параметры.
И лишь потом отобразил.


 
Polevi   (2003-03-21 11:25) [5]

недостатки связаны с поведением некоторых элементов управления (например TreeView) при FormStyle:=fsMdiChild


 
Sectey   (2003-03-21 11:45) [6]

>Polevi ©
А другого спосаба нет?


 
asafr   (2003-03-21 12:22) [7]

Тогда надо написать динамическую библиотеку, содержащую MDIChild форму. Правда при ее вызове надо будет немного исхитриться, так как при вызове VCL проверяет FormStyle главной формы. Проверяется Application, принадлежащей динамической библиотеке, а в ней главной формы нет. Поэтому выдается ошибка.
И чтобы не было ошибки-надо назначить объекту Application динамической библиотеки - Application вызывающего приложения.
Что-то, вроде:
procedure MDIChildShow(MApp : TApplication);
var
FmChild : TMDIChild;
begin
if not Assigned(ApplicDLL) then begin
ApplicDLL := Application;
Application := MApp;
end;
FmChild := TMDIChild.Create(Application.MainForm);
FmChild.Show;
end;
Во всяком случае - попробуй... Попытка - не пытка...


 
Игорь Шевченко   (2003-03-21 12:26) [8]

Очень неплохой совет, к сожалению, не помню автора.
procedure TfChild.FormCreate(Sender: TObject);
begin
Exclude(FFormState, fsVisible);
end;



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

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

Наверх





Память: 0.46 MB
Время: 0.008 c
3-6372
QUE
2003-03-14 14:57
2003.04.03
Oracle DataType LONG


14-6691
Карлсон
2003-03-18 22:26
2003.04.03
Flash - память.


3-6399
td
2003-03-13 18:20
2003.04.03
сжать таблицу


3-6405
Pk
2003-03-14 22:18
2003.04.03
Подсчитать число записей в группе(QReport)


1-6451
Sliski Slimak
2003-03-21 16:45
2003.04.03
Плагины





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