Sr. Antonio e amigos,
Como capturar o objeto da dialog que estiver ativa no momento?
Obrigado
Como capturar objeto Dialog ativa?
Re: Como capturar objeto Dialog ativa?
Sr. Antonio,
Direto na classe DIALOG.PRG, como passar o obj?
METHOD KeyDown( nKey, nFlags ) CLASS TDialog
if nKey == VK_ESCAPE
if ::oWnd == nil
::End()
else
if ::oWnd:ChildLevel( TMdiChild() ) != 0
::End()
else
if ::oWnd:ChildLevel( TDialog() ) != 0
::End()
#ifdef __HARBOUR__
elseif Upper( ::oWnd:ClassName() ) == "TMDIFRAME" // To avoid ESC being ignored
::End()
#endif
else
return Super:KeyDown( nKey, nFlags )
endif
endif
endif
// else
elseif nKey==VK_F12
sgtrad(::hWnd)
else
return Super:KeyDown( nKey, nFlags )
endif
return nil
Do jeito acima não funciona!
Direto na classe DIALOG.PRG, como passar o obj?
METHOD KeyDown( nKey, nFlags ) CLASS TDialog
if nKey == VK_ESCAPE
if ::oWnd == nil
::End()
else
if ::oWnd:ChildLevel( TMdiChild() ) != 0
::End()
else
if ::oWnd:ChildLevel( TDialog() ) != 0
::End()
#ifdef __HARBOUR__
elseif Upper( ::oWnd:ClassName() ) == "TMDIFRAME" // To avoid ESC being ignored
::End()
#endif
else
return Super:KeyDown( nKey, nFlags )
endif
endif
endif
// else
elseif nKey==VK_F12
sgtrad(::hWnd)
else
return Super:KeyDown( nKey, nFlags )
endif
return nil
Do jeito acima não funciona!
Re: Como capturar objeto Dialog ativa?
Prueba con esto:
oDlg:lFocused
debiera ser .T. cuando tiene el foco
me comentas por que no lo prove...
Saludos
oDlg:lFocused
debiera ser .T. cuando tiene el foco
me comentas por que no lo prove...
Saludos
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como capturar objeto Dialog ativa?
SGS,
Si lo que deseas es saber que control de un diálogo tiene foco, puedes usar:
Si lo que deseas es obtener el objeto diálogo que se corresponde a un determinado hWnd
Desde cualquier Método de la Clase TDialog, el objeto diálogo está accesible en "Self":
Si lo que deseas es saber que control de un diálogo tiene foco, puedes usar:
Code: Select all
nAt = AScan( oDlg:aControls, { | o | o:lFocused } )
if nAt != 0
MsgInfo( oDlg:aControls[ nAt ]:ClassName() )
// MsgInfo( oDlg:aControls[ nAt ]:nId )
endif
Code: Select all
oDlgFromHwnd( hWnd )
Code: Select all
elseif nKey==VK_F12
sgtrad( Self ) // Self es oDlg
else