Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Количество нажатий кнопки мыши [D7, XP]


Страницы:   1 2

Mouse ©   (2009-06-20 15:44:00) 

Здравстуйте! Есть такой такой вот вопрос: как узнать сколько раз нажата левая кнопка мыши? посоветуйте пожалуйста решение этой проблемы


Б   (2009-06-20 21:19:00) [1]

А говорили - задача не решаема. ;)

> Palladin ©   (20.06.09 16:22) [15]
> Palladin ©   (20.06.09 16:50) [24]


Mouse   (2009-06-20 21:13:00) [2]

Спасибо, вроде правильно все делается


Б   (2009-06-20 20:44:00) [3]

*Т.е. из 4.


Б   (2009-06-20 20:31:00) [4]

Используй Массив из 3 TPoint.


Mouse   (2009-06-20 20:22:00) [5]

все догнал begin c end не поставил


Balepa   (2009-06-20 20:21:00) [6]

1: begin    
    x0:=x;
    y0:=y
end;


Mouse   (2009-06-20 19:56:00) [7]

попробывал типа что то такого:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
    If Button=mbLeft then
  Begin
    inc(ClickCount);
     Caption:= IntToStr(ClickCount);
     Case ClickCount of
          1: x0:=X;
              y0:=Y;
          2: x1:=X
             y1:=Y;
          3:x2:=X
             y2:=Y;
         else
           x3:=X;
           y3:=Y;
     end;
 end;
end;

но делфи ругается: Constant expression expected
Зная, что я чайник в во всем этом, так что сильно не ругайтесь


Andy BitOff   (2009-06-20 17:56:00) [8]

> Б   (20.06.09 17:52) [30]

А, ну да, это я не верно прочитал =)


Б   (2009-06-20 17:52:00) [9]


> Mouse   (20.06.09 15:56) [3]
> Просто надо при первом нажатии одно делать, при втором второе,
>  при третьем третье, а вот после трех нажатий выпоняется
> одно и тоже действие для всех нажатий


У меня в коде, не так?
Стоит кейс на кол-во нажатий. Надо добавить в кейс else вот и все дела.


Andy BitOff   (2009-06-20 17:46:00) [10]

> Б   (20.06.09 17:32) [28]

Mouse   (20.06.09 15:56) [3]


Б   (2009-06-20 17:32:00) [11]


> может не будешь глупости советовать?


Что не так? Вопрос такой "как узнать сколько раз нажата левая кнопка мыши?"


Palladin   (2009-06-20 17:16:00) [12]


> Б   (20.06.09 17:15) [26]

ага, на 1 сработает 1, на второй сработает 2, на третий сработает 3 ) может не будешь глупости советовать?


Б   (2009-06-20 17:15:00) [13]

> Интервалы как раз не нужны.

Получается, что, если удерживаешь нажатую левую кнопку, а потом отпускаешь, то это 1 щелчёк? Тогда типа такого:


Var
 ClickCount: DWord;

procedure TForm1.Image1Click(Sender: TObject);
begin
 inc(ClickCount);
 Caption:= IntToStr(ClickCount);
 Case ClickCount of
   1: ....................................... ;
   2: ....................................... ;
   3: ....................................... ;
   .......
 end;
End;


Mouse   (2009-06-20 17:06:00) [14]

А можете мне сказать как выполнить условие если нажатал на картинке то увеличил. Тупо для эксперемента


Palladin   (2009-06-20 16:50:00) [15]


> Mouse   (20.06.09 16:47) [22]

а у тебя нет точки отсчета, кроме как старта программы... так что забудь...


Andy BitOff   (2009-06-20 16:49:00) [16]

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


Mouse   (2009-06-20 16:47:00) [17]

Если по сути, то мне надо при первом нажатии записать координаты указателя в первую пару переменных, потом при втором нажатии во второю пару и так же 3юю, а все остальные координаты после 3, записывать в 4 пару. Я понимаю как это сделать, все условиями


Palladin   (2009-06-20 16:42:00) [18]


> Интервалы как раз не нужны.

тогда:

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


Andy BitOff   (2009-06-20 16:41:00) [19]

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


Mouse   (2009-06-20 16:41:00) [20]

Интервалы как раз не нужны. А  если сделать глобальную переменную каторая будет увеличиваться при каждом нажатии мыши на картинке и в дальнейшем ее использовать?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо