Кількість натискань кнопки миші
Здрастуйте! Є таке питання: як дізнатися скільки разів натиснута ліва кнопка миші? порадьте, будь ласка, вирішення цієї проблеми
хоча ні, безбожно брешу. рахувати не треба. ліву кнопку миші натиснуто один раз.
←→Mouse (2009-06-20 15:56) [3]
Просто треба при першому натисканні одне робити, при другому друге, при третьому третє, а ось після трьох натискань випонується одна і та сама дія для всіх натискань
А ти один натиск порахувати можеш?
←→mouse (2009-06-20 16:02) [5]
ну роблю подію OnClick наприклад на картинці, якраз для виконання дій при натисканні, а ось порахувати щось гальмувати починаю
←→mouse (2009-06-20 16:04) [6]
procedure TForm1.Image1Click(Sender: TObject); ось цю процедуру
Ну скажімо клацнули один раз, через 5 секунд клацнули вдруге, через 7 секунд втретє. це скільки натискань виходить?
←→Mouse (2009-06-20 16:12) [8]
ну начебто щоразу одне виходить. Щось зовсім заплутався
←→Б (2009-06-20 16:14) [9]
←→Mouse (2009-06-20 16:14) [10]
як тоді виконувати різні дії для кожного натискання
←→Mouse (2009-06-20 16:16) [11]
> ну начебто щоразу одне виходитьце я не комп'ютер питаю, це я тебе питаю, твій процес мислення як вважає, скільки разів була натиснута ліва кнопка миші?
←→Mouse (2009-06-20 16:17) [13]
може змінну зробити яка буде при кожному натисканні збільшуватися
←→Mouse (2009-06-20 16:18) [14]
Мислення думає 3)))
хм. три.хм. цікаво. боюся завдання рішення не має.
←→Mouse (2009-06-20 16:30) [16]
в цьому раз у раз що я як то походу не правильно думаю. Можна хоч пораду як можна зробити для кожного натиснути роздінні дії
Припустимо, що необхідно дві перевірки чи/або. Або рахувати час між натисканнями, або перевіряти чи зрушила миша після чергового натискання. Або їх поєднати.
) так якщо тобі по барабану інтервал між клацаннями то потрібно стояти біля користувача і рахувати його клацання, поки: або він, або комп'ютер, або миша, або монітор не припинить своє існування, або що ще, що не дозволить далі робити клацання, не станеться. ось тоді, ти порахуєш точно скільки зроблено було клацань.
←→Mouse (2009-06-20 16:41) [19]
Інтервали якраз не потрібні. А якщо зробити глобальну змінну, яка буде збільшуватися при кожному натисканні миші на картинці і надалі її використовувати?
В опері, наприклад, поєднано. Подвійний клік виділяє слово, наступний одинарний, якщо не було зсунуто мишу і не минуло багато часу виділяє речення та наступний абзац.
> Інтервали якраз не потрібні.тоді:> потрібно стояти біля користувача і рахувати його клацання, поки: > чи він, чи комп'ютер, чи миша, чи монітор не припинить > своє існування, або ще щось, що не дозволить далі > робити клацання, не станеться. ось тоді, ти порахуєш точно > скільки зроблено було клацань.
←→Mouse (2009-06-20 16:47) [22]
Якщо по суті, то мені треба при першому натисканні записати координати покажчика в першу пару змінних, потім при другому натисканні в другу пару і так само 3юю, а всі інші координати після3, записувати у 4 пару. Я розумію як це зробити, все умовами
Якби більш конкретно описав завдання, то тобі підказали б можливі методи її вирішення.
> Mouse (20.06.09 16:47) [22]а в тебе немає точки відліку, крім старту програми. так що забудь.
←→Mouse (2009-06-20 17:06) [25]
А можете мені сказати як виконати умову, якщо натиснув на картинці, то збільшив. Тупо для експерименту
←→Б (2009-06-20 17:15 ) [26]
> Інтервали якраз не потрібні.
Виходить, що, якщо утримуєш ліву кнопку, а потім відпускаєш, то це 1 клацання? Тоді типу такого:
Var ClickCount: DWord;
procedure TForm1.Image1Click(Sender: TObject); begin inc(ClickCount); Caption: = IntToStr (ClickCount); Case ClickCount of 1: . ; 2: . ; 3: . ; . end; End;
> Б (20.06.09 17:15) [26]ага, на 1 спрацює 1, на другий спрацює 2, на третій спрацює 3) може не будеш дурниці радити?
←→Б (2009-06-20 17:32) [28]
> може не будеш дурниці радити?
Що не так? Питання таке "як дізнатися скільки разів натиснута ліва кнопка миші?"
←→Б (2009-06-20 17:52) [30]
> Mouse (20.06.09 15:56) [3] > Просто треба при першому натисканні робити одне, при другому друге, > при третьому третьому, а ось після трьох натискань випонується > одне й теж дію всім натискань
У мене в коді, не так? Варто кейс на кількість натискань. Потрібно додати в кейс else ось і всі справи.
> Б (20.06.09 17:52) [30]А, ну так, це я не правильно прочитав =)
←→Mouse (2009-06-20 19:56) [32]
спробував типу щось такого: procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin 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 Знаючи, що я чайник у всьому цьому, так що сильно не лайтеся
←→Balepa (2009-06-20 20:21) [33]
←→Mouse (2009-06-20 20:22) [34]
все наздогнав begin c end не поставив
←→Б (2009-06-20 20:31) [35]
Використовуй Масив із 3 TPoint.
←→Б (2009-06-20 20:44) [36]
←→Mouse (2009-06-20 21:13) [37]
Дякую, начебто правильно все робиться
←→Б (2009-06-20 21:19) [38]
А говорили - завдання не вирішуване. ;)