Hola a todos,
驴C贸mo puedo saber si una de las window MDICHILD tiene el foco?
Gracias,
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Hola a todos,
驴C贸mo puedo saber si una de las window MDICHILD tiene el foco?
Gracias,
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Carlos,
buenos dias
Prueba con oWndChild:hWnd == GetFocus()
Tambien podrias usar oWndChild:bGotFocus = { || MsgBeep() } y oWndChild:bLostFocus = { || MsgBeep() }
Puedes usar OutputDebugString( "foco recibido" ) y dbwin32 en vez de MsgBeep(). Si usas MsgInfo() alteraras la secuencia de foco

//--------------------------------------------------------------------------
METHOD MenuFolders( oButton, nRow, nCol ) CLASS TMdiChildFolder
LOCAL aVentanasMdi:=::Genera_botones_mdi()
LOCAL I:=1
local oMenu
LOCAL nRowMenu:=oButton:nTop+oButton:oWnd:nTop+oButton:nHeight
LOCAL nColMenu:=oButton:nLeft
MENU oMenu POPUP
FOR I=1 TO LEN(aVentanasMdi)
IF aVentanasMdi[i]==Self:cCaption
MENUITEM aVentanasMdi[i] OF oMenu CHECKED
ELSE
MENUITEM aVentanasMdi[i] OF oMenu
ENDIF
NEXT I
ENDMENU
FOR I=1 TO LEN(aVentanasMdi)
oMenu:aItems[i]:bAction := HazBlock(i)
NEXT I
oMenu:Activate( nRowMenu,nColMenu, Self , .f. )
RETURN(NIL)
//-----------------------------------------------------------------------------Muchas gracias Jesus,
Estoy buscando algo que no precise c贸digo, alguna DATA.
Supongo que si la clase tiene alguna DATA que al tomar el foco le da .T. y cuando lo pierde le da .F. ser铆a lo ideal.
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Carlos,
oWndChild:lFocused
JESUS MARIN wrote: Buenos diasJes煤s, muy bonito y profesional tu dise帽o.
En mi entorno de pruebas, MdiChildFolder, cre茅 una funci贸n que me muestra todas las ventanas MdiChild y me marca la que est谩 activa.
Por lo tanto deberia ser sencillo resolverlo. Te copio el c贸digo de esta funci贸n
//-------------------------------------------------------------------------- METHOD MenuFolders( oButton, nRow, nCol ) CLASS TMdiChildFolder LOCAL aVentanasMdi:=::Genera_botones_mdi() LOCAL I:=1 local oMenu LOCAL nRowMenu:=oButton:nTop+oButton:oWnd:nTop+oButton:nHeight LOCAL nColMenu:=oButton:nLeft MENU oMenu POPUP FOR I=1 TO LEN(aVentanasMdi) IF aVentanasMdi[i]==Self:cCaption MENUITEM aVentanasMdi[i] OF oMenu CHECKED ELSE MENUITEM aVentanasMdi[i] OF oMenu ENDIF NEXT I ENDMENU FOR I=1 TO LEN(aVentanasMdi) oMenu:aItems[i]:bAction := HazBlock(i) NEXT I oMenu:Activate( nRowMenu,nColMenu, Self , .f. ) RETURN(NIL) //-----------------------------------------------------------------------------
Estoy buscando algo que no precise c贸digo, alguna DATA.
Antonio Linares wrote:Buenos diasJes煤s, muy bonito y profesional tu dise帽o.
En mi entorno de pruebas, MdiChildFolder, cre茅 una funci贸n que me muestra todas las ventanas MdiChild y me marca la que est谩 activa.
Por lo tanto deberia ser sencillo resolverlo. Te copio el c贸digo de esta funci贸n
//-------------------------------------------------------------------------- METHOD MenuFolders( oButton, nRow, nCol ) CLASS TMdiChildFolder LOCAL aVentanasMdi:=::Genera_botones_mdi() LOCAL I:=1 local oMenu LOCAL nRowMenu:=oButton:nTop+oButton:oWnd:nTop+oButton:nHeight LOCAL nColMenu:=oButton:nLeft MENU oMenu POPUP FOR I=1 TO LEN(aVentanasMdi) IF aVentanasMdi[i]==Self:cCaption MENUITEM aVentanasMdi[i] OF oMenu CHECKED ELSE MENUITEM aVentanasMdi[i] OF oMenu ENDIF NEXT I ENDMENU FOR I=1 TO LEN(aVentanasMdi) oMenu:aItems[i]:bAction := HazBlock(i) NEXT I oMenu:Activate( nRowMenu,nColMenu, Self , .f. ) RETURN(NIL) //-----------------------------------------------------------------------------
Ser铆a genial si compartieses un ejemplo para todos, gracias!