FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Problema per passare il focus
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Problema per passare il focus
Posted: Tue May 09, 2006 09:43 AM

Salve, ho una dialog per l'inserimento di un codice numerico digitato il quale devo fare apparire la lista di movimenti corrispondente al codice.

Per fare questo utilizzo oGet1:bLostFocus così quando il campo che contiene il codice perde il controllo, letto i records corrispondenti al codice ed aggiorno una tabella browse. Fatto questo dovrei passare il controllo al campo oData1 per l'inserimento di una data ma non riesco e il controllo mi va sempre sul bottone oBtn. Qualche idea ?

Inoltre vorrei leggere i record corrispondenti al codice solo quando si perde il focus su oGet1 e l'ultimo tasto premuto è Enter. Come posso fare ? Esiste un lastkey() tipo clipper ?

Ecco un estratto del codice che ha il problema.

    DEFINE DIALOG oDlg2 FONT oGenFont RESOURCE "DIALOG_055" title "Registrazione con codice a barre o codifica numerica"

       REDEFINE GET oGet1 VAR codific ID 102 of oDlg2 picture "!!!!!!!"

      oGet1:bLostFocus={|| (oGet1:Assign(),CodeToList(codific),oBrw:SetArray(listpaga,1),oDlg2:Update(),oGet1:oJump=oData1)}

    redefine BROWSE oBrw id 104 FONT oGenFont OF oDlg2 update

    oBrw:SetArray( listpaga,1 )
    oBrw:nClrForeHead := CLR_WHITE
    oBrw:nClrBackHead := CLR_BLUE

    ADD COLUMN TO oBrw DATA ARRAY ELEM 1 ;     // array element # 1
      HEADER "Anno"  SIZE 30

    ADD TO oBrw ARRAY ELEM 2 ;
      HEADER  "Rata" SIZE 30

    ADD TO oBrw ARRAY ELEM 3 ;
      HEADER  "Scadenza" SIZE 70

    ADD TO oBrw ARRAY ELEM 4 ;
      HEADER  "Descrizione" SIZE 130

    ADD TO oBrw ARRAY ELEM 5 ;
      HEADER  "Importo" SIZE 60 RIGHT

    REDEFINE SAY oSay3 prompt cBollStatus ID 105 of oDlg2 update

    REDEFINE GET oData1 VAR datareg ID 106 OF oDlg2 PICTURE "99/99/9999" UPDATE

    ** conferma **
    REDEFINE BUTTON OBTN ID 120 OF oDlg2 UPDATE    ;
        ACTION ( RegPag(),retcode:=1            , ;
        oDlg2:End() );
        WHEN (TOTBOL<>0 .AND. .NOT. LINCASSATO)


ACTIVATE DIALOG oDlg2 centered

Grazie in anticipo
Saluti

MArco Turco

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Problema per passare il focus
Posted: Tue May 09, 2006 11:57 AM
Marco Turco wrote:Per fare questo utilizzo oGet1:bLostFocus così quando il campo che contiene il codice perde il controllo, letto i records corrispondenti al codice ed aggiorno una tabella browse. Fatto questo dovrei passare il controllo al campo oData1 per l'inserimento di una data ma non riesco e il controllo mi va sempre sul bottone oBtn. Qualche idea ?


La richiesta è la solita: potresti costruire un programmino minimale ma compilabile che mostri il problema?

Marco Turco wrote:Inoltre vorrei leggere i record corrispondenti al codice solo quando si perde il focus su oGet1 e l'ultimo tasto premuto è Enter. Come posso fare ? Esiste un lastkey() tipo clipper ?


IF GETKEYSTATE( VK_RETURN )
    ...
ENDIF


EMG

Continue the discussion