delphi координаты мыши на форме

Координаты положения курсора на форме

Доброго времени суток, столкнулся с проблемой, необходимо вычислить координаты мыши относительно формы, то как сделано сейчас работает, но это не вариант (лишняя нагрузка вызов процедуры только для записи координат мыши), как уложить все в одну процедуру, не используя MouseMove:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Координаты курсора относительно картинки на форме
Как узнать координаты курсора относительно картинки (её левой верхней точки) данный вариант не.

tickКак определить координаты курсора мыши, относительно координат картинки, находящейся на форме?
Всем доброго времени суток! Ребят, перерыл интернет, но никак не получается ничего. Суть такова.

Отслеживание положения курсора.
Доброго времечка всем. Не подскажите как наиболее эффективно выполнить отслеживание положение.

Добавлено через 1 минуту
WM_LBUTTONDOWN получает координаты в lparam.

Добавлено через 1 минуту
WM_LBUTTONDOWN получает координаты в lparam.

Я так понял GetCursorPos аналогичен Mouse.CursorPos.[X/Y], а что именно выдает вызов функции ScreenToClient?

Добавлено через 28 минут
Все, спасибо, разобрался, получилось вот так:

tickИзменять активность кнопки в зависимости от положения курсора
Создать кнопку, для нее использовать функцию Enabled и что бы при движении мыши вниз онa менялaсь.

Координаты курсора
Как отследить свойства left и top курсора мышки (на панели)? Мне нужно например,что бы если.

tickКоординаты курсора
Здравствуйте! Помогите, пожалуйста, школьнику с вот этим: Создайте приложение, которое выводит в.

tickКоординаты курсора мыши
Разработайте приложение из одной формы, разместив на форме компонент Panel, два компонента Edit.

Источник

Сейчас онлайн:
На сайте — 25
На IRC-канале — 2

Управление мышью

Каждый элемент управления обладает набором свойств и методов, обеспечивающих управление мышью. Понятно, что это важный и нужный механизм. Рассмотрим кратко его устройство.
Воздействие мышью на интерфейсные элементы приложения разработчик может отслеживать при помощи целой группы методов-обработчиков. На нажатие кнопки мыши реагирует метод:

В параметре Button передается признак нажатой кнопки:

Параметр Shift определяет нажатие дополнительной клавиши на клавиатуре:

Параметры X и Y возвращают координаты курсора.

На отпускание кнопки мыши реагирует метод:

Его параметры описаны выше.

При перемещении мыши можно вызывать метод-обработчик:

Если у разработчика нет необходимости так подробно отслеживать состояние мыши, можно воспользоваться двумя другими методами:

Каждый элемент управления может изменять внешний вид указателя мыши, перемещающейся над ним. Для этого используется свойство:

Для управления дополнительными возможностями мыши для работы в Internet (ScrollMouse) предназначены три метода обработчика, реагирующие на прокрутку:

В VCL имеется класс TMouse, содержащий свойства мыши, установленной на компьютере. Обращаться к экземпляру класса, который создается автоматически, можно при помощи глобальной переменной Mouse. Свойства класса представлены в таблице:

Объявление Описание
property Capture: HWND; Дескриптор элемента управления, над которым находится мышь
property CursorPos: TPoint; Содержит координаты указателя мыши
property Draglmmediate: Boolean; При значении True реакция на нажатие выполняется немедленно
property DragThreshold: Integer; Задержка реакции на нажатие
property MousePresent: Boolean; Определяет наличие мыши
type UINT = LongWord; property RegWheelMessage: UINT; Задает сообщение, посылаемое при прокрутке в ScrollMouse
property WheelPresent: Boolean; Определяет наличие ScrollMouse
property WheelScrollLines: Integer; Задает число прокручиваемых линий

В качестве примера обработки управляющих воздействий от мыши рассмотрим пример DemoMouse. Он очень прост. Перемещение мыши с нажатой левой кнопкой обеспечивает выделение прямоугольного фрагмента. Такую функцию вы можете наблюдать в любом графическом редакторе, а исходный код проекта использовать в собственных разработках.

При нажатии левой кнопки мыши в методе-обработчике FormMouseDown включается режим рисования прямоугольника (isDown := True) и задаются его начальные координаты.

При перемещении мыши по форме проекта вызывается метод-обработчик FormMouseMove, в котором координаты курсора и размеры прямоугольника передаются на панель состояния. Если левая кнопка мыши нажата (isDown = True), то осуществляется перерисовка прямоугольника.

При отпускании кнопки мыши в методе FormMouseUp рисование прямоугольника прекращается (isDown := False).

Если была нажата правая кнопка мыши, то метод-обработчик FormMouseDown обеспечивает отображение диалога выбора цвета, который позволяет сменить цвет линий прямоугольника.

Метод-обработчик TimerTimer обеспечивает отображение на панели состояния текущей даты и времени.

Статья добавлена: 16 марта 2007

