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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 12:45   #1
Aспирин
Пользователь
 
Аватар для Aспирин
 
Регистрация: 28.03.2011
Сообщений: 11
По умолчанию команда определения координат положения курсора мыши

Моя задача таков - сделать меню, в котором будет несколько кнопок с название рисунков (типа домик, кораблик и т.д.). При нажатии на эти кнопки в поле должно появляться изображение. Эти изображения буду рисовать при помощи канвас. Но мне надо сделать так, чтобы изображения рисовались именно там, куда я ткну мышкой. Вопрос: какая команда определения координат положения курсора мыши и как в данной ситуации её использовать?
Aспирин вне форума Ответить с цитированием
Старый 28.03.2011, 13:02   #2
novichok1
Пользователь
 
Регистрация: 22.01.2011
Сообщений: 25
По умолчанию

Здравствуйте. Если я точно понял вопрос то вам андо воспользоваться событием MouseMove формы, там же x , y вам дают координаты мышки.
novichok1 вне форума Ответить с цитированием
Старый 28.03.2011, 13:03   #3
Aспирин
Пользователь
 
Аватар для Aспирин
 
Регистрация: 28.03.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от novichok1 Посмотреть сообщение
Здравствуйте. Если я точно понял вопрос то вам андо воспользоваться событием MouseMove формы, там же x , y вам дают координаты мышки.
Да, скорее всего именно это мне и нужно. Только вот по конкретней бы о использовании этого события, быть может на каком-то примере, а то мне трудновато понять, я в этом пока что не особо разбираюсь.
Aспирин вне форума Ответить с цитированием
Старый 28.03.2011, 13:16   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Ёлки...
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label3.Caption := IntToStr(X);
  Label4.Caption := IntToStr(Y);
end;

end.
psycho-coder вне форума Ответить с цитированием
Старый 28.03.2011, 13:20   #5
Aспирин
Пользователь
 
Аватар для Aспирин
 
Регистрация: 28.03.2011
Сообщений: 11
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
Ёлки...
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label3.Caption := IntToStr(X);
  Label4.Caption := IntToStr(Y);
end;

end.
Не особо понял, а точнее СОВСЕМ не понял.
Aспирин вне форума Ответить с цитированием
Старый 28.03.2011, 13:32   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Код:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label3.Caption := IntToStr(X);
  Label4.Caption := IntToStr(Y);
end;
Событие происходит когда мышь движется над формой.
В "красные" параметры передаются текущие x,y координаты мыши.
Далее и дураку понятно что переводятся числа в строку.
Человек_Борща вне форума Ответить с цитированием
Старый 28.03.2011, 13:34   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
СОВСЕМ не понял.
Я могу показаться грубым но, а Вы ПЫТАЛИСЬ понять?
psycho-coder вне форума Ответить с цитированием
Старый 28.03.2011, 13:40   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

А чтобы получить координаты с экрана надо:
1. Таймер (Интервал 50 мс)
2. 1 метка (TLabel)
2.
Код:
Procedure GetCursorCurrPos;
const
   MousePos='X %d:Y %d';
var
  Pos:TPoint; //Имеет X и Y
begin
GetCursorPos(Pos);  //Передаём в точку 
Form1.Label1.Caption:=Format(MousePos,[Pos.X,Pos.Y]); //Выводим на экран
end;
А уж в событие OnTimer извольте сами написать
На ваш вопрос ответ прекрасно дан.
Человек_Борща вне форума Ответить с цитированием
Старый 28.03.2011, 16:16   #9
Aспирин
Пользователь
 
Аватар для Aспирин
 
Регистрация: 28.03.2011
Сообщений: 11
По умолчанию

Сделал всё как надо, а результата никакого, не пишет оно координаты.

Последний раз редактировалось Aспирин; 28.03.2011 в 16:24.
Aспирин вне форума Ответить с цитированием
Старый 28.03.2011, 16:36   #10
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Телепаты в отпуске, покажите код который вы написали.
psycho-coder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для отображения координат курсора Syltan Операционные системы общие вопросы 8 09.09.2015 18:37
задание положения курсора в окне(не full screen)) Oburec Общие вопросы Delphi 1 30.06.2009 00:42
Определение координат курсора в Builder 6.0 С++ mopmuk Помощь студентам 2 09.06.2009 02:13
TСhart, клик мыши и координаты XY, Определение координат оси при клике мыши Aravild Компоненты Delphi 1 31.01.2009 16:28
Определение X и Y координат PaintBox при перемещении курсора мыши Vladimir K. Общие вопросы Delphi 3 04.01.2007 10:45