Foco en Get de un Folder

Post Reply
MaxFW
Posts: 5
Joined: Thu Aug 23, 2007 3:55 am

Foco en Get de un Folder

Post by MaxFW »

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!!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Prueba así:

Code: Select all

ACTIVATE DIALOG oDlg CENTERED ; 
ON INIT ( oCodP1:SetFocus(), .F. ) 
Observa el uso de .F.
regards, saludos

Antonio Linares
www.fivetechsoft.com
MaxFW
Posts: 5
Joined: Thu Aug 23, 2007 3:55 am

Post by MaxFW »

Antonio, Funcionó OK!!
Te agradezco por las horas ahorradas!!
Sería factible saber que función cumple el .F. ese agregado?? No lo tenía entre mis recursos.....
Un abrazo!!
Max
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

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.
>
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply