Конференция "WinAPI" » Курсор в определенной области. Отталкивание [D7, WinXP]
 
  • GF (05.06.09 14:40) [0]
    Привет. Не могу решить задачу. Дело в том, что надо написать отталкивание курсора от определенной формы по хендлу, чтобы было невозможно управлять курсором на этой форме.

    Знаю хендл, Знаю как получить координаты курсора X/Y

    не знаю:
    Как узнать размеры окна и как написать условие, чтобы при подходе курсора он отталкивался от формы.
  • Palladin © (05.06.09 14:53) [1]
    Ногами отталкивался что ли?
  • цывп (05.06.09 15:07) [2]
    нет, курсор будет перемещаться
    mouse_event(MOUSEEVENTF_MOVE, xx, yy, 0, 0);
  • clickmaker © (05.06.09 16:05) [3]
    > Как узнать размеры окна

    GetWindowRect

    > как написать условие,

    лови WM_NCMOUSEMOVE
    потом делай SetCursorPos
  • Игорь Шевченко © (05.06.09 16:19) [4]

    > Как узнать размеры окна


    GetWindowRect
  • цывп (05.06.09 17:19) [5]
    а условие какое, if then?
  • clickmaker © (05.06.09 17:21) [6]
    > [5] цывп   (05.06.09 17:19)

    кто должен отталкивать? сама форма или что-то извне?
  • Игорь Шевченко © (05.06.09 18:01) [7]

    > а условие какое, if then?


    if курсор_близко_к_форме then
     отталкивать
  • Игорь Шевченко © (05.06.09 18:01) [8]
    по-моему, делается мышиным хуком
  • AutoBOT (06.06.09 17:23) [9]
    Эм... Что-то вроде такого, но наоборот?

    procedure TForm1.Button1Click(Sender: TObject);
    var t: tRect;
    begin
    GetWindowRect(button1.Handle, t);
    clipcursor(@t);
    end;

  • GF (16.06.09 20:24) [10]
    курсор не должен попасть на форму. надо его отводить
  • Игорь Шевченко © (16.06.09 21:16) [11]

    > курсор не должен попасть на форму. надо его отводить


    RTFM: SetWindowsHookEx, WH_MOUSE, WH_MOUSE_LL
  • GF (16.06.09 21:59) [12]
    как насчет
    pr := @r;
    clipcursor(pr);

 
Конференция "WinAPI" » Курсор в определенной области. Отталкивание [D7, WinXP]
Есть новые Нет новых   [134434   +28][b:0][p:0.001]