| 
| 
 | Вопрос # 5 297/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Нужно в цыкле перебрать все не свернутие на даний момент окна, и выполнить с ними следующие действия:
 Если окно развернуто на весь екран, то нужно его свернуть в окно и установить для его некоторые размеры.
 П.С. Также интересно как можно передвигать окна.
 
|  |   Вопрос задал: Ixer (статус: 2-ой класс)Вопрос отправлен: 19 мая 2011, 10:29
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Ixer!Перебор всех окон - это простая задача, избитая до байта. Ключевая функция - enumwindow, вот тут http://www.delphisources.ru/pages/faq/base/enumwindows.html есть пример.
 Суть - Вы запускаете эту функцию и передаете ей в качестве параметра свою функцию. Windows перебирает все окна и для каждого из них вызывает Вашу функцию (можно считать, что там скрыт цикл).
 А дальше с помощью АПИ можно делать все, что хочется.
 например - GetWindowRect возвратит координаты окна (положение верхнего левого угла, ширину и высоту).
 IsIconic - Свернуто ли окно
 IsZoomed - Максимизировано ли это окно
 MoveWindow - Перемещает окно
 SetWindowPos - Устанавливает позицию окна
 А потом посмотрите на этот пример http://www.delphimaster.ru/articles/winapi/index.html и разберитесь с параметрами этих функций. И комбинируйте их до получения желаемого эффекта.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 19 мая 2011, 10:43
 Оценка за ответ: 5
 Комментарий к оценке: Прямо в точку |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 23 мая 2011, 21:26; участников в обсуждении: 2. 
|   | pobechuk1988 (статус: Посетитель), 23 мая 2011, 21:23 [#1]:ловить формы на дельфи сложно и муторно... C++ тебе в помощь |  
|   | bugmenot (статус: 3-ий класс), 23 мая 2011, 21:26 [#2]: Цитата (pobechuk1988): ловить формы на дельфи сложно и муторно чепуха, никаких сложностей нет, кроме (возможно) отсутствия директивы __closure
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |