Bileşeni bulma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zambak
Üye
Mesajlar: 8
Kayıt: 21 Eki 2006 02:05

Bileşeni bulma

Mesaj gönderen zambak »

İyi günler.
Benim hareket eden bir butonum var.Bu butonu bileşenlerin tam üzerine getirdiğimde o bileşinin adını almak istiyorum bunu nasıl yapabilirim.
Kolay bir yolu varmı dır?
Teşekkürler.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Kolay yolu,

1. Her bileşenin koordinat ve büyüklüğünü bir listede tutacaksın.

2. Buttonun her hareketinde bu listede button'un yeni koordinatında kapsamı alanına gelen bir bileşen var mı onu sorgulayacaksın.

3. Varsa ne dilersen onu yapacaksın.
Resim
Resim ....Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

ben bu tip durumlarda bileşen ismini almak istiyorsam mouse bileşenin üzerine tutup klavye den kısa yol tuşu girerek alıyorum butonla almak istemenizin harici sebebi nedir merak ettim.

Ben Bileşen çözümlemeyi Point lerden yararlanıyorum.

Pnt:= mouse.CursorPos;
Cnt:= FindVCLWindow(pnt);

pnt Tpoint nesnesi
Cnt TObject


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Oyun ya da Eğitim yazılımı hazırlıyor olabilir... Ben de bir zamanlar uğraşmıştım.

- Mouse koordinatları kesindir, ama taşınan bir nesne olduğundan, boyutları dinamiktir. Kapsadığı alan hesaplanarak kontrol edilmeli.

- Ayrıca öyle bile olsa, MouseMove olayında her pixel için bir çok kere aynı olay tetikleneceğinden her defasında FindVCLWindow() çalıştırmak yerine, bir listeden sorgulamak sistemin sağlığı için -bence- en makulu.
Resim
Resim ....Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Hocam Merhaba

Vallahi oyun yazmak hiç nasip olmadığı için yorum yapamıycam ama siz öyle diyorsanız muhtemelen öğledir. :)

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

:o Hocam öyle diyorsak öyledir veya değildir olmaz. -bence- öyledir veya -bence- değildir... :wink:
Resim
Resim ....Resim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

mrmarman yazdı::o Hocam öyle diyorsak öyledir veya değildir olmaz. -bence- öyledir veya -bence- değildir... :wink:
Oyun yada Eğitim hariciyse tabikide benim dediğim gibidir :lol: bu anlaşılır die düşünmüştüm :wink:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla