Problemas conj tecla TAB y ENTER.

Post Reply
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Problemas conj tecla TAB y ENTER.

Post by FiveWiDi »

Antonio,

Por favor puedes compilar el siguiente código con FWH0802 y observar el comportamiento de las teclas TAB y ENTER así como qué control va tomando el foco.

Me estoy volviendo loco (pero sólo un poco, mi mujer aún no se ha dado cuenta). Antes con FWH0704 este mismo código hacia lo que todos esperamos, el foco iba a cada pulsación de TAB y ENTER al foco que lo podía tener y con FWH0802 no es así.

Help Please!

Saludos
Carlos G.

Adjunto código ():
/* +++++++++++++++++++++ */


#include "FiveWin.ch"
//#include "inkey.ch"

//EXTERN GETTEXTWIDTH


/* Para evitar un problema de Blinker.
Al utilizar MSGRUN()
----------------------------------*/
//EXTERN SET

STATIC oMdi, oMdiChild

/* Aquí empieza el program principal.
----------------------------------*/
FUNCTION MAIN()

local programa := "prova.PRG"


/* Se define la ventana principal
---------------------------------*/
DEFINE WINDOW oMdi MDI ; // Definimos la ventana
FROM 2,2 TO 30,80; // Coordenadas
TITLE "prova." ; // Título
MENU MenuMain( oMdi ) // Menú

/* Se define la barra de mensajes
---------------------------------*/
SET MESSAGE OF oMdi ;
TO "aa " ;
CENTERED ;
CLOCK ;
DATE ;
KEYBOARD ;
NOINSET


/* Se activa la ventana principal
---------------------------------*/
ACTIVATE WINDOW oMdi ;
MAXIMIZED ;
ON INIT ( .T. ) ;
VALID ( MsgNoYes("Vol sortir del programa?", "Atenció!" ) )

oMdi:SetFocus()

Return Nil
// Fi de la funció d'arrancada.


FUNCTION MdiChild( oMdi )


/* *** Def. Var. FWD *** Window/Dialog: oFamili10 */
//Local oMdiChild
Local oObservac := space(10)
Local oObsefact := space(10)
Local oBusca, uBusca := space(10)
Local oRecno, nRecno := space(10)
Local oBuscdomi := space(10)
Local oASFiltre := space(10)
Local oToFamili01 := space(10)
Local oHistoric := space(10)
Local oGo := space(10)
Local oInici := space(10)
Local oPrev := space(10)
Local oNext := space(10)
Local oFin := space(10)
Local oAfegir := space(10)
Local oFiltre := space(10)
Local oModi := space(10)
Local oDel := space(10)
Local oRecupera := space(10)
Local oPrint := space(10)
Local oFAMIFacturab := space(10)
Local oFAMIsoci := space(10)
Local oFAMIlopd := space(10)
Local oFAMICompDade := space(10)
Local oGr := space(10)
Local oGrBt := space(10)
Local oWBrowse := space(10)
Local oTabs := space(10)
Local oPare := space(10)
Local oMare := space(10)
Local oFill1 := space(10)
Local ofill2 := space(10)
Local oFill3 := space(10)
Local oDomiFacturab := space(10)
Local oFWDSay := space(10)
Local oIndiMes := space(10)
Local oIndiAlta := space(10)
Local oIndiModi := space(10)
Local oSayFlt := space(10)
Local oLastRec := space(10)
Local oNomPare := space(10)
Local onifpare := space(10)
Local oCodipare := space(10)
Local osexepare := space(10)
Local odatanaixpare := space(10)
Local onommare := space(10)
Local onifmare := space(10)
Local oCodimare := space(10)
Local osexemare := space(10)
Local odatanaixmare := space(10)
Local onomfill1 := space(10)
Local oCognom1fill1 := space(10)
Local oCognom2fill1 := space(10)
Local oniffill1 := space(10)
Local oCodifill1 := space(10)
Local osexefill1 := space(10)
Local odatanaixfill1 := space(10)
Local oCodcurfill1 := space(10)
Local onomfill2 := space(10)
Local oniffill2 := space(10)
Local oCodifill2 := space(10)
Local osexefill2 := space(10)
Local odatanaixfill2 := space(10)
Local oCodcurfill2 := space(10)
Local onomfill3 := space(10)
Local oniffill3 := space(10)
Local oCodifill3 := space(10)
Local osexefill3 := space(10)
Local odatanaixfill3 := space(10)
Local oCodcurfill3 := space(10)
Local oNomfami := space(10)
Local oCodifami := space(10)
Local onomcodidomi := space(10)
Local oCodiBanc := space(10)
Local oNumeofic := space(10)
Local oCCC := space(10)
Local oCompte := space(10)
Local oCodidomi := space(10)
Local otelefon := space(10)
Local oTelefo2 := space(10)
Local oTelefo3 := space(10)
Local oTelefo4 := space(10)
Local omail := space(10)
Local oAdreca := space(10)
Local oCodipost := space(10)
Local oPoblacio := space(10)
Local oprovinci := space(10)
Local odataltam := space(10)
local OTDBFPARES_ := space(10)
local OTDBFmARES_ := space(10)
/* *** End Def. FWD *** Window/Dialog: oFamili10 */


