Focus en window MDICHILD
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Focus en window MDICHILD
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
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
-
- Posts: 178
- Joined: Wed Jan 02, 2019 8:36 am
Re: Focus en window MDICHILD
Buenos dias
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
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
Code: Select all | Expand
//--------------------------------------------------------------------------
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)
//-----------------------------------------------------------------------------
Jesús Marín
deumare@gmail.com
Mi especialidad en programación : Virtualidad real ( en vez de la realidad virtual ) ;)
deumare@gmail.com
Mi especialidad en programación : Virtualidad real ( en vez de la realidad virtual ) ;)
Re: Focus en window MDICHILD
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.
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 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
Carlos G.
FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Focus en window MDICHILD
Jesús, muy bonito y profesional tu diseño.JESUS MARIN wrote: Fri Jan 31, 2025 9:51 am Buenos dias
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
Code: Select all | Expand
//-------------------------------------------------------------------------- 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!
- FranciscoA
- Posts: 2163
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Focus en window MDICHILD
Estoy buscando algo que no precise código, alguna DATA.
Carlos.
Cuando abres ventanas MDICHILD, en el elemento 2 del menu de la ventana principal se van mostrando las mdichilds abiertas y marcada la que tiene el foco. No sé si es lo que buscas. ( MENUINFO 2 )
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
-
- Posts: 178
- Joined: Wed Jan 02, 2019 8:36 am
Re: Focus en window MDICHILD
Querido Antonio
Por mi parte, encantado de ceder todo el códdigo.
Solo dime cómo hacerlo.
Saludos
Jesús Marín
Por mi parte, encantado de ceder todo el códdigo.
Solo dime cómo hacerlo.
Saludos
Jesús Marín
Antonio Linares wrote: Fri Jan 31, 2025 10:06 pmJesús, muy bonito y profesional tu diseño.JESUS MARIN wrote: Fri Jan 31, 2025 9:51 am Buenos dias
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
Code: Select all | Expand
//-------------------------------------------------------------------------- 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!
Jesús Marín
deumare@gmail.com
Mi especialidad en programación : Virtualidad real ( en vez de la realidad virtual ) ;)
deumare@gmail.com
Mi especialidad en programación : Virtualidad real ( en vez de la realidad virtual ) ;)
- karinha
- Posts: 7940
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
- Antonio Linares
- Site Admin
- Posts: 42529
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 77 times
- Contact:
Re: Focus en window MDICHILD
Jesús,
Lo más sencillo es crear un repositorio gratuito en github, subir todo el código allí y compartir la URL del repositorio
https://github.com/
Gracias!
Lo más sencillo es crear un repositorio gratuito en github, subir todo el código allí y compartir la URL del repositorio

https://github.com/
Gracias!