Страница: 1 |
Страница: 1 |
Вопрос: Клейкие окна
Добавлено: 02.05.10 16:54
Автор вопроса: Winand | Web-сайт:
Всем известное поведение, когда окна клеются к краям экрана. Мне нравится, но вот не знаю как это сделать при перетаскивании окна за заголовок. Отлавливая сообщение WM_MOVING можно приклеивать окно к краю, если оно достаточно близко. Но как организовать отрыв от края? В обычном случае берут точку клика мышкой и от нее считают на сколько пикселей оттянули курсор.
Возможно ли подобное с заголовком?
И кстати, можно ли узнать влезает надпись заголовка полностью или есть многоточие на конце?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 02.05.10 21:59
Первая задача несложно решается установкой глобального хука на мышку.
Вторая - берешь ширину блока, в котором находится заголовок, через GetTextExtentPoint32 считашеь длину текста и смотришь, вмещается или нет.
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 04.05.10 01:36
О! Совершенно случайно, скачав пример сабклассинга через SetWindowSubclass увидел там же готовую первую задачу. Сейчас бум изучать, как оно работает)
http://vb.mvps.org/samples/HookXP/