DEFINE WINDOW oMdiChild MDICHILD FROM 0,0 TO 520,804 TITLE ;
"Dades de les FAMÍLIES" OF oMdi ;
NOZOOM PIXEL //FIVEWIDI

@ 408,721 SAY oIndiMes PROMPT "->" OF oMdiChild COLORS CLR_HBLUE,CLR_HRED ;
CENTER PIXEL SIZE 15,15 UPDATE //FIVEWIDI

@ 408,757 SAY oIndiAlta PROMPT "A" OF oMdiChild COLORS CLR_HBLUE,CLR_HRED ;
CENTER PIXEL SIZE 15,15 UPDATE //FIVEWIDI

@ 408,757 SAY oIndiModi PROMPT "M" OF oMdiChild COLORS CLR_HBLUE,CLR_HRED ;
CENTER PIXEL SIZE 15,15 UPDATE //FIVEWIDI

@ 5,5 GROUP oGr TO 302,787 PROMPT "Família" OF oMdiChild ;
PIXEL //FIVEWIDI

@ 25,116 SAY "Nom" OF oMdiChild ;
CENTER PIXEL SIZE 30,16 UPDATE //FIVEWIDI

@ 25,234 SAY "Cognom1" OF oMdiChild ;
CENTER PIXEL SIZE 55,16 UPDATE //FIVEWIDI

@ 25,354 SAY "Cognom2" OF oMdiChild ;
CENTER PIXEL SIZE 55,16 UPDATE //FIVEWIDI

@ 25,481 SAY "N.I.F." OF oMdiChild ;
CENTER PIXEL SIZE 30,16 UPDATE //FIVEWIDI

@ 25,569 SAY "Codi" OF oMdiChild ;
CENTER PIXEL SIZE 30,16 UPDATE //FIVEWIDI

@ 25,621 SAY "_" OF oMdiChild ;
CENTER PIXEL SIZE 30,16 UPDATE //FIVEWIDI

@ 25,655 SAY "Data naix." OF oMdiChild ;
CENTER PIXEL SIZE 65,16 UPDATE //FIVEWIDI

@ 25,740 SAY "Curs" OF oMdiChild ;
CENTER PIXEL SIZE 30,16 UPDATE //FIVEWIDI

/*@ 50,15 FWDSAY oPare PROMPT "Pares:" OF oMdiChild COLORS J02CLRTEXTO,;
J02CLRFONDO FONT J02FONTSAY PIXEL SIZE 50,16 UPDATE ON CLICK Pares_01( AMPAarra,;
0, oTdbfPares_:codipare, 0 ) //FIVEWIDI
*/

@ 50.00,70.00 GET oNomPare OF oMdiChild PICTURE ;
"@!" SIZE 125,16 PIXEL MESSAGE ;
"Nom del pare/mare" UPDATE //FIVEWIDI

@ 50.00,200.00 GET oTdbfPares_ OF oMdiChild PICTURE "@!" ;
SIZE 120,16 PIXEL MESSAGE ;
"Cognom 1 del pare/mare" UPDATE //FIVEWIDI

@ 50.00,325.00 GET oTdbfPares_ OF oMdiChild PICTURE "@!" ;
SIZE 120,16 PIXEL MESSAGE ;
"Cognom 2 del pare/mare" UPDATE //FIVEWIDI

@ 50.00,455.00 GET onifpare OF oMdiChild PICTURE "@!" ;
SIZE 80,16 PIXEL UPDATE //FIVEWIDI

@ 50.00,545.00 GET oCodipare OF oMdiChild PICTURE ;
"@!" SIZE 80,16 PIXEL UPDATE //FIVEWIDI

@ 50.00,630.00 GET osexepare OF oMdiChild PICTURE "9" ;
SIZE 15,16 PIXEL MESSAGE ;
"1->Home 2->Dona" UPDATE //FIVEWIDI

@ 50.00,650.00 GET odatanaixpare OF oMdiChild ;
SIZE 75,16 PIXEL UPDATE //FIVEWIDI

@ 62,730 SAY "Fills: ???" OF oMdiChild ;
PIXEL SIZE 50,16 UPDATE //FIVEWIDI

/*@ 75,15 FWDSAY oMare PROMPT "Pares:" OF oMdiChild COLORS J02CLRTEXTO,;
J02CLRFONDO FONT J02FONTSAY PIXEL SIZE 50,16 UPDATE ON CLICK Pares_01( AMPAarra,;
0, oTdbfMares_:codipare, 0 ) //FIVEWIDI
*/

@ 75.00,70.00 GET onommare OF oMdiChild PICTURE ;
"@!" SIZE 125,16 PIXEL MESSAGE ;
"Nom del pare/mare" UPDATE //FIVEWIDI

@ 75.00,200.00 GET oTdbfmares_ OF oMdiChild PICTURE "@!" ;
SIZE 120,16 PIXEL MESSAGE ;
"Cognom 1 del pare/mare" UPDATE //FIVEWIDI

