Image'dan Buton yaptım. Ama fonksiyon bozukluğu var ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
schumi
Üye
Mesajlar: 41
Kayıt: 18 Şub 2005 04:04

Image'dan Buton yaptım. Ama fonksiyon bozukluğu var ?

Mesaj gönderen schumi »

Image a hareket özelliği kazandırdım.

Yaptıklarım ;

OnClick olayında image1.left ve image1.top değerlerini 1 arttırdım ve böylece imaja tıklandığında buton gibi basılmış konuma geçiyor.

OnMouseDown (Fare bırakıldığında) olayına ise image1.left ve image1.top değerlerini 1 azalttım böylece eski konumuna geri geldi. Yani tıpkı buton hareketi gibi.

Sorun şu ; eğer kullanıcı imaja tıklayıp, fareyi bırakmadan, sürükleyip başka bir yerde bırakırsa onmousedown olayı gerçekleşemediği için imaj basılı konumda kalıyor.

Bu sorunu nasıl aşabilirim? Bir çözüm önerisi olan var mı acaba?
Ferrari bir tutkudur.

ScHuMi o tutkuyu yaşatır.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Aynı kodları image nesnesinin parentinin ve formun mouse move olayına yazarsan sorunun çözülür.Kolay gelsin.
schumi
Üye
Mesajlar: 41
Kayıt: 18 Şub 2005 04:04

Mesaj gönderen schumi »

Image nesnesinin parenti dediğiniz şeyden kasıt ne? Image nesnesinin parent'i yok o yüzden anlayamadım.

Formun mousemove olayı ile hallettim saol. Programı biraz yoruyor ama olsun başka çare yok heralde.
Ferrari bir tutkudur.

ScHuMi o tutkuyu yaşatır.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

İmage nesnesinin parenti image nesnesi hangi gruplayıcı bileşenin üzerindeyse odur.Mesela bir groupbox veya panel üzerinde ise parenti o panel yada groupboxtır.Yada direk form üzerindeyse parenti formdur.zaten form üzerine yazmışsınız.Sorunun çözüldüğüne sevindim .Kolay gelsin.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
mousedown ve mouse up olaylarını kullanmanız bence daha kolay olur.
tek yapmanız gereken eğer down olayı image üzerinde gerçekleşmediyse up olayını çalıştırmayacaksınız.
birde down olupda up olmama durumu var. onuda onmouseleave(bilmiyorum imageda varmı) yani farenin imagı terk etmesi olayunda kontrol altına aldığınız zaman hallolur.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Opt2000
Üye
Mesajlar: 216
Kayıt: 09 Tem 2003 10:04

OnMouseEnter

Mesaj gönderen Opt2000 »

Selam
CM_MOUSEENTER ve CM_MOUSELEAVE mesajları senin karşılaştığın problemi tamamen çözecektir. Böylece parente(sanırım sende ana form) herhangi bir kod yazman gerekmez.

Kolay gelsin,
Bahadır Alkaç
Cevapla