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

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - 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