Главная страница
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.039 c
14-1081658051
Vaitek
2004-04-11 08:34
2004.05.02
Мелкософт блин совсем жадный стал.


3-1081397756
Алексей 2
2004-04-08 08:15
2004.05.02
запрос по двум связанным таблицам


3-1081082712
SergP
2004-04-04 16:45
2004.05.02
integer --> datetime. Как это сделать в запросе?


3-1080906055
Дмитрий
2004-04-02 15:40
2004.05.02
CONNECT TO FIREBIRD через Инет!!! Хелп!


7-1079018077
cULt
2004-03-11 18:14
2004.05.02
Как заменить байт???