Re: block Move Widget
От: Evgeniy Skvortsov Россия  
Дата: 30.11.18 12:25
Оценка: +2
Здравствуйте, arfaa, Вы писали:

A>Добрый день,коллеги программисты!

A>Подскажите пожалуйста, имеется окно, которое таскается за любую часть, мне нужно запретить перетаскивать окно, к примеру, если курсор по y > 20,то есть таскать я должен уметь только за верхнюю часть. Как это реализовать, не могу понять и разобраться

Насколько я помню, такая фишка (таскание окна за любую часть) реализуется как обработка сообщения WM_NCHITTEST и возврат HTCAPTION, то есть что бы винда думала, что клик происходит на заголовке.
Ну соответственно, в обработчике проверяй ограничения для Y и возвращай HT_CAPTION только когда нужно, в противном случае результат DefWindowProc

Координаты x и y получаются так:
xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam);
Отредактировано 30.11.2018 12:33 Evgeniy Skvortsov . Предыдущая версия . Еще …
Отредактировано 30.11.2018 12:32 Evgeniy Skvortsov . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.