as i say i "attach" a Static to RibbonTabGroup.
Code: Select all
METHOD VOBWORK:InitTabArea()
LOCAL oDraw := ::drawingArea
LOCAL aSize := ::drawingArea:currentsize()
LOCAL aPos := {SC_LEFT,0}
aSize[1] := aSize[1]-SC_LEFT+SC_ADD // PbStack Leiste
aSize[2] := aSize[2]+SC_ADD
::aTabPage[ID_CALENDAR ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_ERFASSUNG,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_ARBEIT ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_FAKTURA ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_KUNDEN ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_IMOBILIE ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_ARTIKEL ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_UMSATZ ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_TOOLS ,IS_RIBSTAT] := XbpStatic():new( oDraw,, aPos,aSize,,.F. ):create()
::aTabPage[ID_CALENDAR ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 229, 242, 255 } ))
::aTabPage[ID_ERFASSUNG,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 204, 229, 254 } ))
::aTabPage[ID_ARBEIT ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 153, 203, 255 } ))
::aTabPage[ID_FAKTURA ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 101, 177, 255 } ))
::aTabPage[ID_KUNDEN ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 050, 151, 255 } ))
::aTabPage[ID_IMOBILIE ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 050, 151, 255 } ))
::aTabPage[ID_ARTIKEL ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 000, 125, 255 } ))
::aTabPage[ID_UMSATZ ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 000, 100, 204 } ))
::aTabPage[ID_TOOLS ,IS_RIBSTAT]:setColorBG(GraMakeRGBColor( { 255, 242, 229 } ))
::aTabPage[ID_CALENDAR ,IS_RIBSTAT]:setCaption("CALENDAR ")
::aTabPage[ID_ERFASSUNG,IS_RIBSTAT]:setCaption("ERFASSUNG")
::aTabPage[ID_ARBEIT ,IS_RIBSTAT]:setCaption("ARBEIT ")
::aTabPage[ID_FAKTURA ,IS_RIBSTAT]:setCaption("FAKTURA ")
::aTabPage[ID_KUNDEN ,IS_RIBSTAT]:setCaption("KUNDEN ")
::aTabPage[ID_IMOBILIE ,IS_RIBSTAT]:setCaption("IMOBILIE ")
::aTabPage[ID_ARTIKEL ,IS_RIBSTAT]:setCaption("ARTIKEL ")
::aTabPage[ID_UMSATZ ,IS_RIBSTAT]:setCaption("UMSATZ ")
::aTabPage[ID_TOOLS ,IS_RIBSTAT]:setCaption("TOOLS ")
::aTabPage[ID_CALENDAR ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_CALENDAR )}
::aTabPage[ID_ERFASSUNG,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_ERFASSUNG)}
::aTabPage[ID_ARBEIT ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_ARBEIT )}
::aTabPage[ID_FAKTURA ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_FAKTURA )}
::aTabPage[ID_KUNDEN ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_KUNDEN )}
::aTabPage[ID_IMOBILIE ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_IMOBILIE )}
::aTabPage[ID_ARTIKEL ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_ARTIKEL )}
::aTabPage[ID_UMSATZ ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_UMSATZ )}
::aTabPage[ID_TOOLS ,IS_RIBSTAT]:resize := {|mp1,mp2,oSelf| ::TabResize(mp1,mp2,oSelf,ID_TOOLS )}
RETURN self
Code: Select all
METHOD VOBWORK:TabResize(aOldSize,aNewSize,oSelf,nIDNr)
LOCAL iMax, aChild
LOCAL aSize := aNewSize
IF aOldSize[1] == 0 .AND. aOldSize[2] == 0
aOldSize := aNewSize
RETURN self
ELSEIF aNewSize[1] == 0 .OR. aNewSize[2] == 0
RETURN self
// add "same Size", nothing had happend
ELSEIF aNewSize[1] == aOldSize[1] .AND. aNewSize[2] == aOldSize[2]
RETURN self
ENDIF
* oSelf:hide()
* oSelf:LockUpdate(.T.)
oSelf:setPosAndSize({SC_LEFT,0},aNewSize)
aChild := oSelf:childList()
iMax := LEN(aChild)
IF iMax > 0
DO CASE
CASE nIDNr == ID_CALENDAR ; ::Tab_CALENDAR (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_ERFASSUNG ; ::Tab_ERFASSUNG(aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_ARBEIT ; ::Tab_ARBEIT (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_FAKTURA ; ::Tab_FAKTURA (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_KUNDEN ; ::Tab_KUNDEN (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_IMOBILIE ; ::Tab_IMOBILIE (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_ARTIKEL ; ::Tab_ARTIKEL (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_UMSATZ ; ::Tab_UMSATZ (aOldSize,aNewSize,oSelf)
CASE nIDNr == ID_TOOLS ; ::Tab_TOOLS (aOldSize,aNewSize,oSelf)
ENDCASE
ENDIF
* oSelf:LockUpdate(.F.)
* oSelf:show()
RETURN self
i "think" the "Problem" is that only Xbase++ have a :DrawingArea. In harbour you have to use a Static to "simulate" it.