Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2007, 19:24
Axotnik Axotnik вне форума
Прохожий
 
Регистрация: 16.10.2007
Сообщения: 10
Репутация: 10
По умолчанию Координаты движение курсора

дело состоит в том..как можно с помощью клика мишки на форме рисунок должен "поплисть" на место клика мишки..как определить координаты клика мишки...
вот есть код ...
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Timer1Timer(Sender: TObject);

 private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  dx, dy, g:real;
implementation
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var x1,y1: integer;
begin
  x1:=x-Image1.Left;
  y1:=y-Image1.Top;
  g:=sqrt(sqr(x1)+sqr(y1));
  dx:=g / x1;
  dy:=g / y1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Top:=Image1.Top+round(dy);
Image1.Left:=Image1.Left+round(dx);
end;
end.
Ответить с цитированием
  #2  
Старый 16.10.2007, 22:20
Axotnik Axotnik вне форума
Прохожий
 
Регистрация: 16.10.2007
Сообщения: 10
Репутация: 10
По умолчанию Место клика

как определить координаты места на которое било произведенно нажатие мишки на форме в делфи..
Ответить с цитированием
  #3  
Старый 17.10.2007, 01:49
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Axotnik, видишь вот это
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Вот эти X и Y и есть координаты курсора в момент нажатия кнопки.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #4  
Старый 18.10.2007, 16:15
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

А если делать в OnClick, то можно сделать так:
Код:
var
CPos:  TPoint;
begin
...
GetCursorPos(CPos);
ScreenToClient(CPos);
...
end;
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #5  
Старый 08.11.2007, 11:42
ARIMAN ARIMAN вне форума
Прохожий
 
Регистрация: 08.11.2007
Сообщения: 1
Репутация: 10
По умолчанию

Можно вообще поступить так:

var
CurPos:TRect;
begin
GetCursorPos(CurPos);
end;
Ответить с цитированием
  #6  
Старый 23.02.2008, 19:07
Unocide Unocide вне форума
Прохожий
 
Регистрация: 23.11.2005
Сообщения: 16
Репутация: 10
По умолчанию

А как найти координаты курсора в TImage? Я так понимаю в вашем случае координаты будут считаться относительно формы.
И получить мне координаты необходимо в числах т.е. х=..., у=...
Делаю так
Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    Image1.Canvas.TextOut(X,Y,'point');
    Memo1.Text:=Memo1.Text+ IntTostr(X) + IntTostr(Y);
end;
В мемо1 ничего не добавляется. Получается шо событие не произошло?

Последний раз редактировалось Unocide, 23.02.2008 в 22:33.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter