Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2013, 22:22   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
Печаль Как развернуть форму?

1) Создал Form1 (MainForm)
2) При нажатии на Button, открывается Form2
3) В Form2, срабатывает onActivate, которая имитирует нажатые клавиши Win+N
4) Сворачиваются абсолютно ВСЕ окна в Windows
Далее:
Мне нужно, что бы развернулись именно мои Form2 and Form1
Как это сделать?
_______________________
Я в начале подумал, что поможет вот эта строчка:

Form1.WondowState:=wsNormal;

Ан нет, не помогло, потом решил что, тут можно вот так вот сделать:

Form1.Show;

И тоже не помогло.

Application.Restore;

Странным образом и это не помогает...
__________________________
Ощущение складывается такое, что программа вообще не в курсе что её свернули.
И из за этого просто не понимает, что я от неё хочу добиться...
____________________________
В общем, есть идеи на этот счёт?
Janger вне форума Ответить с цитированием
Старый 30.09.2013, 22:42   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
срабатывает onActivate, которая имитирует нажатые клавиши Win+N
собственно а зачем это? такие программы как правило сразу летят в корзину.
eval вне форума Ответить с цитированием
Старый 30.09.2013, 22:51   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

А что делает Win+N?
northener вне форума Ответить с цитированием
Старый 01.10.2013, 07:21   #4
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Может быть имеет смысл не "свернуть всё, а потом развернуть моё", а "свернуть всё кроме моего"

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  Wnd : HWND;
begin
  Wnd := Handle;
  repeat
    Wnd := GetNextWindow(Wnd, GW_HWNDNEXT);
    if (GetParent(Wnd) = 0) and (not IsIconic(Wnd)) and (IsWindowVisible(Wnd)) then
      PostMessage(Wnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
  until Wnd = 0;
end;
igh0st вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно развернуть форму на весь экран? chandrasecar Общие вопросы Delphi 6 26.07.2015 10:39
Одну и ту же форму использовать как MDI-child форму и как модальную форму? PrimaryPro Общие вопросы Delphi 2 10.03.2010 20:52
как свернуть и развернуть форму? blackstersl Общие вопросы Delphi 7 25.06.2009 09:20
Как развернуть свернутую форму? XPAiN Общие вопросы Delphi 2 14.02.2008 15:51
Развернуть форму Veiron Общие вопросы Delphi 4 24.01.2008 11:08