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

Вниз

Вызов формы без деактивации текущей формы   Найти похожие ветки 

 
ViToTiV   (2009-08-27 14:36) [0]

Подскажите, как мне показать динамическую форму, но что бы она не деактивировала текущую форму (это может быть главная, а может быть и другая динамическая)?
Можно на activate поставить
SendMessage(Screen.ActiveForm.Handle, WM_NCACTIVATE, 1, 0);
Но это не работает, если владелец формы GetDesktopWindow (что бы отображалась кнопка на таскбаре)


 
Leonid Troyanovsky ©   (2009-08-27 14:46) [1]


> ViToTiV   (27.08.09 14:36)  

> Подскажите, как мне показать динамическую форму, но что
> бы она не деактивировала текущую форму (это может быть главная,
>  а может быть и другая динамическая)?

Попробуй так:

procedure TFormX.ShowNA;
begin
 ShowWindow(Handle, SW_SHOWNA);
 Visible := True;
end;

--
Regards, LVT.


 
ViToTiV   (2009-08-27 16:03) [2]

Спасибо, помогло :)
Притом я вспомнил, что уже это где-то использовал.

Тогда ещё вопрос в продолжение этой темы. Как мне потом закрыть эту форму, но что бы после закрытия не активизировалось главное окно программы? пробовал много вариантов, но ничего не помогает. :( Всегда главная форма сразу после зарытия выходит на передний план.


 
ViToTiV   (2009-08-27 16:08) [3]

Хм... а при открытии формы Вашим методом, послее её закрытия, главное окно не активизируется


 
Leonid Troyanovsky ©   (2009-08-27 21:33) [4]


> ViToTiV   (27.08.09 16:08) [3]

> Хм... а при открытии формы Вашим методом

Это не мой, увидел у Peter Below, но, т.к. кода 2 строки,
никто на него не претендует.
А у Питера можно найти много полезных приемов.

--
Regards, LVT.


 
ViToTiV   (2009-08-31 11:10) [5]

Мой второй вопрос так и остался открытым:
Можно как-то закрыть дочернюю форму у которой parent=GetDesktopWindow но что бы после закрытия не активизировалась главная форма? Если она открыта, то она выходит на передний план.


 
Leonid Troyanovsky ©   (2009-08-31 13:13) [6]


> ViToTiV   (31.08.09 11:10) [5]

> Можно как-то закрыть дочернюю форму у которой parent=GetDesktopWindow

SetForegroundWindow(GetDesktopWindow)

--
Regards, LVT.


 
ViToTiV   (2009-08-31 15:08) [7]


> SetForegroundWindow(GetDesktopWindow)

Но так будет всегда активный десктоп после закрытия формы, а если было активно окно какой-то программы, должно стать активным то окно.
Получается, до открытия моей формы нужно сначала получать дескриптор активного окна, а по закрытии делать SetForegroundWindow(дескриптор окна)? А проще никак? :(



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1294923778
student22
2011-01-13 16:02
2011.04.10
HTML


15-1293035423
Dimka Maslov
2010-12-22 19:30
2011.04.10
Опять про физику


1-1251722023
Spot
2009-08-31 16:33
2011.04.10
Ошибка при поиске в Excel


15-1293027819
картман
2010-12-22 17:23
2011.04.10


15-1293226188
Юрий
2010-12-25 00:29
2011.04.10
С днем рождения ! 25 декабря 2010 суббота