FoxPro/Visual FoxPro - SetFocus (me hace caso), pero es raro :( :( :( :(

   
Vista:

SetFocus (me hace caso), pero es raro :( :( :( :(

Publicado por Juan Miguel solis.juanmiguel@gmail.com (79 intervenciones) el 12/07/2013 19:00:25
Hola a Todos

Aunque Fidel me resolvio la duda (muchas gracias de nuevo), sigue habiendo algo que no esta bien, les cuento, ahora despues del NODEFAULT, como se ve en el codigo de abajo, con flecha arriba/abajo con o sin Mayusculas funciona bien.

Excepto su pulso el Nº 2 o el Nº 8 (da igual que sea del teclado superior, del teclado numerico con o sin el "NumLock" activado, el codigo de tecla que me devuelve es como si hubiese pulsado Flecha arriba/abajo :( :( :(, o sea

Si en el teclado numerico pulso el numero 2, lo que hace el programa es como si hubiera pulsado flecha habajo , y si pulso el nuemro 8 es como si hubiera pulsado flecha arriba (genera ese nKeyCode).

A ver si alguien puede decirme como solucionarlo mientras seguire echando un vistazo a lo que me mando Fidel.

Un saludo


---------------------------------------------------------------------------------
LPARAMETERS nKeyCode, nShiftAltCtrl

With Thisform.PgExpeM.Pg2

Do Case
Case nKeyCode = 5 or nKeyCode = 56
NODEFAULT
.Caja_BlL05C2.setfocus

Case nKeyCode = 24 or nKeyCode = 50
NODEFAULT
.Caja_BlL07C2.setfocus

EndCase

EndWith
----------------------------------------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

SetFocus (me hace caso), pero es raro :( :( :( :(

Publicado por Fidel (558 intervenciones) el 12/07/2013 21:52:31
Perdón Juan, pero se me pasó que querías usar la combinación [Shift]+[flecha] y seguí con el código como nada.
Lo que sucede no es nada raro, porque en el código le dices que haga setfocus si nKeyCode es 50 ó 56 que corresponden a los números 2 y 8, respectivamente.
Debes detectar el uso del Shift (nShiftAltCtrl=1)
Un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nShiftAltCtrl=1
	DO case
		CASE nkeycode=56
			nodefault
			thisform.text8.SetFocus
		CASE nkeycode=50
			nodefault
			thisform.text14.SetFocus
	ENDCASE
ELSE
	DO case
		CASE nkeycode=5
			nodefault
			thisform.text8.SetFocus
		CASE nkeycode=24
			nodefault
			thisform.text14.SetFocus
	ENDCASE
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SetFocus (me hace caso), pero es raro :( :( :( :(

Publicado por Juan Miguel solis.juanmiguel@gmail.com (79 intervenciones) el 13/07/2013 17:02:27
´D'ont worry Fidel :) :) :) no pasa nada es que no lo entendia :) :)

Gracias de nuevo por al info...

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar