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

Вниз

Как свернуть все окна сразу?   Найти похожие ветки 

 
TStas ©   (2008-12-03 14:36) [0]

Есть программа, в которой данные показываются в модальных окнах, а из них можно открыть другие модальные окна с данными. Получается много модальных окон. Чтобы свернуть главное окно, приходится всё закрывать, что не удобно. Что нужно сделать, чтобы всё свернулось, как при нажатии на кнопку "Свернуть все окна"? Пробовал посылать главному окну сообщение - не помогло.


 
Jeer ©   (2008-12-03 14:38) [1]

Вероятно - корявый подход к проектированию, если модальных окон требуется как грибов в урожайный год.


 
TStas ©   (2008-12-03 14:45) [2]

Да нет. Программа всем хороша: для себя писалась и пользуюсь ей почти три года. Просто данные такие, что одни ссылаются на другие, а те на третьи и т. д. И в таблице их не покажешь, т. к. в модальных окнах я отображаю детализацию. С программой все в порядке. Просто если глубоко в данные зарыться, то сворачивать не удобно. Это не принципиально, просто мне интересно, как это сделать и почему не помогла посялка сообщения главному окну. Точнее, догадываюсь. Но как-то же делает это виндовая кнопка на понеле задач.


 
clickmaker ©   (2008-12-03 14:49) [3]

а как и какое посылаешь главному окну?


 
Anatoly Podgoretsky ©   (2008-12-03 14:53) [4]

Сообщения посылаются в очередь, а у модального окна она своя.


 
TStas ©   (2008-12-03 15:04) [5]

Я посылал минимайз главному окну. Чтобы привести код, его нужно искать. Если дело в сообщеннии, то, возможно, простая опечатка. Я вообще этим вопросом озадачился вчера перед сном.
Да, у модального окна очередь сообщений, конечно, своя. Я пытался кнопкой, находящейся на модальном окне, послать сообщение минимайз главного окну через SendMessage


 
Rouse_ ©   (2008-12-03 15:04) [6]

Application.Minimize;


 
TStas ©   (2008-12-03 15:19) [7]

Розыч! Ну какой же ты, всё-таки, умный. Вот именно! Я какое-то не то слал сообщение. :)


 
Vayrus   (2008-12-03 15:51) [8]

Лови халяву:

procedure MinimizeAllWindows;
begin
 keybd_event(VK_LWIN, MapVirtualKey(VK_LWIN, 0), 0, 0);
 keybd_event(Ord("M"), MapVirtualKey(Ord("M"), 0), 0, 0);
 keybd_event(Ord("M"), MapVirtualKey(Ord("M"), 0), KEYEVENTF_KEYUP, 0);
 keybd_event(VK_LWIN, MapVirtualKey(VK_LWIN, 0), KEYEVENTF_KEYUP, 0);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
15-1227090166
matt
2008-11-19 13:22
2009.01.18
Assertion failed в Delphi 2007


15-1227066140
ArMellon
2008-11-19 06:42
2009.01.18
Нужен совет...


11-1196645214
Jon
2007-12-03 04:26
2009.01.18
REG_MULTI_SZ


2-1228255215
Te
2008-12-03 01:00
2009.01.18
Работа с классом


1-1206352689
tytus
2008-03-24 12:58
2009.01.18
Как послать сообщение форме из скрипта FastReport