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

Вниз

Создание MDIChild-формы в фоне (не выводя наверх).   Найти похожие ветки 

 
alexvir ©   (2004-04-05 12:34) [0]

Господа коллеги, помогите с такой проблемой. есть MDI-приложение. нужно чтобы MDIChild-формы создавались в фоне, а не вылазили поверх уже открытых?
Дело в том, что форма при операторе TFormChild.Create(Self) уже выводится на экран, а предыдущая открытая теряет фокус, даже если потом созданную я отправляю в фон.

Заранее надеюсь на помощь...

Свами Фдуч МшК.


 
sir John ©   (2004-04-05 13:21) [1]

может быть пойти по такому алгоритму:
1. получить Handle окна, на котором фокус
2. Создать новое окно. Свернуть его.
3. По полученному ранее Hanlde найти открытое окно и передать ему фокус


 
Stas ©   (2004-04-05 13:23) [2]

А ты ее создавай с formstyle:=Normal, а когда нужно ее показать меняй это свойство на formstyle:=fsMdiChild


 
alexvir ©   (2004-04-08 08:59) [3]

спасибо за ответы. вобщем-то я был на полпути реализации метода, предложенного Stas, только подумал, что должен быть более рациональный метод. в итоге сделал - и получил результат, но все равно, когда форма переводится из FormStyle=fsNormal в fsMDIChild - возникают мерцания при перерисовке и максимизации окна... это и смущает. но главная цель решена.


 
sir John ©   (2004-04-08 10:35) [4]

Насколько я помню, мерцание - это стандартный баг(?) MDI приложений. Эта тема уже поднималась на форуме. Поищи в архивах. Помоему даже предлагались варианты решения этой проблемы


 
alexvir ©   (2004-04-14 09:23) [5]

To sir John>>>>>
может ты мне найдешь этот пример? и где тут архив, чей-то я его не наблюдаю?


 
AlexSV ©   (2004-04-14 10:33) [6]

прописываем:

procedure TMDIChildForm.FormCreate(Sender: TObject);
begin
 Exclude(FFormState, fsVisible);
end;

а там где необходимо:
...
MDIChild := TMDIChildFrm.Create(Self);
MDIChild.Visible := True;
...



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
7-1077526364
DiFar
2004-02-23 11:52
2004.05.02
Блокировка нажатия клавиш Windows


11-1066404606
AD_infiniTUM
2003-10-17 19:30
2004.05.02
Applet.ProcessMessages


4-1078828816
eRoR
2004-03-09 13:40
2004.05.02
Как узнать имя окна, активного в данный момент


14-1081244344
kaif
2004-04-06 13:39
2004.05.02
Принуждение и благо


1-1081762668
-kiril
2004-04-12 13:37
2004.05.02
Как указать "родителя"