Setfocus la ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Setfocus la ilgili

Mesaj gönderen meron06 »

Arkadaşlar komik gelecek ama şöyle bi sorunum var.group box ustuden 3 adet butonum var.butonlarımdan birinin onkeyup olayına şu kodu yazdım
if key=vk_left then bbuton.SetFocus;

ama bu b butona setfocu olmuyor.nedense.taborderları ise sıralı.b butonda aynı grupbox içinde.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

tuşa basarken o butonun aktif olması lazım.
Düğmeler arasında gezmek için formun key preview özelliği kullan bence.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

mkysoft kardeş o butonun aktif olmasını nasıl sağlıyoruz .yada diğer yöntemi biraz açıklayabilirmisiniz.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Düğmenin TabStop özelliğinin True olması lazım.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

coderlord kardeş düğmenin tabstop özelliği zaten true;
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

button un default özelliğini false veya true olarak değiştirerek konumlanıp çıkabilirsin

if key=vk_left then bbuttun.default:=true;

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: Setfocus la ilgili

Mesaj gönderen sadettinpolat »

meron06 yazdı: if key=vk_left then bbuton.SetFocus;

ama bu b butona setfocu olmuyor.

focuslanmak istediginiz kontrol, focusu alabilecek durumdaysa (enabled = false degilse mesela) setFocus komutuyla bu islemi gerceklestirebilirsiniz.

if key=vk_left then bbuton.SetFocus; komutunu vermeden önce ilgili kontrolun focusu alıp alamayacağını test eden bi metodu vardı (şuı an aklımda değil), onu çağırın.

SetFocus(HWND hWnd) apisiyle deneyin.

hiçbiri olmuyorsa demek ki sizin yazdığınız kod, focusu belirttiginiz kontrole veriyor lakin daha sonraki olaylar veya islemler focusu baska bir kontrole kaydiriyor.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

if key = vk_left then
begin
key = #0;
buton.setfocus;
end;

kolay gelsin.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

Arkadaşlar ilginiz için teşekkür ederim ama sorun çözülmedi.çözülmeme sebebi ise şu sanırım.butona setfocu olunca buton ustunde sol tuşa basınca yada sağ tuşa basınca şartlar gerçekleşmiyor çünkü o anda başka bi bileşene setfocus oluyor.sanırım bunun çözümü başka bi yol olması lazım.yani butonlarda sol sağ ust yada alt tuş olayları çalışmıyor.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

form un keypreview özelliğini true yap

form1.KeyPreview := True;


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.
Cevapla