Page 1 of 1

ejemplo ribbon

PostPosted: Mon Dec 14, 2009 4:25 pm
by Patricio Avalos Aguirre
Estimados

en el ejemplo ribbon al maximizar pierde la posición del menu popup

Image

Re: ejemplo ribbon

PostPosted: Mon Dec 14, 2009 7:49 pm
by Antonio Linares
Patricio,

En Windows 7 va bien, parece que solo falla con XP.

Vamos a revisarlo, gracias :-)

Re: ejemplo ribbon

PostPosted: Tue Dec 29, 2009 7:14 pm
by mantonio_08
MASTER ANTONIO,, SOBRE ESTE TEMA.. ALGO

ATTE.

Re: ejemplo ribbon

PostPosted: Wed Dec 30, 2009 3:16 am
by Antonio Linares
Mantonio,

Vamos a probarlo en un XP instalado en VirtualBox, lo antes posible

Re: ejemplo ribbon

PostPosted: Thu Dec 31, 2009 7:44 pm
by Antonio Linares
Solucionado :-)

Este cambio es necesario en la Clase TRBtn en 3 sitios en donde se hace la misma llamada:
Code: Select all  Expand view

      ::oPopup:Activate( ::nTop + ::nHeight(), ::nLeft - oWnd:nLeft, oWnd, .f. )
 

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 3:35 pm
by Patricio Avalos Aguirre
Excelente

muchas gracias master.-..

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 4:34 pm
by Patricio Avalos Aguirre
Antonio

Ahora falla esta parte..

Image

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 6:08 pm
by Antonio Linares
Patricio,

Este código lo arregla :-)
viewtopic.php?p=92718#p92718

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 8:14 pm
by Patricio Avalos Aguirre
Antonio

se arregla el de los ribbon pero Igual persiste el problema en los BUTTON

coloca en el oBtn19 MENU oMenu

Code: Select all  Expand view

@ 10, 75 ADD BUTTON oBtn19 GROUP oGr2 BITMAP "..\bitmaps\multilevellist16.bmp" GROUPBUTTON END SIZE 35, 20 ROUND POPUP MENU oMenu



Image

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 8:33 pm
by Patricio Avalos Aguirre
solucionado

Code: Select all  Expand view
                 case ::nTypeButton == TYPE_POPUP
                     if nCol >= ::nPopupMargin .or. !lAction
                        oWnd := ::oWnd
                        oWnd:NcMouseMove() // close the tooltip
                        oWnd:oPopup = ::oPopup
                        //::oPopup:Activate( ::nTop + ::nHeight(), ::nLeft, oWnd, .f. )
                                //::oPopup:Activate( ::nTop + ::nHeight(), ::nLeft - oWnd:nLeft, oWnd, .f. )
                        ::oPopup:Activate( ::nTop + ::nHeight() + ;
                                           If( GetClassName( GetParent( GetParent( ::hWnd ) ) ) != "TRPANEL",;
                                               oWnd:nHeight(), 0 ), ::nLeft, oWnd, .F. )
 

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 9:34 pm
by Antonio Linares
Patricio,

Aun hay que hacer esta modificación, para que en el botón izquierdo (color azul oscuro) se muestre bien el popup:
Code: Select all  Expand view

                  case ::nTypeButton == TYPE_POPUP
                     if nCol >= ::nPopupMargin .or. !lAction
                        oWnd := ::oWnd
                        oWnd:NcMouseMove() // close the tooltip
                        oWnd:oPopup = ::oPopup
                        ::oPopup:Activate( ::nTop + ::nHeight() + ;
                                           If( GetClassName( GetParent( GetParent( ::hWnd ) ) ) != "TRPANEL",;
                                               If( ! oWnd:IsKindOf( "TRIBBONBAR" ), oWnd:nHeight(), 0 ), 0 ), ::nLeft, oWnd, .F. )                        
                        oWnd:oPopup = nil
                        ::Refresh()
                     else
                        ::click()
                     endif
 

Re: ejemplo ribbon

PostPosted: Mon Jan 04, 2010 9:46 pm
by Antonio Linares
Patricio,

Aun hace falta un cambio más:
Code: Select all  Expand view

                  case ::nTypeButton == TYPE_POPUP
                     if nCol >= ::nPopupMargin .or. !lAction
                        oWnd := ::oWnd
                        oWnd:NcMouseMove() // close the tooltip
                        oWnd:oPopup = ::oPopup
                        ::oPopup:Activate( ::nTop + ::nHeight() + ;
                                           If( GetClassName( GetParent( GetParent( ::hWnd ) ) ) != "TRPANEL",;
                                               If( ! oWnd:IsKindOf( "TRIBBONBAR" ), oWnd:nHeight(), 0 ), 0 ),;
                                               ::nLeft - If( ! oWnd:IsKindOf( "TRBGROUP" ), oWnd:nLeft, 0 ), oWnd, .F. )                        
                        oWnd:oPopup = nil
                        ::Refresh()
                     else
                        ::click()
                     endif