FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como capturar objeto Dialog ativa?
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Como capturar objeto Dialog ativa?
Posted: Mon Sep 28, 2009 09:26 PM

Sr. Antonio e amigos,

Como capturar o objeto da dialog que estiver ativa no momento?

Obrigado

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Como capturar objeto Dialog ativa?
Posted: Mon Sep 28, 2009 10:08 PM
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 ::ChildLevel( TMdiChild() ) != 0
::End()
else
if ::ChildLevel( TDialog() ) != 0
::End()
#ifdef __HARBOUR__
elseif Upper( ::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!
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Como capturar objeto Dialog ativa?
Posted: Tue Sep 29, 2009 01:31 PM

Up!

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 32
Joined: Tue Jun 24, 2008 05:19 PM
Re: Como capturar objeto Dialog ativa?
Posted: Sat Oct 03, 2009 03:53 PM

Prueba con esto:

oDlg:lFocused

debiera ser .T. cuando tiene el foco

me comentas por que no lo prove...

Saludos

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Como capturar objeto Dialog ativa?
Posted: Sat Oct 03, 2009 09:01 PM
SGS,

Si lo que deseas es saber que control de un diálogo tiene foco, puedes usar:

Code (fw): Select all Collapse
nAt = AScan( oDlg:aControls, { | o | o:lFocused } )
if nAt != 0
   MsgInfo( oDlg:aControls[ nAt ]:ClassName() )
   // MsgInfo( oDlg:aControls[ nAt ]:nId )
endif


Si lo que deseas es obtener el objeto diálogo que se corresponde a un determinado hWnd
Code (fw): Select all Collapse
oDlgFromHwnd( hWnd )


Desde cualquier Método de la Clase TDialog, el objeto diálogo está accesible en "Self":
Code (fw): Select all Collapse
elseif nKey==VK_F12
   sgtrad( Self ) // Self es oDlg
else
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion