Мышка
Все потомки TComponent могут посылать сообщения CM_MOUSEENTER и CM_MOUSELEAVE во время вхождения и покидания курсора мыши области компонента. Если вам необходимо, чтобы ваши компоненты обладали реакцией на эти события, необходио написать для них соответствующие обработчики.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
В этом примере курсор мыши сам встает на кнопку и нажимает на нее.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Для этого можно воспользоваться API функцией ClipCursor(). Например, можно вставить следующий код в обработчик события формы OnMouseDown:
ClipCursor(&BoundsRect);
а следующий код в обработчик события формы OnMouseUp:
ClipCursor(NULL);
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Нам потребуется универсальная функция, которую можно будет применять для различных визуальных контролов.
Вот пример вызова нашей функции:
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
GetCursorPos()
Автор Spawn
Обрабатывай событие OnMouseMove. Координаты курсора можно получить следующим путем:
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
var hintWnd: THintWindow;
procedure TForm1.ActivateHintNOW( x,y: Integer); var rect: TRect; begin HintTxt := 'qq'; if hintTxt <> '' then begin rect := hintWnd.CalcHintRect( Screen.Width, hinttxt, nil); rect.Left := rect.Left + x; rect.Right := rect.Right + x; rect.Top := rect.Top + y; rect.Bottom := rect.Bottom + y; hintWnd.ActivateHint( rect, hinttxt); end; end; |
Замечание: Не забудьте каждый раз создавать hintWnd:
hintwnd:= THintWindow.create(self);
а затем освобождать его
hintwnd.releasehandle;
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Можно через события OnMouseEnter/OnMouseLeave:
Затем считывать параметр FMouseInPos.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); Application.ProcessMessages; mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Существует такой тип, как TMouse, который передаёт координаты мышки в любое время, так что помести в обработчик события нажатия мыши на форме его вызов. Подробнее смотри в хелпе.
Лучше говорить, что существует объект класса TMouse, на него ссылается глобальная переменная Mouse из модуля Controls... А то человек кинется создавать свой экземпляр...
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Следующий пример демонстрирует использование API функции mouse_event() для эмуляции событий мышки. Когда Button2 нажата, то мышь перемещается на Button1 и щёлкает по ней. Координаты мыши даны в "Mickeys", где 65535 соответствует ширине экрана.
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Code: |
Begin //--------- SwapMouseButton(true); // Поменять обратно - SwapMouseButton(false); //--------- end; |
- Подробности
- Родительская категория: Мышка/клавиатура
- Категория: Мышка
Страница 1 из 3