Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Mouse click zamanı
#1
Merhaba;


Mouse left tıklandığı ve bırakıldığı zamanı almak istiyorum bu konu ile çalışma yapan var mı? 

Örnek: Mouse tıklandı < 5 saniye sonra > bırakıldı = bu geçen zamanı nasıl alırım?
Cevapla
#2
global değişken tanımlayın 2 tanee.. onmousedown ve onmouseleave olayları çözecektir işinizi..
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
(12-05-2019, Saat: 23:43)ahmetb Adlı Kullanıcıdan Alıntı: Merhaba;


Mouse left tıklandığı ve bırakıldığı zamanı almak istiyorum bu konu ile çalışma yapan var mı? 

Örnek: Mouse tıklandı < 5 saniye sonra > bırakıldı = bu geçen zamanı nasıl alırım?

Merhaba,
Bir bileşen üzerinde yapmak isterseniz; 
bileşenin  OnMouseDown olayında tıklama olayını yakalamış olursunuz. Bu durumda @mcuyan'ın da belirttiği gibi global bir tanımlama ile bu süreyi başlatabilirsiniz. Yine aynı bileşenin OnMouseUp olayı ile tıklamayı bıraktığını yakalayabilir ve süreyi sonlandırabilirsiniz.

Tüm uygulamada herhangi bir yerde tıklama ve tıklamayı bırakma olayını yakalamak isterseniz; 
Uygulamanıza bir TApplicationEvents bileşeni ekleyin. OnMessage olayında WM_LBUTTONDOWN mesajını yakalayın ve süreyi başlatın, WM_LBUTTONUP mesajını yakaladığınızda ise süreyi sonlandırın.
DelphiCan'dır!
Cevapla
#4
Merhaba,

Object Pascal/Delphi action/event tanımlamalarında genel yaklaşım; Down (basıldığında) ve Up (kaldırıldığında) olarak kabul edilir. KeyDown, KeyUp, MouseDown, MouseUp şeklinde belirtilen aksiyonlar sizin yapmak istediklerinizi daha kolay yönetmenizi sağlar. Burada da 2 farklı yaklaşımla pratik bir şekilde işinizi çözebilirsiniz;

1- TTimer zamanlayıcısı ile Down (başlangıç/ enabled := true) ve Up (bitiş/ enabled := false) arasındaki sürede yapmak istediğinizi yaptırabilirsiniz.
2- @mcuyan bey'in bahsettiği gibi global değişkende zamanları tutup (bitiş zamanı - başlangıç zamanı) ile süreyi hesaplayabilirsiniz.
Bonus: @Fesih ARSLAN bey'in bahsettiği gibi uygulama içerisinde bir şeyler yakalamak istiyorsanız TApplicationEvents işinizi çözecektir.
Cevapla
#5
Bilgi ve birikimlerinizi paylaştığınız için teşekkür ederim. Çok güzel fikirler aldım.
Cevapla
#6
S.a
Ben  önerimi yazayim
ctime kütüphanesini ekleyin
ba, bi:clock_t;
fark: float ;

clock_t tipinde iki global degisken

Mose tiklama
Eventine
ba := clock ();


Mose birakma
Eventine
bi := clock ();

Aradaki zaman farkını bulma

fark := (float ) bi - ba / clocks_per_sec;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Mouse HourGlass m_ekici 2 593 06-11-2024, Saat: 13:57
Son Yorum: m_ekici
  Notification Action click emrahozten 2 1.147 27-09-2023, Saat: 16:18
Son Yorum: emrahozten
  Mouse wheel (Mouse tekerleği) Husv 4 1.608 26-09-2023, Saat: 11:25
Son Yorum: Husv
  Sanal click Nedim 1 1.022 25-11-2022, Saat: 11:46
Son Yorum: mrmarman
  Site Butonuna Click quiet1day 3 3.836 20-10-2019, Saat: 23:33
Son Yorum: narkotik



Konuyu Okuyanlar: 1 Ziyaretçi