Page 1 of 1

ACTIVATE DIALOG y POSTMSG

Posted: Mon Feb 22, 2010 9:28 pm
by jmansur
Estimadoss.

Tengo un problema.

Luego que ACTIVO un Dialogo, el usuario puede presionar varias teclas que tienen asociadas algunas funcionalidades.

Intento ACTIVAR el dialogo y forzar una tecla al mismo tiempo.

Lo que hago es lo siguiente pero no logro que funcione. Alguna idea?

ACTIVATE DIALOG oForm CENTER ON INIT ( oForm:POSTMSG(WM_KEYDOWN, K_F6,0) )


Saludosssssssssssssssssssssssssssssssssss

Re: ACTIVATE DIALOG y POSTMSG

Posted: Mon Feb 22, 2010 10:44 pm
by Daniel Garcia-Gil
Hola jmansur...

Por curiosidad, porque no simplemente llamas al proceso que se ejecuta con esa tecla?

Re: ACTIVATE DIALOG y POSTMSG

Posted: Tue Feb 23, 2010 6:59 pm
by rbecares
Daniel:

Lo que ocurre es que esa tecla esta parametrizada y desde un mismo programa que utiliza el activate dialog llamamos distintos procesos, lo que probamos con Jorge es a traves del fuente y de esta prueba buscar alguna opcion que luego se usara un poco distinta, y probando el POSTMSG no logramos que ejecute la accion que tenemos parametrizada en la tecla F6. ¿Tenés alguna idea del uso del POSTMSG o como introducir desde el fuente un "TECLAZO" ?

Gracias.

Re: ACTIVATE DIALOG y POSTMSG

Posted: Tue Feb 23, 2010 10:04 pm
by Daniel Garcia-Gil
Saludos...

es exactamente como lo hacen... este es un ejemplo funcional usando el mismo codigo, la falla puede estar en otro sitio

Code: Select all

#include "FiveWin.ch"

Function Main()

    local oDlg

    DEFINE DIALOG oDlg TITLE "Testing..."

    oDlg:bKeyDown = {| nKey | MsgInfo( nKey ) }

    ACTIVATE DIALOG oDlg CENTERED ;
             ON INIT ::PostMsg( WM_KEYDOWN, VK_F6, 0 )

return nil
 

Re: ACTIVATE DIALOG y POSTMSG

Posted: Wed Feb 24, 2010 12:29 pm
by rbecares
Gracias Daniel!!!!!

Nos has dado la pista que necesitábamos, solamente leyendo tu fuente creo que estamos en el camino de resolverlo.

Cualquier otra duda te consultaremos.

De nuevo gracias.!