![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Курсор в определенной области. Отталкивание [D7, WinXP]
GF © (2009-06-05 14:40:00)Привет. Не могу решить задачу. Дело в том, что надо написать отталкивание курсора от определенной формы по хендлу, чтобы было невозможно управлять курсором на этой форме.
Знаю хендл, Знаю как получить координаты курсора X/Y
не знаю:
Как узнать размеры окна и как написать условие, чтобы при подходе курсора он отталкивался от формы.
GF (2009-06-16 21:59:00) [1]как насчет
pr := @r;
clipcursor(pr);
Игорь Шевченко (2009-06-16 21:16:00) [2]
> курсор не должен попасть на форму. надо его отводить
RTFM: SetWindowsHookEx, WH_MOUSE, WH_MOUSE_LL
GF (2009-06-16 20:24:00) [3]курсор не должен попасть на форму. надо его отводить
AutoBOT (2009-06-06 17:23:00) [4]Эм... Что-то вроде такого, но наоборот?
procedure TForm1.Button1Click(Sender: TObject);
var t: tRect;
begin
GetWindowRect(button1.Handle, t);
clipcursor(@t);
end;
Игорь Шевченко (2009-06-05 18:01:00) [5]
> а условие какое, if then?
if курсор_близко_к_форме then
отталкивать
Игорь Шевченко (2009-06-05 18:01:00) [6]по-моему, делается мышиным хуком
clickmaker (2009-06-05 17:21:00) [7]> [5] цывп (05.06.09 17:19)
кто должен отталкивать? сама форма или что-то извне?
цывп (2009-06-05 17:19:00) [8]а условие какое, if then?
Игорь Шевченко (2009-06-05 16:19:00) [9]
> Как узнать размеры окна
GetWindowRect
clickmaker (2009-06-05 16:05:00) [10]> Как узнать размеры окна
GetWindowRect
> как написать условие,
лови WM_NCMOUSEMOVE
потом делай SetCursorPos
цывп (2009-06-05 15:07:00) [11]нет, курсор будет перемещаться
mouse_event(MOUSEEVENTF_MOVE, xx, yy, 0, 0);
Palladin (2009-06-05 14:53:00) [12]Ногами отталкивался что ли?