Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перетаскивание формы за угол [D7, XP]


Alex_C ©   (2009-05-26 17:10:00) 

Необходимо реализовать перетаскивание формы за угол, т.е. тогда, когда появляется курсор позможности изменения размеров формы по ширине и высоте. Причем естетсвенно курсор должен становиться соответствующим. Я так понимаю в форме необходимо перехватывать событие WM_MOUSEMOVE? А далее в событии через

xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);

определять, находится ли мышка вблизи угла?


Alex_C   (2009-05-26 22:22:00) [1]


> Сергей М.

и

> Григорьев Антон

Большое спасибо! Это и хотел узнать. Вопрос снят.


Григорьев Антон   (2009-05-26 17:23:00) [2]

Надо перехватить WM_NCHitTest, и когда стандартная реализация вернёт HTBottomRight, подставить HTCaption


Сергей М.   (2009-05-26 17:21:00) [3]


> необходимо перехватывать событие WM_MOUSEMOVE?


Это сообщение генерируется только для клиентских областей окна.

А бордюр, за который цепляют-таскают-тянут окно, относится к неклиентской области.

Соответственно ловить нужно WN_ NCXXXXXX-сообщения


Наверх

Титульная страница Поиск, карта сайта Написать письмо