FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Focus en window MDICHILD
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Focus en window MDICHILD
Posted: Fri Jan 31, 2025 06:58 AM

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

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Focus en window MDICHILD
Posted: Fri Jan 31, 2025 07:36 AM

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

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: Focus en window MDICHILD
Posted: Fri Jan 31, 2025 09: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
//--------------------------------------------------------------------------
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
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Focus en window MDICHILD
Posted: Fri Jan 31, 2025 09:45 PM

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

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Focus en window MDICHILD
Posted: Fri Jan 31, 2025 10:05 PM

Carlos,

oWndChild:lFocused

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Focus en window MDICHILD
Posted: Fri Jan 31, 2025 10:06 PM
JESUS MARIN wrote: 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
//--------------------------------------------------------------------------
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, muy bonito y profesional tu dise帽o.

Ser铆a genial si compartieses un ejemplo para todos, gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Focus en window MDICHILD
Posted: Sat Feb 01, 2025 03:52 PM
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
Posts: 199
Joined: Wed Jan 02, 2019 08:36 AM
Re: Focus en window MDICHILD
Posted: Sun Feb 02, 2025 09:34 AM
Querido Antonio
Por mi parte, encantado de ceder todo el c贸ddigo.
Solo dime c贸mo hacerlo.
Saludos
Jes煤s Mar铆n
Antonio Linares wrote:
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
//--------------------------------------------------------------------------
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, muy bonito y profesional tu dise帽o.

Ser铆a genial si compartieses un ejemplo para todos, gracias!
Jes煤s Mar铆n
deumare@gmail.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Focus en window MDICHILD
Posted: Sun Feb 02, 2025 01:09 PM
Jseus, Crea una cuenta aqui:

https://mega.nz

Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Focus en window MDICHILD
Posted: Sun Feb 02, 2025 04:10 PM
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!
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion