Estoy creando una ventana MDI con una Ribbon, algo en principio simple, pero los botones se pintan mal al principio. Al pasar el ratón por encima se corrigen:
Imagen mal:
despues de pasar el raton por encima:
Código:
- Code: Select all Expand view
#INCLUDE 'Fivewin.ch'
#INCLUDE 'Ribbon.ch'
STATIC OWNDMAIN, oFont , oFuenteL, oFuenteM, oFuenteS, oWnd
Procedure Main()
LOCAL oBrush , oBmpTit
DEFINE FONT oFuenteL NAME "Segoe UI Light" SIZE 0, -30
DEFINE FONT oFuenteM NAME "Segoe UI Light" SIZE 0, -17
DEFINE FONT oFuenteS NAME "Segoe UI Light" SIZE 0, -14
DEFINE WINDOW oWnd MDI BRUSH oBrush TITLE 'Prueba' STYLE nOr( WS_POPUP, WS_BORDER)
oWnd:bInit :={|| MainMenu(),oWnd:Refresh()}
oWnd:oMenu:end()
ACTIVATE WINDOW oWnd maximized
RETURN
//----------------------------------------------------------------------------//
Function MainMenu()
local oRbnBar, oGr1,oTBtn1, oTBtn2,oTBtn3,oGr2,oGr3, oBtn
local oBackStage
local option
local oMtr,nAct
local aDB := {}
if oRbnBar !=nil
oRbnBar:End()
oRbnBar:=nil
endif
DEFINE RIBBONBAR oRbnBar WINDOW oWnd PROMPT "Principal" HEIGHT 127 TOPMARGIN 25 2013 //Apariencia del 2013
oRbnBar:nLeftMargin = 4
oRbnBar:CalcPos()
ADD group oGr1 RIBBON oRbnBar to Option 1 PROMPT "Maestros" WIDTH 805
@ 5,5 ADD BUTTON oBtn PROMPT "SubSec" GROUP oGr1 BITMAP "subsec" ROUND SIZE 75,75 ACTION Mantegen("MAESUBSEC",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
@ 5,85 ADD BUTTON oBtn PROMPT "CLegal" GROUP oGr1 BITMAP "contra" ROUND SIZE 75,75 ACTION Mantegen("MAECONLEG",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
@ 5,165 ADD BUTTON oBtn PROMPT "CInterno" GROUP oGr1 BITMAP "contral" ROUND SIZE 75,75 ACTION Mantegen("MAECONINT",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
@ 5,245 ADD BUTTON oBtn PROMPT "Provincia" GROUP oGr1 BITMAP "provin" ROUND SIZE 75,75 ACTION Mantegen("MAEPROVIN",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
@ 5,325 ADD BUTTON oBtn PROMPT "Paises" GROUP oGr1 BITMAP "paises" ROUND SIZE 75,75 ACTION Mantegen("MAEPAIS",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
@ 5,405 ADD BUTTON oBtn PROMPT "Poblacion" GROUP oGr1 BITMAP "poblacion" ROUND SIZE 75,75 ACTION Mantegen("MAEPOBLAC",aDB,.T.,{},{})
oBtn:SetFont(oFuenteS)
oGr1:SetFont(oFuenteS)
ADD group oGr2 RIBBON oRbnBar to Option 1 PROMPT "Internos" WIDTH 100
@ 5,15 ADD BUTTON oBtn PROMPT "Datos Pers." GROUP oGr2 BITMAP "trabaja" ROUND SIZE 75,75 ACTION Mantegen ("DATPER",aDB,.F.,{},{})
oGr2:SetFont(oFuenteS)
oBtn:SetFont(oFuenteS)
ADD group oGr3 RIBBON oRbnBar to Option 1 PROMPT "Externos" WIDTH 100
@ 5,15 ADD BUTTON oBtn PROMPT "Datos Pers." GROUP oGr3 BITMAP "exter" ROUND SIZE 75,75 ACTION Mantegen ("INFTRAEXT",aDB,.F.,{},{})
oGr3:SetFont(oFuenteS)
oBtn:SetFont(oFuenteS)
return nil
Function Mantegen( cData )
RETURN MsgInfo(cData )
Esta compilado y generado con la última versión de FW, bajada hoy mismo.
No tengo idea que estoy haciendo mal. ¿Alguna pista por favor?
Otro tema: Me gustaría cambiar la altura de las pestañas, pero veo en el código fuente de la TRibbon que si selecciono el tema 2013 nTopMargin se fuerza a 25. ¿Eso es por algo en especial? ¿Se podría cambiar en la clase?
Un saludo