@ 75.00,325.00 GET oTdbfmares_ OF oMdiChild PICTURE "@!" ;
SIZE 120,16 PIXEL MESSAGE ;
"Cognom 2 del pare/mare" UPDATE //FIVEWIDI


@ 175,337 CHECKBOX oFAMIFacturab PROMPT "Fact." OF ;
oMdiChild SIZE 50,16 PIXEL ;
MESSAGE "Indicador de si és facturable" UPDATE WHEN .T. //FIVEWIDI

@ 175,403 CHECKBOX oFAMIsoci PROMPT "AMPA" OF ;
oMdiChild SIZE 50,16 PIXEL ;
MESSAGE "És Soci AMPA?" UPDATE WHEN ( .T. ) //FIVEWIDI

@ 175.00,545.00 GET oCodifami OF oMdiChild ;
PICTURE "@!" SIZE 80,16 PIXEL ;
MESSAGE ;
"A les altes es respectaran les dades de la família d'aquest codi si ja existeix." ;
UPDATE //FIVEWIDI

@ 175,680 CHECKBOX oFAMICompDade PROMPT ;
"(*)Comparteix" OF oMdiChild SIZE 100,16 ;
PIXEL MESSAGE "Comparteixen les dades arteriscades." UPDATE WHEN ( .T. ) //FIVEWIDI

@ 200,15 BUTTON oBuscdomi PROMPT "*&Domiciliació" SIZE 50,16 ACTION ( .T.) OF ;
oMdiChild PIXEL MESSAGE "Permet seleccionar Domiciliació" ;
UPDATE WHEN ( .T. ) //FIVEWIDI

@ 200.00,70.00 GET onomcodidomi OF oMdiChild ;
PICTURE "@!" SIZE 250,16 PIXEL ;
UPDATE WHEN ( .T. ) //FIVEWIDI


@ 200.00,435.00 GET oCompte OF oMdiChild PICTURE ;
"9999999999" SIZE 100,16 PIXEL ;
UPDATE WHEN ( .T. ) //FIVEWIDI


@ 200,630 SAY oDomiFacturab PROMPT "-> Fact." OF oMdiChild PIXEL ;
SIZE 45,16 UPDATE //FIVEWIDI


@ 225.00,315.00 GET oTelefo4 OF oMdiChild PICTURE ;
"9999999999" SIZE 70,16 PIXEL ;
MESSAGE "Telèfon 4" UPDATE WHEN (.T. ) //FIVEWIDI

@ 225,414 BUTTON "*E-mail" SIZE 60,16 ACTION ShellExecute( oMdiChild ,"Open", ;
"mailto:kk@pis",,,0 ) OF oMdiChild PIXEL MESSAGE ;
"Enviar E-mail" UPDATE WHEN ( .T. ) //FIVEWIDI

@ 225.00,480.00 GET omail OF oMdiChild PICTURE "@!" ;
SIZE 300,16 PIXEL UPDATE WHEN ;
.T. //FIVEWIDI

@ 250,15 SAY "*Adreça:" OF oMdiChild ;
PIXEL SIZE 120,16 UPDATE //FIVEWIDI

@ 331.00,478.00 GET oObservac OF oMdiChild MULTILINE ;
SIZE 311,33 PIXEL MESSAGE ;
"Observacions generals" UPDATE NO VSCROLL //FIVEWIDI

@ 396,533 GROUP oGrBt TO 481,792 OF oMdiChild PIXEL //FIVEWIDI

@ 407,539 SAY "Dates manteniment" OF oMdiChild ;
PIXEL SIZE 150,16 UPDATE //FIVEWIDI

@ 407,738 BUTTON oToFamili01 PROMPT "+" SIZE 18,18 ACTION ( .T. ) OF oMdiChild ;
PIXEL MESSAGE "Accès a altra pantalla de dades família" UPDATE WHEN ;
(.T.) //FIVEWIDI


@ 453,745 BUTTON oPrint PROMPT "&Impri." SIZE 46,27 ACTION ( ;
.T. ) OF oMdiChild PIXEL UPDATE //FIVEWIDI



ACTIVATE WINDOW oMdiChild



oMdiChild:SetFocus()

Return Nil
// Fi de la funció d'arrancada.
*eof: prova.PRG

FUNCTION MenuMain( oMdi )

Local oMenumain

MENU oMenumain

MENUITEM "1ro."
MENU
MENUITEM "&ea" ACTION mdichild( oMdi )
SEPARATOR
MENUITEM "&Sortir" ACTION oMdi:End()
ENDMENU


ENDMENU

Return oMenumain
/* +++++++++++++++++++++ */
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Problemas conj tecla TAB y ENTER.

Post by FiveWiDi »

FiveWiDi wrote:Antonio,
Antonio,

Has leído el post anterior sobre el problema de TAB y ENTER? Lo tienes en cartera?

Ya se que el código de ejemplo que he dejado es largo, pero si haces copiar/pegar en un PRG directamente, te compilará y podrás probar lo que comento.

Saludos
Carlos G.
Post Reply