Hola a todos y gracias de antemano!!
Defino un diálogo con 3 folders y necesito que al inicar, el foco esté en el 1er get del primer Folder. He probado de 100 maneras viendo ejemplos y consultas en el foro y no lo puedo solucionar. Algo estoy haciendo mal, no obstante todos los ejemplos que vi en \SAMPLES, ninguno tiene el foco en el primer objeto del Folder. Siempre hay que clickear con el mouse.
Adjunto código a ver si alguien me ayuda (FW 1.95,Clp 5.2 y Blinker 3.0):
local oDlg
local oFld
local hBorl:=LoadLibrary("MIBWCC.DLL")
local oCodP1, oRazPro1, oBusP1
local oBtnOK, oBtnCancel
local nCodP1:=0, nCodP2:=0, cRazPro1
DEFINE DIALOG oDlg RESOURCE "MARCO"
REDEFINE FOLDER oFld ID 1499 OF oDlg;
PROMPTS "Comprobantes","Valores","Comisión y Gastos";
DIALOGS "LIQUI1","LIQUI2","LIQUI3"
oFld:aEnable := { .t., .f., .f. }
REDEFINE GET oCodP1 VAR nCodP1 PICTURE "9999" ID LQ1_CODP OF oFld:aDialogs[1] UPDATE ;
VALID Eval (ValidaCodp)
REDEFINE GET oRazPro VAR cRazPro PICTURE "@K!" ID LQ1_RAZP OF oFld:aDialogs[1] ;
VALID Eval (ValidaRazP)
REDEFINE BUTTON oBusP ID LQ1_BUSP OF oFld:aDialogs[1] ;
ACTION Eval(ValidaBusP)
REDEFINE BUTTON oBtnCancel ID LQ3_CANCEL OF oDlg ACTION oDlg:End() CANCEL
REDEFINE BUTTON oBtnOK ID LQ3_OK OF oDlg ACTION ....
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT (oFld:aDialogs[1]:bGotFocus:={ || oCodP1:SetFocus() } )
He probado con oFld:SetOption(1),oFld:nOption:=1,oCodP1:SetFocus(.T.), etc y nada funciona
Saludos y gracias!!
Foco en Get de un Folder
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Prueba así:
Observa el uso de .F.
Code: Select all
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oCodP1:SetFocus(), .F. )
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Max,
Es un comportamiento propio del mensaje WM_INITDIALOG de Windows documentado en su API
>
Return Values
The dialog box procedure should return TRUE to direct Windows to set the keyboard focus to the control given by hwndFocus. Otherwise, it should return FALSE to prevent Windows from setting the default keyboard focus.
>
Es un comportamiento propio del mensaje WM_INITDIALOG de Windows documentado en su API
>
Return Values
The dialog box procedure should return TRUE to direct Windows to set the keyboard focus to the control given by hwndFocus. Otherwise, it should return FALSE to prevent Windows from setting the default keyboard focus.
>