Como capturar objeto Dialog ativa?

Como capturar objeto Dialog ativa?

Postby MGA » Mon Sep 28, 2009 9:26 pm

Sr. Antonio e amigos,

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

Obrigado
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Como capturar objeto Dialog ativa?

Postby MGA » 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 ::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!
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Como capturar objeto Dialog ativa?

Postby MGA » Tue Sep 29, 2009 1:31 pm

Up!
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Como capturar objeto Dialog ativa?

Postby VPOZO » Sat Oct 03, 2009 3:53 pm

Prueba con esto:

oDlg:lFocused

debiera ser .T. cuando tiene el foco

me comentas por que no lo prove...

Saludos
User avatar
VPOZO
 
Posts: 32
Joined: Tue Jun 24, 2008 5:19 pm
Location: Punta Arenas, Chile

Re: Como capturar objeto Dialog ativa?

Postby Antonio Linares » Sat Oct 03, 2009 9:01 pm

SGS,

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

Code: Select all  Expand view

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: Select all  Expand view

oDlgFromHwnd( hWnd )
 


Desde cualquier Método de la Clase TDialog, el objeto diálogo está accesible en "Self":
Code: Select all  Expand view

elseif nKey==VK_F12
   sgtrad( Self ) // Self es oDlg
else
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 90 guests