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

Вниз

Запретить отображаться 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.213 c
1-6433
MAXXX
2003-03-23 16:59
2003.04.03
Многострочная ячейка. КАК ЭТО СДЕЛАТЬ ????


1-6447
TankMan
2003-03-17 00:04
2003.04.03
Если ли функции сложения, вычитания или получения разницы между..


14-6792
Мазут Береговой
2003-03-18 01:35
2003.04.03
Что такое 86 smopuim?


14-6666
seledka
2003-03-18 11:08
2003.04.03
Киньте ссылочку, пожалуйста!


14-6698
dimich1978
2003-03-18 13:17
2003.04.03
МАСТАКИ из ПЕНЗЫ давайте встретимся.