Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Clase - VCX si PRG  TextBox fara Lo...
 TextBox fara Lostfocus cum ?
 
 11/14/2008 12:44:53 PM
User is offlinedaflexx2003
90 posts


TextBox fara Lostfocus cum ?
 (Romania)
Buna ziua din nou,
Am un Login form care contine 2 TextBox Username si Password, 2 butoane Login si Cancel.
Cum fac ca atunci cand sterg toate caracterele dintr-un Textbox sa nu mi se focusese automat pe urmatorul control, sa mearga focusarea decat la apasarea tastei TAB.
Ce mi se intampla: Scriu Userul dau TAB, se muta pe Password scriu password, imi dau seama ca am gresit(nu ma uit la tastatura) si ma apuc si sterg , nu vad ca am sters tot ce era la Password si mi se muta automat cursorul pe txtBox cu user , daca nu sunt atent si tot dau backspace sterge si de acolo .
Sper sa fi fost destul de coerent si sa ma puteti ajuta.
              

 11/14/2008 1:40:26 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: TextBox fara Lostfocus cum ?
 (N/A)
Pune codul asta in textbox.valid:

IF LASTKEY()=127
    KEYBOARD '{HOME}'
    RETURN 0
ENDIF
   

Keyboard '{home}' nu face nimic, doar pune in bufferul tastaturii altceva decat backspace, altfel, daca faci click cu mouse in alta parte, tot nu iesi din textbox.

Daniel Buduru
 11/14/2008 2:05:05 PM
User is offlinedaflexx2003
90 posts


Re: TextBox fara Lostfocus cum ?
 (Romania)
nu merge.
Ma gandeam la ceva de genul urmator , In Interactive Change.

If Len(alltrim(thisform.txtUser.value))=0 && doar daca nu mai am nici un caracter in textbox
    If Lastkey()=127 && BACKSPACE - aici totusi am impresia ca este prea tarziu sa mai faca KEYBOARD HOME
        KEYBOARD '{HOME}'
    ENDIF
ENDIF


 Ma mai ajutati putin ?
 11/14/2008 2:28:20 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: TextBox fara Lostfocus cum ?
 (N/A)
Ceva nu e bine, daca nu merge. Codul e corect, ia-l cu copy/paste si pune-l in textbox.valid, nu in Lostfocus

Dupa cum am explicat, atunci cand evaluarea se face cu LASTKEY(), aceasta va returna aceeasi valoare pana cand se tasteaza altceva. Eu am pus Keyboard '{home}' pentru ca nu face nimic, cursorul ramane in aceeasi pozitie, doar lastkey returneaza 1 in loc de 127.
Cand esti intr-o metoda a unui obiect, acesta se refera cu this, nu cu toata ierarhia, deci this.value, nu e nevoie de thisform.txtUser.value.
Evaluarea Len(alltrim(thisform.txtUser.value))=0 nu tine cont de spatiile din textbox, astfel ca nu vei putea sterge nici un spatiu cu Backspace, ci doar cu Del.

InteractiveChange e folosit de obicei pentru alte evaluari, desi se poate pune conditia si acolo.
Mai degraba as pune-o in textbox.keypress, e locul dedicat pentru evaluarea tastei apasate, daca nu iti convine in valid. Si in interactivecjhange, si in keypress codul va fi evaluat la fiecare tastare, fata de valid, cand va fi evaluat doar la parasirea controlului.

LPARAMETERS nKeyCode, nShiftAltCtrl
IF this.SelStart=0 AND this.SelLength=0 AND nKeyCode=127
   
NODEFAULT
endif



Daniel Buduru
 11/14/2008 2:40:07 PM
User is offlinedaflexx2003
90 posts


Re: TextBox fara Lostfocus cum ?
 (Romania)
Multumesc merge cu Codul asta pus in KEYPRESS ci nu in VALID (merge brici).
Multumesc mult inca odata.
 11/14/2008 2:57:23 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: TextBox fara Lostfocus cum ?
 (N/A)
Merge si cu primul cod pus in valid, mai incearca o data, dar nu uita de RETURN 0, asta e ceea ce face ca focusul sa ramane in textbox.

Daniel Buduru
 3/16/2009 3:44:15 PM
User is offlineberja
42 posts


Re: TextBox fara Lostfocus cum ?
 (N/A)
Am si eu un textbox la care maxlenght=3, deci introduc maxim 3 caractere.Se poate ca dupa introducerea celor trei caractere, textboxul sa nu piarda focusul decat la apasarea tastei TAB sau ENTER? Pentru ca acum imi sare in textboxul urmator dupa introducerea celor trei caractere si nu vreau asta decat la apasarea ENTER sau TAB.
 3/16/2009 4:01:08 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: TextBox fara Lostfocus cum ?
 (N/A)
Pune asta in text.valid:

IF LEN(TRIM(this.text))=this.MaxLength AND !INLIST(LASTKEY(),9,13)
    RETURN 0
ENDIF

Daniel Buduru
 3/16/2009 4:09:59 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: TextBox fara Lostfocus cum ?
 (Romania)
In .LostFocus se folosesc DoDefault si, respectiv, NoDefault.
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 3/16/2009 6:49:02 PM
User is offlineEugen Gliga
1052 posts
1st




Re: TextBox fara Lostfocus cum ?
 (N/A)
Efectul se poate obtine si cu "Set Confirm ON"


  Visual FoxPro  Clase - VCX si PRG  TextBox fara Lo...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement