Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
2-1228715571
lex123
2008-12-08 08:52
2009.01.18
Соединение с интернет


2-1228091350
Deled
2008-12-01 03:29
2009.01.18
Принтер


15-1227340742
palva
2008-11-22 10:59
2009.01.18
Чернобыльская зона отчуждения


2-1228223777
alexeis
2008-12-02 16:16
2009.01.18
Поиск в динамически создаваемом TreeView


15-1227214906
Начинающий1992
2008-11-21 00:01
2009.01.18
Решить методом последовательных сравнений




   Наверх