powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать, что окно "приклеено" сбоку?
4 сообщений из 4, страница 1 из 1
Как узнать, что окно "приклеено" сбоку?
    #38639159
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Windows 7 если обычное окно поднести к правой или левой границе экрана, оно "прилипает" к боковой части экрана. Того же эффекта можно добиться Win+стрелка_влево или Win+стрелка_вправо. Как мне в приложении узнать, что окно "прилипло"? GetWindowPlacement возвращает flags=0x0, showCmd=0x1 (SW_SHOWNORMAL), ptMinPosition=(-1,-1), ptMaxPosition=(-1,-1), rcNormalPosition=[826,97-1437,736] — обычный restore прямоугольник.
...
Рейтинг: 0 / 0
Как узнать, что окно "приклеено" сбоку?
    #38639165
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе нужен GetWindowRect().
Берешь два окна - твое и GetDesktopWindow(). Сравниваешь их координаты и узнаешь все что нужно.

А флага "прилипло или нет" не существует. Просто когда ты двигаешь окно - винды подгоняют координаты твоего окна под координаты десктопа если эти координаты достаточно близки.
...
Рейтинг: 0 / 0
Как узнать, что окно "приклеено" сбоку?
    #38639171
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

ты ошибаешься. Если попереключать прилипание окна стрелками, то увидишь, что у окна не только сохраняется предыдущее расположение но и размер. А если я сделаю SetWindowPos или MoveWindow - предыдущее состояние не сохранится. Так не подходит.
...
Рейтинг: 0 / 0
Как узнать, что окно "приклеено" сбоку?
    #38639175
13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, GetWindowRect действительно, возвращает верные координаты окна. Сравнивая их с тем, что возвращает GetWindowPlacement можно определить, что окно прилипшее. Соответственно, я не совсем верна задал вопрос. Правильнее так: как "приклеить" окно самому? Так приклеить, что бы когда пользователь его отклеивает у него восстановился бы предыдущий размер?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать, что окно "приклеено" сбоку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]