Зарегистрируйтесь/авторизируйтесь,
чтобы оценивать статьи.

Для вставки ссылки на данную статью на другом сайте используйте следующий HTML-код:

Ссылка для форумов (BBCode):

Быстрая вставка ссылки на статью в сообщениях на сайте:
<> (буква a — латинская) — только адрес статьи (URL);
<<статья:31>> — полноценная HTML-ссылка на статью (текст ссылки — название статьи).

Поделитесь ссылкой в социальных сетях:

Комментарии читателей к данной статье

Оставлять комментарии к статьям могут только зарегистрированные пользователи.

Источник

Определение глобальных координат курсора

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Определение координат курсора мыши из DLL
Как узнать координаты курсора относительно формы программы, к которой будет подключена библиотека.

tickМассивы: определение координат точки, наиболее приближенной к началу координат
На плоскости 100 точек заданы своими координатами Х, Y. Составить программу для определения.

Считывание координат курсора при нажатии ЛКМ
Здравствуйте. Пишу небольшой автокликер. Столкнулся с проблемой, нужно считать координаты курсора.

SetWindowsHookEx вбей в google первая же ссылка на msdn

Добавлено через 30 секунд
но для глобального хука нужно писать dll

SetWindowsHookEx вбей в google первая же ссылка на msdn

Добавлено через 30 секунд
но для глобального хука нужно писать dll

tickОтображение координат курсора на всем мониторе, режим формы поверх всех окон
Подскажите плз как сделать отображение на форме положение курсора не на форме а на всем мониторе, и.

tickКак определить координаты курсора мыши, относительно координат картинки, находящейся на форме?
Всем доброго времени суток! Ребят, перерыл интернет, но никак не получается ничего. Суть такова.

Определение координат точки
внутри квадрата 80х80 генерируется случайно 1 точка. Нужно определить её координаты X и Y c.

tickОпределение координат StringGrid
Всем добрый вечер! Разрабатываю проект с использованием стринггрид. Практически все сделал, но.

Источник

Delphi координаты мыши на форме

В моей статье вы узнаете, как с помощью Delphi и класса TMouse получить позиция мыши на экране относительно x и y, наличие мыши в компьютере или колеса прокрутки и др.
Для начала объявим класс TMouse отвечающий за состояние мыши.

Объявление Тип Описание
property Capture: HWND; Pu Дескриптор элемента управления, над которым находится мышь
property CursorPos: TPoint; Pu Содержит координаты указателя мыши
property Draglmmediate: Boolean; Ro При значении True реакция на нажатие выполняется немедленно
property DragThreshold: Integer; Ro Задержка реакции на нажатие
property MousePresent: Boolean; Ro Определяет наличие мыши
type UINT = LongWord; property RegWheelMessage: UINT; Ro Задает сообщение, посылаемое при прокрутке в ScrollMouse
property WheelPresent: Boolean; Ro Определяет наличие ScrollMouse
property WheelScrollLines : Integer; Ro Задает число прокручиваемых линий

Всё объект объявлен.

Далее давайте получим позицию мыши относительно x,y. Позицию мыши можно узнать с помощью свойства CursorPos.

При компиляции программы мы видим форму и на ней кнопка и метка. При нажатие на кнопке на метке выводится положение мыши. Если понажимать на кнопку в разных местах, то цифры будут меняться.

С помощью свойства «Capture» можно получить дескриптор объекта над которым находится мышь. Давайте попробуем с помощью этого свойства получить дескриптор нашей формы и послать на неё сообщение о закрытие(WM_QUIT).
В процедуру нашей кнопки изменим до такого вида:

У меня появилось два сообщения Ok! и одно true и в метке появилась цифра 3.

Источник

Delphi координаты мыши на форме

Как определить позицию курсора мышки на форме??
Ну например есть форма 300х300 Если курсор находится в е центре этой
формы, то выводятся координаты курсора относительно формы а не экрана

topdown
Vaitek © ( 2005-01-01 15:41 ) [1]

Попробуй в хелпе поискать CursorPos или что-то типа того.

topdown
Sirex ( 2005-01-01 15:59 ) [2]

topdown
abcd ( 2005-01-01 19:03 ) [3]

procedure TForm1.Timer1Timer(Sender: TObject);
var p : TPoint;
begin
GetCursorPos(p);
Label1.Caption :=IntToStr(p.X-ClientOrigin.X)+» X «+IntToStr(p.Y-ClientOrigin.Y);
end;

topdown
grom ( 2005-01-01 20:24 ) [4]

procedure WndProc(var Msg : TMessage); override;
.
procedure TForm1.WndProc(var Msg : TMessage);
begin
Label1.Caption :=IntToStr(Mouse.CursorPos.X-ClientOrigin.X)+» X «+IntToStr(Mouse.CursorPos.Y-ClientOrigin.Y);
inherited;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin

x и y и есть позиция курсора на форме

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • delphi консольное приложение с параметрами
  • delphi как скрыть главную форму