Problema per passare il focus

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Problema per passare il focus

Post by Marco Turco »

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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Problema per passare il focus

Post by Enrico Maria Giordano »

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 ?

Code: Select all

IF GETKEYSTATE( VK_RETURN )
    ...
ENDIF
EMG
Post Reply