Problema con los menus2007 en una aplicacion MDI no resuelto

Post Reply
SauroSrl
Posts: 17
Joined: Mon Feb 06, 2006 2:57 pm

Problema con los menus2007 en una aplicacion MDI no resuelto

Post by SauroSrl »

Hola Antonio:

Por lo visto estas con mucho trabajo, entiendo, por lo que me gustaria saber si ya se encontro la solucion al problema que ocurre cuando se abre ventanas MDI y se tiene los menus2007 activado, los items del menu Windows, correspondientes a las ventanas MDI aparecen cortados.

Aca esta la imagen..

Image

de nuevo gracias por la ayuda

Atentamente,
Rolando Salazar U.
SAURO SRL.
INFORMATICA Y SISTEMAS
FWH802 + xHArbour 1.10
email: SauroSrl@entelnet.bo
Cochabamba-Bolivia
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Rolando,

Hay que hacer esta modificación en source\classes\window.prg:

Code: Select all

...
         MenuMeasureItem( pMitStruct,;
                          0.9 * GetTextWidth( 0, If( ! Empty( oItem:cPrompt ),;
                          StrTran( oItem:cPrompt, "&", "" ), "" ) ) + ;
                          If( oItem:oMenu:hMenu != If( ::oMenu != nil, ::oMenu:hMenu, 0 ), 100, 0 ),;
                          Empty( oItem:cPrompt ) )
...
Observa el valor 100 ahí. Es el que cambia.

Se nos había pasado revisar este tema. Gracias por recordárnoslo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
SauroSrl
Posts: 17
Joined: Mon Feb 06, 2006 2:57 pm

No es buena solucion

Post by SauroSrl »

Hola Antonio:

Como solucion temporal esta bien, pero yo no la aplicare, porque si lo hago todos mis menus cambian y se vuelven mas anchos.

Es preferible que uno de los items del submenu Windows sea mas ancho (como 100) colocandole un punto al final, para evitar algun RTRIM() que hubiera.

Lo extraño es que si el menu no es Look2007 (oMenu:l2007 = .F) y es Look3D, la actualizacion del ancho del submenu Windows es correcta.

Estuve buscando donde es que se actualiza el submenu Windows, pero no lo encontre.

Lo que si sé es que el submenu Windows es el penultimo del menu de la aplicacion, y no se fija que nombre tenga (puede ser xWindows).

Otra observacion que tengo es que por mas ancho que sea este submenu, un nombre de mas de 30 caracteres es truncado a 30. En Look3D muestra los nombres correctamente.

Me gustaria saber por donde puedo buscar, para corregir el error; es decir donde es que se añade el nuevo item al penultimo SubMenu ( llamemosle submenu MDI).
¿ lo hace fivewin ?
¿ lo hace xharbour ?
¿ o lo hace el API de Windows?

Atentamente,
Rolando Salazar U.
SAURO SRL.
INFORMATICA Y SISTEMAS
FWH802 + xHArbour 1.10
email: SauroSrl@entelnet.bo
Cochabamba-Bolivia
Post Reply