1 Son düzenleyen, mgunes (30.01.2012 16:24:36)

Konu: Formdaki grid

Bir formdaki gride focus olamıyorum.
Formun dışında desktopla başka bir programa tıkladığımda yani formdan uzaklaştığımda tekrar formun içindeki gride tıklarsam gride focus olamıyorum.
Önce Formun header'ına tıklayıp formu focuslamam gerekiyor, sonra da içindeki gride tıklayabiliyorum.
Direkt gride tıklayarak focus olmanın bir yolu var mı acaba ?
Yanlış bir property mi ayarladım bilemiyorum.
Şimdiden teşekkürler

2 Son düzenleyen, ugurlu2001 (30.01.2012 16:26:05)

Re: Formdaki grid

Doğrumu anladım emin değilim ama;

Visual Fox Pro
ThisForm.Grid1.Setfocus()


Visual Fox Pro
_Screen.ActiveForm.Grid1.Setfocus()
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

3 Son düzenleyen, mgunes (30.01.2012 16:31:20)

Re: Formdaki grid

Şimdi tekrar denedim de nasıl bir ayar yaptıysam formun içindeki hiç bir eleman focus olmuyor.
Önce formun başlığına tıklamam gerekiyor, sonra formun içindekiler focus olabiliyor.
Formun başlığına tıklamadan formun içine tıklatmıyor.

4 Son düzenleyen, ugurlu2001 (30.01.2012 16:36:14)

Re: Formdaki grid

Senin derdin başka smile Bir ara ben o sorun yüzünden kafayı çizmiştim. Çetin Üstat el atınca hallolmuştu.
Forumda örnek var.

http://www.fox4um.com/topic/1545/formsetfocus-hk/

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

5

Re: Formdaki grid

gridin formdan disariya tasmamasi icin

Visual Fox Pro
*!* Form init  && 

thisform.Grid1.maxWidth = thisform.width -5

son kontrolun bir property ye tasinmasi

Visual Fox Pro
thisform.addproperty('cLastControl',(none))

Grid ten ayrilirken son kontrolun kendisi oldugunu form cLastControl property ye bildirmesi

Visual Fox Pro
*!* Grid Valid Event  (ayni mantigi textbox,editbox,listbox lostfocus larinda isletebilirsin)

thisform.cLastControl = this

Forma geri donulunce en son formda hangi controlde isek ona geri donuyoruz

Visual Fox Pro
*!* Form ActiveEvent

Thisform.LockScreen =.T.
If Type("thisform.cLastControl")="O"
    Thisform.cLastControl.SetFocus()
Else
    *-This.txtfiskodu.SetFocus()
Endif
Thisform.LockScreen =.F.

NOT-1 : bir yerlerde  lockscreen=.t. kalmis olabilir
NOT-2 : Ugur un dedigide uygun bir yol ancak forma her dondugunde gride focuslanmak istersen , benim anlattigim hangi kontrolde iken ayrildi isen formdan donuste yine oraya focuslanman (Ugur un linkindede ayni yoldan bahsetmisim smile)

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

6

Re: Formdaki grid

Lockscreen kullanmadım.
Form içine tıkladığımda Formun activate metodu bile çalışmıyor. Hiç bir tıklamaya cevap alamıyorum.
Sadece form başlığına tıkladığımda Formun activate event'i çalışıyor.
Uğur Abi, verdiğin linkteki durumu inceleyeceğim.

7 Son düzenleyen, mgunes (30.01.2012 17:00:11)

Re: Formdaki grid

ugurlu2001 yazdı:

Senin derdin başka smile Bir ara ben o sorun yüzünden kafayı çizmiştim. Çetin Üstat el atınca hallolmuştu.
Forumda örnek var.

http://www.fox4um.com/topic/1545/formsetfocus-hk/

Henüz deneyemedim ama büyük ihtimalle bu linkteki bilgiler sorunumu çözecek.
Deneyince haber vereceğim, şimdiden çok teşekkürler.

8

Re: Formdaki grid

(Tamamini okumadim)
Gridden gidiyorum diyorsun galiba, o zaman gridinde 'valid' kodu olmadigindan emin ol (zaten Lostfocus varken Valid'e kimin ihtiyaci var ki).

9

Re: Formdaki grid

cetinbasoz yazdı:

(zaten Lostfocus varken Valid'e kimin ihtiyaci var ki).


Biraz akademik olacak:
ben VALID ile LOSTFOCUSa göre daha iyi tecrübem var. Forumda yıllar önce bunu aynı görüşte paylaştığımızı da hatırlıyorum.
sevgiler - ali

Gridde Setfocus aşağıdaki şekilde bende hep çalıştı, hatta Recordpointeri de bulmak için de kullanılabilinir
Myform. Mygrid.Column1.Text1.SetFocus

VFP9 SP2

10

Re: Formdaki grid

Ali abi; iyi tiyo wink

Myform. Mygrid.Column1.Text1.SetFocus

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

11

Re: Formdaki grid

cetinbasoz yazdı:

(Tamamini okumadim)
Gridden gidiyorum diyorsun galiba, o zaman gridinde 'valid' kodu olmadigindan emin ol (zaten Lostfocus varken Valid'e kimin ihtiyaci var ki).

Gridde Valid, Lostfocus, setfocus... kullanmadım. Gridden ziyade formdan uzaklaşınca (masaüstünde başka bir alana tıkladıktan sonra) formun içindeki ne grid, ne textbox hiç bir şeye tıklanamıyor. Formun içinde nereye tıklarsanız tıklayın form focus olmuyor. (Formun başlığı pasif renkte duruyor.) Formun başlığına tıkladıktan sonra form aktif hale geliyor ve sonra da içindeki her eleman çalışır hale geliyor. Diğer hiç bir formumda böyle bir davranış yok.
Yukarıdaki Uğur Bey'in verdiği linkteki kod ile de olmadı.

12

Re: Formdaki grid

Lanet sorunu çözdüm.
Diğer yaptığım ve normal davranan formlarla arasındaki farkları tek tek inceledim ve sorun olan formda formun scrollBars değerini 1 yapmıştım, 0 yapınca sorun çözüldü.
Niye scrollbarsı değiştirmişim, değiştirince ne işe yarıyor onu da bilmiyorum ama 0 yaptım ve ohh beee. lol
İlgilenen ve yardımcı olan herkese teşekkürler.