Вниз
Скачать: 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.009 c
4-1204580990
BBCHa
2008-03-04 00:49
2009.01.18
Как изменить системное время


15-1227381847
DillerXX
2008-11-22 22:24
2009.01.18
Помогите с регекспом (Perl-совместимым)


15-1226928359
Andryk
2008-11-17 16:25
2009.01.18
Вот подумал, мож тут кому надо?


2-1228155464
antonn
2008-12-01 21:17
2009.01.18
название скринсейвера


15-1227498126
Slider007
2008-11-24 06:42
2009.01.18
С днем рождения ! 24 ноября 2008 понедельник




   Наверх