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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2008, 11:03   #1
Jenya
Грызун Гранита
Пользователь
 
Аватар для Jenya
 
Регистрация: 25.01.2008
Сообщений: 33
По умолчанию Multi Desktop (Windows)

Уважаемые коллеги. Извените если такая тема где-то была, чесное слово искал, не нашёл.

Что нужно знать, и чем нужно уметь оперировать, для того что бы написать программку, которая могла бы делить экран на 2 или 4 части?

Менеджер попросил сделать примерно так:
-В верхней части монитора у меня будет 1С, в нижней части браузер, ну и т.д.

Понятно что можно заставить его просто окна распологать так как ему удобно, но просто стало интересно, как реализовать это в Дельфи. Пологаю средствами API, но думаю не только.
Jenya вне форума Ответить с цитированием
Старый 24.06.2008, 12:40   #2
Flenov
Форумчанин
 
Аватар для Flenov
 
Регистрация: 20.06.2008
Сообщений: 168
По умолчанию

Можно найти все окна (FindWindow) и расположить их так, как хочешь через SetWindowPos.

Можно найти рабочий стол (FindWindow) и отправить ему событие пересортировать окна, точно так же, как в MDI прилежениях

А тебе реально нужно программно это делать? Щелкни правой кнопкой по панели задач и "Окна сверху вниз" и все. Без доп программ. Или я не понял вопроса.
Flenov вне форума Ответить с цитированием
Старый 24.06.2008, 12:55   #3
Jenya
Грызун Гранита
Пользователь
 
Аватар для Jenya
 
Регистрация: 25.01.2008
Сообщений: 33
По умолчанию

Хмм, на счет позиции и размеров окон - это идея! Спасибо! Подумаю.
На самом деле, просто человек меня спросил, смогу ли такую программу написать, я задумался, как можно это реализовать в Дельфи.
Теперь этот вопрос ясен. с позициями и границами. По сути можно нарисовать программку.

Ммм, раз зашёл разговор о Multi Desktop, сразу же поинтерисуюсь, возможно ли на Дельфи реализовать, что-то на подобии ... В общем, как в Линуксе существует несколько раб. столов (что в KDE что в GNOME) ?
Ну и само собой что бы оно работало в Windows. Просто любопытно. Зарание спасибо.

(Сейчас человеку спросившему про программу, сказал про панель задачь, про выстраивание окон... Сидит радуется =) )

Последний раз редактировалось Jenya; 24.06.2008 в 12:59.
Jenya вне форума Ответить с цитированием
Старый 24.06.2008, 12:59   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Где-то читал, что на самом деле когда выбирается новый рабочий стол, все окна других рабочих столов просто переносятся за границы экрана. Не знаю, насколько это правда, но так сделать можно
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 24.06.2008, 13:11   #5
Jenya
Грызун Гранита
Пользователь
 
Аватар для Jenya
 
Регистрация: 25.01.2008
Сообщений: 33
По умолчанию

В общем-то да, тоже идея знакомая, но кнопки на панели задачь останутся, это не есть красиво. Или.... А у окон есть свойство видимости? Возможно ли выставить окну проводника "Visible = False"?
Jenya вне форума Ответить с цитированием
Старый 24.06.2008, 13:11   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Под WinNT можно наворочать гору десктопов. Только это не совсем то, что мы видим на экране. В "нормальных" условиях десктопов три - один рабочий, один для Ctrl-Alt-Del и один для скринсейверов. Самый безболезненный способ решения данной замысловатой задачи мне представляется такой: Любой глобальный хук чтобы загнать в нужные приложения свои dll-ки, после этого (в нужных приложениях) сабклассинг главного окна и модернизация обработки WM_GETMINMAXINFO. Наброски такой схемы я приводил здесь. Но на C.
B_N вне форума Ответить с цитированием
Старый 24.06.2008, 16:10   #7
Flenov
Форумчанин
 
Аватар для Flenov
 
Регистрация: 20.06.2008
Сообщений: 168
По умолчанию

Цитата:
Линуксе существует несколько раб. столов
Это другая песня. Тут в принципе тоже окна переносяться за пределы окна, но не функцией SetWindowsPos, а совсем другими функциями. Иначе после каждого перемещения будет прорисовка и все будет выглядеть катастрофой. Если нужно переключение, могу кинуть исходник. Только ткни в меня, а то я могу забыть заглянуть в эту ветку и не увижу.
Flenov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Database Desktop ZhekON БД в Delphi 4 14.12.2015 19:08
Database Desktop bp1242 Софт 5 13.04.2009 17:50
DataBase Desktop не понимает русский b00s БД в Delphi 3 03.02.2008 17:35
Не работает Database Desktop Dmitry_V Софт 5 27.11.2007 11:15