Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2015, 21:16   #1
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию Координаты курсора мыши за пределами формы

Как отловить? Мне нужно типа что-то через WH_LL_MOUSE.
Просто нужно писать в лейблы что на форме эти координаты.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 06.01.2015, 21:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не знал что винда позволяет мышке выходить за пределы экрана...
Разве что речь идет о игрухе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 21:28   #3
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

За пределами формы я написал.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 06.01.2015, 21:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Прошу прощения, тупанул.
А в таймере или потоке получать Mouse.CursorPos не хочешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 21:51   #5
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

типа так?
Код:
procedure TForm1.Timer1Timer;
начало
   Label1.Caption:=IntToStr(Mouse.CursorPos.X);
   Label2.Caption:=IntToStr(Mouse.CursorPos.Y);
конец;
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 06.01.2015, 22:04   #6
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Не у меня сложнее задача по таймеру Mouse.CursorPos.X мне не подойдет так так таймер будет менять там значения по своему интервалу.
А у меня задача по клику по любой части экрана я должен получить координаты в список ну в мемо-поле. Еще раз кликнул- еще раз получил.
Вобщем список запоминать должен, а это задача нетакая то и простая.. Не могу ее решить.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 06.01.2015, 22:24   #7
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

Stilet, что посоветуешь ему - хук, отлавливать щелчок мыши?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 06.01.2015, 22:30   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Есть хук WH_MOUSE.
http://yandex.ua/yandsearch?text=WH_...2015&numdoc=50
Цитата:
отлавливать щелчок мыши?
Кстати кстати... Хорошо что напомнил: Кажется GetKeyState() в таймере сможет помочь отлов клика.
Можно попробовать с ним примеры поискать.
I'm learning to live...

Последний раз редактировалось Stilet; 06.01.2015 в 22:32.
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 22:58   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

Stilet'ушка, пожалей новичка. он же совсем ещё зелёный... какие (извиняюсь) нахрен хуки в его возрасте, ему же ещё жить и радоваться...
напиши ему процедуру с таймером и отловом клика мыши. пусть человечек немного порадуется доброте людской.... НО с ошибками напиши, пусть хоть что-то сам исправит =))))
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 06.01.2015, 23:18   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да тут и писать-то нечего:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses   windows,
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if GetKeyState(VK_LBUTTON)<0 then Caption:='Нажата левая'
 else Caption:='Отжата левая'
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Interval:=10;
end;

end.
P.S А насчет хуков там помутнее. Там без DLL не обойтись...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировать нажатие кнопки мыши за пределами главного окна приложения не используя DLL Sergilio Общие вопросы Delphi 12 10.02.2014 17:49
Вывести поточные координаты курсора мыши относительно формы и экрана, при нажатии на кнопку реверсивное изменение кнопок мыши C++ carrie bradshaw Помощь студентам 0 06.02.2014 00:21
координаты мыши относительно формы David Villa C++ Builder 3 19.04.2012 16:59
Координаты мыши(курсора) Prizrak86 C# (си шарп) 2 30.01.2012 15:35
TСhart, клик мыши и координаты XY, Определение координат оси при клике мыши Aravild Компоненты Delphi 1 31.01.2009 16:28