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

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

Курсор в определенной области. Отталкивание [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]

Ногами отталкивался что ли?


Наверх

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