Показать сообщение отдельно
  #3  
Старый 02.04.2009, 13:00
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Можно. Только нужно знать абсолютные координаты кнопки.
Вот код:

Код:
procedure mouseclick(pt: tpoint; backcursor: boolean = true);

// Переводим экранные координаты к принятым в mouse_event
function screentoabsolute(const pt: tpoint): tpoint;
begin
result.x := round(pt.x * 65535 / screen.width);
result.y := round(pt.y * 65535 / screen.height);
end;

var
oldpt: tpoint;
begin
if backcursor then
oldpt := screentoabsolute(mouse.cursorpos);
pt := screentoabsolute(pt);
{Переместим курсор мыши}
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);
if backcursor then
{Перемещаем кнопку мыши обратно}
mouse_event(mouseeventf_absolute or mouseeventf_move, oldpt.x, oldpt.y, 0, 0);
end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием