1 TCHUI.TControl 0 %Integer %Integer 100 %Integer 0 %Integer 1 %Integer 5 %Boolean 0 %String $$$clUltraDark %String $$$clUltraLight %Boolean 1 Value:%Integer %Integer Value:%Boolean %Status FontSelected CaptionLeftOffs => ; * CaptionSplit = (BarWidth-CaptionLeftOffs) = 8-6 = 2 ; * MoveTo(Top,CaptionLeftOffs) + FGColor=BGColor + BGColor=FGColor ; * MoveTo(Top,CaptionLeftOffs+CaptionSplit) + orig colors ; 3 versies mogelijk ; {####..25%.......} Version 1 ; {#######0%.......} Version 2 ; {############....} Version 3 ; 1 23 4 5 Set BarWidth=((..Position/(..MaxValue-..MinValue))*..Width)\1 If ..Caption="" Do Quit . Do ..Canvas.FillRect(..Top,..Left,1,BarWidth,$$$fsNoUnderline,,..FGColor) . Do ..Canvas.FillRect(..Top,..Left+BarWidth,1,..Width-BarWidth,$$$fsNoUnderline,,..BGColor) Set CaptionLen=$L(..Caption) Set CaptionLeftOffs=(..Width-CaptionLen)\2 ; Version 1 If BarWidth(CaptionLeftOffs+CaptionLen) Do . Set L1=CaptionLeftOffs . Set L2=L1 . Set L3=CaptionLeftOffs+CaptionLen . Set L4=L3 . Set L5=BarWidth ; Version 2 Else Do . Set L1=CaptionLeftOffs . Set L2=L1 . Set L3=BarWidth . Set L4=CaptionLeftOffs+CaptionLen . Set L5=L4 If L1'=0 Do . Do ..Canvas.FillRect(..Top,..Left,1,L1,$$$fsNoUnderline,,..FGColor) If (L2-L1)'=0 Do // L2 start vanaf L1 . Do ..Canvas.FillRect(..Top,..Left+L1,1,L2-L1,$$$fsNoUnderline,,..BGColor) If (L3-L2)'=0 Do // L3 start vanaf L2 - TEXT . Do ..Canvas.AdaptFont(,..BGColor,..FGColor) . Do ..Canvas.MoveTo(..Top,..Left+L2) . Do ..Canvas.TextOut($E(..Caption,1,L3-L2)) If (L4-L3)'=0 Do // L4 start vanaf L3 - TEXT . Do ..Canvas.AdaptFont(,..FGColor,..BGColor) . Do ..Canvas.MoveTo(..Top,..Left+L3) . Do ..Canvas.TextOut($E(..Caption,L3-L2+1,L4-L3)) If (L5-L4)'=0 Do // L5 start vanaf L4 . Do ..Canvas.FillRect(..Top,..Left+L4,1,L5-L4,$$$fsNoUnderline,,..FGColor) If (..Width-L5)'=0 Do . Do ..Canvas.FillRect(..Top,..Left+L5,1,..Width-L5,$$$fsNoUnderline,,..BGColor) ]]> Value:%Integer %Status ..MaxValue) || (Value<..MinValue)) Quit:(..Position=Value) Set i%Position=Value Set:(..ShowPercentage) i%Caption=..GetPercentage(Value)_"%" Do ..DefaultPaint() ]]> Step:%Integer