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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 17:35   #1
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию Ограничение движения мыши

Всем привет......помогите реализовать: нажал один раз мышкой получил координаты (0:0) двинул куда-то мышью нажал второй раз получил координату вторую(будет углом иежду 1 координатой и 2). После чего мышь может двигать только в радиусе между 1 и 2 точкой

чето типа, карова которая привязана к колышку, которая дальше радиуса между 1 и 2 точкой не может выйти (во пример придумал )
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...
Claster вне форума Ответить с цитированием
Старый 08.07.2011, 20:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://delphiworld.narod.ru/base/mouse_cursor_clip.html
Правда не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.07.2011, 11:47   #3
Claster
Форумчанин
 
Аватар для Claster
 
Регистрация: 02.09.2008
Сообщений: 340
По умолчанию

Продолжаю все туже тему.....поменялось немного условие: Если нажат SHIFT и делаем делаем первый клик то это координата центра (0,0), если нажата мышка второй раз, то координаты мыши при нажатии второго раза это и будет угол между 1 и 2 точкой. Ограничить движения мыши в радиусе от 1 до 2 точке, но что бы она двигалась только по ( оси X и Y относительно нулевой точки) т.е 0грудусов, 90градусов, 180градусов и 270градусов ( получается крестик)

вот накидал немного коду скажите хоть в правильном направлении иду?

Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if SpeedButton1.Down then
  begin
    if Button = mbLeft then
      Inc(LMouse);

    case LMouse of

  1: if (ssShift in Shift) then
    begin
      X := 0;
      Y := 0;
      bPointZerro := true;
      label3.Caption := 'Точка '+inttostr(LMouse)+': '+inttostr(X)+' '+inttostr(Y);
    end
    else LMouse := 0;

  2: if (ssShift in Shift) then
      begin
        X2 := X;
        Y2 := Y;
        Label4.Caption := 'Точка(угол) '+inttostr(LMouse)+': '+inttostr(X2)+' '+inttostr(Y2);
        bPointZerro := false;
      end
      else LMouse := 0;

    end;
  end;
end;
вроде с кликами нормально, теперь я так понимаю надо в событии OnMouseMove обработку сделать и ограничить движение мыши в этой процедуре????
Цитата:
- Только сисадмин может попросить у начальства 20$ на память...

Последний раз редактировалось Claster; 11.07.2011 в 13:00.
Claster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли ограничение в 97-2010 версиях Excel ограничение на размер массива? clever77 Microsoft Office Excel 18 15.05.2011 00:50
Имитация движения мыши dueram Win Api 5 02.04.2010 22:38
TСhart, клик мыши и координаты XY, Определение координат оси при клике мыши Aravild Компоненты Delphi 1 31.01.2009 16:28
Перехват движения мыши, подключенной к заданному порту. Mixasik Общие вопросы Delphi 5 28.12.2008 18:47
Как отследить направление движения мыши? yourself Общие вопросы Delphi 8 30.05.2008 08:04