Статьи по Делфи
Меню сайта


Категории каталога
Мои статьи [2]
Функции и процедуры Win Api [20]
Работа с мышью [10]
Реестр и Делфи [11]
Работа с файлами [38]
Делфи и Хакер [10]
Инсталлятор собственными руками [6]
Хитрости в делфи [3]
Работа с системой [19]


Форма входа


Поиск по каталогу


Друзья сайта


Наш опрос
Понравились ли вам треки
Всего ответов: 156


Приветствую Вас, Гость · RSS 2024-04-24, 3:27 AM
Начало » Статьи » Работа с мышью

Как использовать процедуру mouse_event для имитации событий мыши
На форму вынесены две кнопки. По нажатию первой напишем:

procedure TForm1.Button1Click(Sender: TObject);

begin

ShowMessage('Button 1 clicked');

end;

А нажатие второй обработаем так:

procedure TForm1.Button2Click(Sender: TObject);

var

Pt: TPoint;

begin

{Позволим кнопке Button2 перерисоваться}

Application.ProcessMessages;

{Найдем координаты центра button 1}

Pt.x := Button1.Left + (Button1.Width div 2);

Pt.y := Button1.Top + (Button1.Height div 2);

{Преобразуем Pt к координатам экрана}

Pt := ClientToScreen(Pt);

{Преобразуем Pt к "mickeys" (аболютным координатам курсора мышки}

Pt.x := Round(Pt.x * (65535 / Screen.Width));

Pt.y := Round(Pt.y * (65535 / Screen.Height));

{Переместим курсор мыши}

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0);

{Имитируем нажатие левой кнопки мыши}

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);

{Имитируем отпускание левой кнопки мыши}

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);

end;

Категория: Работа с мышью | Добавил: Admin (2006-12-17) | Автор: delphi
Просмотров: 6079 | Рейтинг: 3.5 |

Всего комментариев: 0
Имя *:
Email *:
Код *: