Ejecutar función despues de ACTIVE DIALOG (SOLUCIONADO)

Post Reply
leondefrancia
Posts: 33
Joined: Tue Jun 08, 2010 3:34 pm
Location: Rosario, Santa Fe. Argentina

Ejecutar función despues de ACTIVE DIALOG (SOLUCIONADO)

Post by leondefrancia »

Estimados, tengo el siguiente inconveniente por ser novato en el tema, estoy realizando un active dialog sobre un objeto formulario , el cual en el método on init le asigno un objeto browse para mostrar dentro del mismo, este último tiene asociado teclas de atajo que llaman a otros formularios.
Si en el active dialog le paso la tecla que necesito (F6) antes de terminar de visualizar el formulario principal el browse ya me muestra el formulario que llamaba esta tecla, es decir veo un formulario fuera de contexto ya que recien al salir termino de visualizar el formulario principal.

Mi pregunta es como pasarle el keydown del F6 una vez que el objeto que estoy inicializando se terminó de cargar y se está mostrando en pantalla.
Ejemplo del código que estoy modificando:
ACTIVE DIALOG oForm CENTER ON INIT ( InitMulti(oForm), BarraEstado(), ObjBrowse:Refresh(), oForm:Refresh(), ObjBrowse:PostMsg(WM_KEYDOWN, VK_F6,0) )
Desde ya muchas gracias.
Last edited by leondefrancia on Fri Feb 25, 2011 4:06 pm, edited 1 time in total.
Libreria: FWH/FWHX 9.11 25/November/2009
Harbour: Harbour 2.0.0 Beta2
Compilador: Borland C++ 5.5.1 versión 32 bits
Editor de Recursos: UEstudio 10.0
Gestor de B.D: A.D.A ( Advantage Data Architect )
S.O: Windows XP
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ejecutar función despues de ACTIVE DIALOG

Post by acuellar »

León

Tenes que ponerlo dentro del dialogo

Code: Select all

ObjBrowse:bKeyDown:={ |nKey| iif( nKey=VK_F6,oDlg:End(), ) }
 
Saludos,

Adhemar
Saludos,

Adhemar C.
leondefrancia
Posts: 33
Joined: Tue Jun 08, 2010 3:34 pm
Location: Rosario, Santa Fe. Argentina

Re: Ejecutar función despues de ACTIVE DIALOG

Post by leondefrancia »

Adhemar gracias por responder tan rápido, te explico lo que me sucede, el browse ya tiene asociado determinadas teclas de función, al iniciar el tdialog levanto un formulario y dentro de este el browse. El F6 llama a un formulario para el ingreso de artículos, lo que necesito es que al instanciar la ventana ese formulario de ingreso ya aparezca para el usuario, probé con el código que me pusiste de ejemplo pero no sé como adaptarlo, porque dentro de el debería colocar a la función que llama el F6 pero sigo sin ejecutar el F6, me explico?

Jorge.
Libreria: FWH/FWHX 9.11 25/November/2009
Harbour: Harbour 2.0.0 Beta2
Compilador: Borland C++ 5.5.1 versión 32 bits
Editor de Recursos: UEstudio 10.0
Gestor de B.D: A.D.A ( Advantage Data Architect )
S.O: Windows XP
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ejecutar función despues de ACTIVE DIALOG

Post by acuellar »

Jorge

Quizas asi:

Code: Select all

 oDlg:bStart = { || Funcion(),lEnd := .t., oDlg:End() }
 
Saludos,


Adhemar
Saludos,

Adhemar C.
leondefrancia
Posts: 33
Joined: Tue Jun 08, 2010 3:34 pm
Location: Rosario, Santa Fe. Argentina

Re: Ejecutar función despues de ACTIVE DIALOG

Post by leondefrancia »

Adhemar sos un genio!!!
La solución que me pasaste la modifiqué así "oForm:bStart = { || ObjBrowse:PostMsg(WM_KEYDOWN, VK_F6,0) }" y salió excelente!
Muchisimas, muchisimas, gracias, estuve un montón renegando con este tema, leia una ayuda de fivewin que me dieron (fwclass.hlp) pero no figura ninguno de los dos métodos que mencionaste.

Saludos!
Libreria: FWH/FWHX 9.11 25/November/2009
Harbour: Harbour 2.0.0 Beta2
Compilador: Borland C++ 5.5.1 versión 32 bits
Editor de Recursos: UEstudio 10.0
Gestor de B.D: A.D.A ( Advantage Data Architect )
S.O: Windows XP
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ejecutar función despues de ACTIVE DIALOG

Post by acuellar »

Bien Jorge
:lol:

Saludos,

Adhemar
Saludos,

Adhemar C.
Post Reply