浏览代码

trackbarupdown: arrow color, optional trackbar, test custom colors

circular17 10 年之前
父节点
当前提交
380b81713b

+ 31 - 9
bctrackbarupdown.pas

@@ -14,9 +14,6 @@ type
   { TCustomBCTrackbarUpdown }
 
   TCustomBCTrackbarUpdown = class(TBCCustomControl)
-  private
-    FArrowColor: TColor;
-    procedure SetArrowColor(AValue: TColor);
   protected
     FHandlingUserInput: boolean;
     FLongTimeInterval,FShortTimeInterval: integer;
@@ -32,12 +29,16 @@ type
     FBCRounding: TBCRounding;
     FBCBackground: TBCBackground;
     FBCButtonBackground,FBCButtonDownBackground: TBCBackground;
+    FArrowColor: TColor;
+    FHasTrackBar: boolean;
 
     FTextLeft: Integer;
     FBarLeft,FBarTop,FBarWidth,FBarHeight: Integer;
     FUpDownWidth: Integer;
     FUpDownLeft: Integer;
     function GetValue: integer;
+    procedure SetArrowColor(AValue: TColor);
+    procedure SetHasTrackBar(AValue: boolean);
     procedure SetBarExponent(AValue: single);
     procedure SetBCBackground(AValue: TBCBackground);
     procedure SetBCBorder(AValue: TBCBorder);
@@ -78,6 +79,7 @@ type
     property ButtonDownBackground: TBCBackground read FBCButtonDownBackground write SetBCButtonDownBackground;
     property Rounding: TBCRounding read FBCRounding write SetBCRounding;
     property ArrowColor: TColor read FArrowColor write SetArrowColor;
+    property HasTrackBar: boolean read FHasTrackBar write SetHasTrackBar;
 
     property BarExponent: single read FBarExponent write SetBarExponent;
     property Increment: integer read FIncrement write SetIncrement;
@@ -110,6 +112,8 @@ type
     property Border;
     property Rounding;
     property Font;
+    property HasTrackBar;
+    property ArrowColor;
 
     //inherited
     property Align;
@@ -261,6 +265,13 @@ begin
   Invalidate;
 end;
 
+procedure TCustomBCTrackbarUpdown.SetHasTrackBar(AValue: boolean);
+begin
+  if FHasTrackBar=AValue then Exit;
+  FHasTrackBar:=AValue;
+  Invalidate;
+end;
+
 function TCustomBCTrackbarUpdown.GetValue: integer;
 begin
   if FValue < FMinValue then result := FMinValue else
@@ -340,14 +351,23 @@ begin
   CalculateInnerRect(Border, bounds);
   ty := bounds.bottom-bounds.top-2;
   FTextLeft := bounds.left+1+((ty+5) div 10);
-  FBarHeight := (bounds.bottom-bounds.top+3) div 5+1;
   FUpDownWidth := (ty*3+3) div 5;
   FUpDownLeft := bounds.right-FUpDownWidth;
+
   FBarLeft := bounds.left+1;
-  if (Rounding.RoundX > 1) and (Rounding.RoundY > 1) then
-    FBarLeft += FBarHeight+1;
-  FBarWidth := bounds.right-FUpDownWidth-FBarHeight+1-FBarLeft;
+  if FHasTrackBar then
+  begin
+    FBarHeight := (bounds.bottom-bounds.top+3) div 5+1;
+    FBarWidth := bounds.right-FUpDownWidth-FBarHeight+1-FBarLeft;
+    if (Rounding.RoundX > 1) and (Rounding.RoundY > 1) then
+      FBarLeft += FBarHeight+1;
+  end else
+  begin
+    FBarWidth := 0;
+    FBarHeight := 2;
+  end;
   FBarTop := bounds.bottom-FBarHeight;
+
   midy := ABitmap.Height div 2;
 
   ABitmap.ClipRect := rect(fullbounds.left,fullbounds.top,FUpDownLeft+1,fullbounds.bottom);
@@ -422,8 +442,9 @@ begin
   end;
 
   barx := ValueToBarPos(Value);
-  ABitmap.FillPolyAntialias([PointF(barx,FBarTop),PointF(barx+FBarHeight,FBarTop+FBarHeight),
-  PointF(barx-FBarHeight,FBarTop+FBarHeight)],fgcolor);
+  if FHasTrackBar then
+    ABitmap.FillPolyAntialias([PointF(barx,FBarTop),PointF(barx+FBarHeight,FBarTop+FBarHeight),
+      PointF(barx-FBarHeight,FBarTop+FBarHeight)],fgcolor);
   midx := FUpDownLeft+(FUpDownWidth-1)/2;
   btntext := ColorToBGRA(ColorToRGB(FArrowColor));
   ABitmap.FillPolyAntialias([PointF(FUpDownLeft+2,midy*4/5),PointF(midx,midy/5),PointF(FUpDownLeft+FUpDownWidth-3,midy*4/5)],btntext);
@@ -596,6 +617,7 @@ begin
   FTimer.OnTimer:=@Timer;
   FLongTimeInterval:= 400;
   FShortTimeInterval:= 100;
+  FHasTrackBar:= true;
   FBCBorder := TBCBorder.Create(self);
   FBCBorder.Color := clWindowText;
   FBCBorder.Width := 1;

+ 41 - 41
test/test_bccontrols/test_bctrackbarupdown/ptestupdown.lps

@@ -9,7 +9,7 @@
         <Filename Value="ptestupdown.lpr"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="ptestupdown"/>
-        <UsageCount Value="24"/>
+        <UsageCount Value="25"/>
       </Unit0>
       <Unit1>
         <Filename Value="unit1.pas"/>
@@ -18,22 +18,22 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="Unit1"/>
+        <IsVisibleTab Value="True"/>
         <EditorIndex Value="0"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="16"/>
-        <CursorPos X="39" Y="47"/>
-        <UsageCount Value="24"/>
+        <TopLine Value="18"/>
+        <CursorPos X="63" Y="42"/>
+        <UsageCount Value="25"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit1>
       <Unit2>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
         <UnitName Value="BCTrackbarUpdown"/>
-        <IsVisibleTab Value="True"/>
         <EditorIndex Value="15"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="429"/>
-        <CursorPos X="37" Y="448"/>
+        <TopLine Value="1"/>
+        <CursorPos X="1" Y="1"/>
         <UsageCount Value="11"/>
         <Loaded Value="True"/>
       </Unit2>
@@ -200,123 +200,123 @@
     <JumpHistory Count="30" HistoryIndex="29">
       <Position1>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="325" Column="10" TopLine="313"/>
+        <Caret Line="599" Column="47" TopLine="567"/>
       </Position1>
       <Position2>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="388" Column="42" TopLine="357"/>
+        <Caret Line="327" Column="41" TopLine="307"/>
       </Position2>
       <Position3>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="326" Column="46" TopLine="305"/>
+        <Caret Line="331" Column="1" TopLine="315"/>
       </Position3>
       <Position4>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="410" Column="133" TopLine="379"/>
+        <Caret Line="333" Column="8" TopLine="315"/>
       </Position4>
       <Position5>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="326" Column="39" TopLine="306"/>
+        <Caret Line="375" Column="13" TopLine="344"/>
       </Position5>
       <Position6>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="327" Column="50" TopLine="306"/>
+        <Caret Line="382" Column="20" TopLine="351"/>
       </Position6>
       <Position7>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="599" Column="47" TopLine="567"/>
+        <Caret Line="385" Column="29" TopLine="354"/>
       </Position7>
       <Position8>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="327" Column="41" TopLine="307"/>
+        <Caret Line="386" Column="48" TopLine="355"/>
       </Position8>
       <Position9>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="331" Column="1" TopLine="315"/>
+        <Caret Line="603" Column="33" TopLine="593"/>
       </Position9>
       <Position10>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="333" Column="8" TopLine="315"/>
+        <Caret Line="645" Column="54" TopLine="623"/>
       </Position10>
       <Position11>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="375" Column="13" TopLine="344"/>
+        <Caret Line="444" Column="66" TopLine="427"/>
       </Position11>
       <Position12>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="382" Column="20" TopLine="351"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position12>
       <Position13>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="385" Column="29" TopLine="354"/>
+        <Caret Line="341" Column="24" TopLine="309"/>
       </Position13>
       <Position14>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="386" Column="48" TopLine="355"/>
+        <Caret Line="402" Column="37" TopLine="392"/>
       </Position14>
       <Position15>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="603" Column="33" TopLine="593"/>
+        <Caret Line="423" Column="42" TopLine="392"/>
       </Position15>
       <Position16>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="645" Column="54" TopLine="623"/>
+        <Caret Line="445" Column="3" TopLine="430"/>
       </Position16>
       <Position17>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="444" Column="66" TopLine="427"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position17>
       <Position18>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="33" Column="11" TopLine="1"/>
       </Position18>
       <Position19>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="341" Column="24" TopLine="309"/>
+        <Caret Line="82" Column="46" TopLine="51"/>
       </Position19>
       <Position20>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="402" Column="37" TopLine="392"/>
+        <Caret Line="270" Column="12" TopLine="238"/>
       </Position20>
       <Position21>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="423" Column="42" TopLine="392"/>
+        <Caret Line="271" Column="9" TopLine="239"/>
       </Position21>
       <Position22>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="445" Column="3" TopLine="430"/>
+        <Caret Line="358" Column="12" TopLine="326"/>
       </Position22>
       <Position23>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="443" Column="12" TopLine="412"/>
       </Position23>
       <Position24>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="33" Column="11" TopLine="1"/>
+        <Caret Line="340" Column="48" TopLine="320"/>
       </Position24>
       <Position25>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="82" Column="46" TopLine="51"/>
+        <Caret Line="421" Column="45" TopLine="384"/>
       </Position25>
       <Position26>
         <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="270" Column="12" TopLine="238"/>
+        <Caret Line="718" Column="5" TopLine="680"/>
       </Position26>
       <Position27>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="271" Column="9" TopLine="239"/>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="45" Column="63" TopLine="16"/>
       </Position27>
       <Position28>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="358" Column="12" TopLine="326"/>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="44" Column="63" TopLine="20"/>
       </Position28>
       <Position29>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="443" Column="12" TopLine="412"/>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="43" Column="63" TopLine="19"/>
       </Position29>
       <Position30>
-        <Filename Value="..\..\..\bctrackbarupdown.pas"/>
-        <Caret Line="340" Column="48" TopLine="320"/>
+        <Filename Value="unit1.pas"/>
+        <Caret Line="42" Column="63" TopLine="18"/>
       </Position30>
     </JumpHistory>
   </ProjectSession>

+ 27 - 312
test/test_bccontrols/test_bctrackbarupdown/unit1.lfm

@@ -1,16 +1,16 @@
 object Form1: TForm1
   Left = 326
-  Height = 240
+  Height = 138
   Top = 38
   Width = 320
   Caption = 'Form1'
-  ClientHeight = 240
+  ClientHeight = 138
   ClientWidth = 320
   LCLVersion = '1.0.10.0'
   object BCTrackbarUpdown1: TBCTrackbarUpdown
-    Left = 48
+    Left = 8
     Height = 45
-    Top = 40
+    Top = 32
     Width = 100
     BarExponent = 1
     Increment = 1
@@ -115,14 +115,16 @@ object Form1: TForm1
     Rounding.RoundOptions = []
     Font.Color = clWindowText
     Font.Name = 'Arial'
+    HasTrackBar = True
+    ArrowColor = clBtnText
     TabOrder = 0
     TabStop = True
     UseDockManager = False
   end
   object BCTrackbarUpdown2: TBCTrackbarUpdown
-    Left = 46
+    Left = 136
     Height = 37
-    Top = 157
+    Top = 88
     Width = 68
     BarExponent = 1
     Increment = 1
@@ -131,7 +133,7 @@ object Form1: TForm1
     MaxValue = 9
     Value = 9
     ShortTimeInterval = 100
-    Background.Color = clWindow
+    Background.Color = clGreen
     Background.ColorOpacity = 255
     Background.Gradient1.StartColor = clWhite
     Background.Gradient1.StartColorOpacity = 255
@@ -161,10 +163,10 @@ object Form1: TForm1
     Background.Style = bbsColor
     ButtonBackground.Color = clBlack
     ButtonBackground.ColorOpacity = 255
-    ButtonBackground.Gradient1.StartColor = clBtnShadow
+    ButtonBackground.Gradient1.StartColor = clOlive
     ButtonBackground.Gradient1.StartColorOpacity = 255
     ButtonBackground.Gradient1.DrawMode = dmSet
-    ButtonBackground.Gradient1.EndColor = clBtnFace
+    ButtonBackground.Gradient1.EndColor = clYellow
     ButtonBackground.Gradient1.EndColorOpacity = 255
     ButtonBackground.Gradient1.ColorCorrection = True
     ButtonBackground.Gradient1.GradientType = gtLinear
@@ -173,10 +175,10 @@ object Form1: TForm1
     ButtonBackground.Gradient1.Point2XPercent = 0
     ButtonBackground.Gradient1.Point2YPercent = 50
     ButtonBackground.Gradient1.Sinus = False
-    ButtonBackground.Gradient2.StartColor = clBtnFace
+    ButtonBackground.Gradient2.StartColor = clYellow
     ButtonBackground.Gradient2.StartColorOpacity = 255
     ButtonBackground.Gradient2.DrawMode = dmSet
-    ButtonBackground.Gradient2.EndColor = clBtnShadow
+    ButtonBackground.Gradient2.EndColor = clOlive
     ButtonBackground.Gradient2.EndColorOpacity = 255
     ButtonBackground.Gradient2.ColorCorrection = True
     ButtonBackground.Gradient2.GradientType = gtLinear
@@ -187,7 +189,7 @@ object Form1: TForm1
     ButtonBackground.Gradient2.Sinus = False
     ButtonBackground.Gradient1EndPercent = 50
     ButtonBackground.Style = bbsGradient
-    ButtonDownBackground.Color = clBtnShadow
+    ButtonDownBackground.Color = clOlive
     ButtonDownBackground.ColorOpacity = 255
     ButtonDownBackground.Gradient1.StartColor = clWhite
     ButtonDownBackground.Gradient1.StartColorOpacity = 255
@@ -215,7 +217,7 @@ object Form1: TForm1
     ButtonDownBackground.Gradient2.Sinus = False
     ButtonDownBackground.Gradient1EndPercent = 35
     ButtonDownBackground.Style = bbsColor
-    Border.Color = clWindowText
+    Border.Color = clYellow
     Border.ColorOpacity = 255
     Border.LightColor = clWhite
     Border.LightOpacity = 255
@@ -225,16 +227,18 @@ object Form1: TForm1
     Rounding.RoundX = 1
     Rounding.RoundY = 1
     Rounding.RoundOptions = []
-    Font.Color = clWindowText
+    Font.Color = clCream
     Font.Name = 'Arial'
+    HasTrackBar = True
+    ArrowColor = clMaroon
     TabOrder = 1
     TabStop = True
     UseDockManager = False
   end
   object BCTrackbarUpdown3: TBCTrackbarUpdown
-    Left = 202
+    Left = 144
     Height = 25
-    Top = 57
+    Top = 8
     Width = 56
     BarExponent = 1
     Increment = 1
@@ -340,189 +344,22 @@ object Form1: TForm1
     Rounding.RoundOptions = []
     Font.Color = clWindowText
     Font.Name = 'Arial'
+    HasTrackBar = False
+    ArrowColor = clBtnText
     TabOrder = 2
     TabStop = True
     UseDockManager = False
   end
   object Label1: TLabel
-    Left = 192
+    Left = 144
     Height = 16
-    Top = 94
-    Width = 35
-    Caption = 'Label1'
-    ParentColor = False
-  end
-  object BCButton1: TBCButton
-    Left = 132
-    Height = 33
-    Top = 158
-    Width = 123
-    StateClicked.Background.Color = clBlack
-    StateClicked.Background.ColorOpacity = 255
-    StateClicked.Background.Gradient1.StartColor = 8404992
-    StateClicked.Background.Gradient1.StartColorOpacity = 255
-    StateClicked.Background.Gradient1.DrawMode = dmSet
-    StateClicked.Background.Gradient1.EndColor = 4194304
-    StateClicked.Background.Gradient1.EndColorOpacity = 255
-    StateClicked.Background.Gradient1.ColorCorrection = True
-    StateClicked.Background.Gradient1.GradientType = gtRadial
-    StateClicked.Background.Gradient1.Point1XPercent = 50
-    StateClicked.Background.Gradient1.Point1YPercent = 100
-    StateClicked.Background.Gradient1.Point2XPercent = 0
-    StateClicked.Background.Gradient1.Point2YPercent = 0
-    StateClicked.Background.Gradient1.Sinus = False
-    StateClicked.Background.Gradient2.StartColor = clWhite
-    StateClicked.Background.Gradient2.StartColorOpacity = 255
-    StateClicked.Background.Gradient2.DrawMode = dmSet
-    StateClicked.Background.Gradient2.EndColor = clBlack
-    StateClicked.Background.Gradient2.EndColorOpacity = 255
-    StateClicked.Background.Gradient2.ColorCorrection = True
-    StateClicked.Background.Gradient2.GradientType = gtLinear
-    StateClicked.Background.Gradient2.Point1XPercent = 0
-    StateClicked.Background.Gradient2.Point1YPercent = 0
-    StateClicked.Background.Gradient2.Point2XPercent = 0
-    StateClicked.Background.Gradient2.Point2YPercent = 100
-    StateClicked.Background.Gradient2.Sinus = False
-    StateClicked.Background.Gradient1EndPercent = 100
-    StateClicked.Background.Style = bbsGradient
-    StateClicked.Border.Color = clBlack
-    StateClicked.Border.ColorOpacity = 255
-    StateClicked.Border.LightColor = clWhite
-    StateClicked.Border.LightOpacity = 255
-    StateClicked.Border.LightWidth = 0
-    StateClicked.Border.Style = bboNone
-    StateClicked.Border.Width = 1
-    StateClicked.FontEx.Color = 16770790
-    StateClicked.FontEx.EndEllipsis = False
-    StateClicked.FontEx.FontQuality = fqSystemClearType
-    StateClicked.FontEx.Height = 0
-    StateClicked.FontEx.SingleLine = True
-    StateClicked.FontEx.Shadow = True
-    StateClicked.FontEx.ShadowColor = clBlack
-    StateClicked.FontEx.ShadowColorOpacity = 255
-    StateClicked.FontEx.ShadowRadius = 2
-    StateClicked.FontEx.ShadowOffsetX = 1
-    StateClicked.FontEx.ShadowOffsetY = 1
-    StateClicked.FontEx.Style = [fsBold]
-    StateClicked.FontEx.TextAlignment = bcaCenter
-    StateClicked.FontEx.WordBreak = False
-    StateHover.Background.Color = clBlack
-    StateHover.Background.ColorOpacity = 255
-    StateHover.Background.Gradient1.StartColor = 16744448
-    StateHover.Background.Gradient1.StartColorOpacity = 255
-    StateHover.Background.Gradient1.DrawMode = dmSet
-    StateHover.Background.Gradient1.EndColor = 8404992
-    StateHover.Background.Gradient1.EndColorOpacity = 255
-    StateHover.Background.Gradient1.ColorCorrection = True
-    StateHover.Background.Gradient1.GradientType = gtRadial
-    StateHover.Background.Gradient1.Point1XPercent = 50
-    StateHover.Background.Gradient1.Point1YPercent = 100
-    StateHover.Background.Gradient1.Point2XPercent = 0
-    StateHover.Background.Gradient1.Point2YPercent = 0
-    StateHover.Background.Gradient1.Sinus = False
-    StateHover.Background.Gradient2.StartColor = clWhite
-    StateHover.Background.Gradient2.StartColorOpacity = 255
-    StateHover.Background.Gradient2.DrawMode = dmSet
-    StateHover.Background.Gradient2.EndColor = clBlack
-    StateHover.Background.Gradient2.EndColorOpacity = 255
-    StateHover.Background.Gradient2.ColorCorrection = True
-    StateHover.Background.Gradient2.GradientType = gtLinear
-    StateHover.Background.Gradient2.Point1XPercent = 0
-    StateHover.Background.Gradient2.Point1YPercent = 0
-    StateHover.Background.Gradient2.Point2XPercent = 0
-    StateHover.Background.Gradient2.Point2YPercent = 100
-    StateHover.Background.Gradient2.Sinus = False
-    StateHover.Background.Gradient1EndPercent = 100
-    StateHover.Background.Style = bbsGradient
-    StateHover.Border.Color = clBlack
-    StateHover.Border.ColorOpacity = 255
-    StateHover.Border.LightColor = clWhite
-    StateHover.Border.LightOpacity = 255
-    StateHover.Border.LightWidth = 0
-    StateHover.Border.Style = bboNone
-    StateHover.Border.Width = 1
-    StateHover.FontEx.Color = clWhite
-    StateHover.FontEx.EndEllipsis = False
-    StateHover.FontEx.FontQuality = fqSystemClearType
-    StateHover.FontEx.Height = 0
-    StateHover.FontEx.SingleLine = True
-    StateHover.FontEx.Shadow = True
-    StateHover.FontEx.ShadowColor = clBlack
-    StateHover.FontEx.ShadowColorOpacity = 255
-    StateHover.FontEx.ShadowRadius = 2
-    StateHover.FontEx.ShadowOffsetX = 1
-    StateHover.FontEx.ShadowOffsetY = 1
-    StateHover.FontEx.Style = [fsBold]
-    StateHover.FontEx.TextAlignment = bcaCenter
-    StateHover.FontEx.WordBreak = False
-    StateNormal.Background.Color = clBlack
-    StateNormal.Background.ColorOpacity = 255
-    StateNormal.Background.Gradient1.StartColor = 4194304
-    StateNormal.Background.Gradient1.StartColorOpacity = 255
-    StateNormal.Background.Gradient1.DrawMode = dmSet
-    StateNormal.Background.Gradient1.EndColor = 8405056
-    StateNormal.Background.Gradient1.EndColorOpacity = 255
-    StateNormal.Background.Gradient1.ColorCorrection = True
-    StateNormal.Background.Gradient1.GradientType = gtLinear
-    StateNormal.Background.Gradient1.Point1XPercent = 0
-    StateNormal.Background.Gradient1.Point1YPercent = 0
-    StateNormal.Background.Gradient1.Point2XPercent = 0
-    StateNormal.Background.Gradient1.Point2YPercent = 100
-    StateNormal.Background.Gradient1.Sinus = False
-    StateNormal.Background.Gradient2.StartColor = 8405056
-    StateNormal.Background.Gradient2.StartColorOpacity = 255
-    StateNormal.Background.Gradient2.DrawMode = dmSet
-    StateNormal.Background.Gradient2.EndColor = 4194304
-    StateNormal.Background.Gradient2.EndColorOpacity = 255
-    StateNormal.Background.Gradient2.ColorCorrection = True
-    StateNormal.Background.Gradient2.GradientType = gtRadial
-    StateNormal.Background.Gradient2.Point1XPercent = 50
-    StateNormal.Background.Gradient2.Point1YPercent = 100
-    StateNormal.Background.Gradient2.Point2XPercent = 0
-    StateNormal.Background.Gradient2.Point2YPercent = 0
-    StateNormal.Background.Gradient2.Sinus = False
-    StateNormal.Background.Gradient1EndPercent = 60
-    StateNormal.Background.Style = bbsGradient
-    StateNormal.Border.Color = clYellow
-    StateNormal.Border.ColorOpacity = 255
-    StateNormal.Border.LightColor = clWhite
-    StateNormal.Border.LightOpacity = 80
-    StateNormal.Border.LightWidth = 0
-    StateNormal.Border.Style = bboSolid
-    StateNormal.Border.Width = 1
-    StateNormal.FontEx.Color = 16770790
-    StateNormal.FontEx.EndEllipsis = False
-    StateNormal.FontEx.FontQuality = fqSystemClearType
-    StateNormal.FontEx.Height = 0
-    StateNormal.FontEx.SingleLine = True
-    StateNormal.FontEx.Shadow = True
-    StateNormal.FontEx.ShadowColor = clBlack
-    StateNormal.FontEx.ShadowColorOpacity = 255
-    StateNormal.FontEx.ShadowRadius = 2
-    StateNormal.FontEx.ShadowOffsetX = 1
-    StateNormal.FontEx.ShadowOffsetY = 1
-    StateNormal.FontEx.Style = [fsBold]
-    StateNormal.FontEx.TextAlignment = bcaCenter
-    StateNormal.FontEx.WordBreak = False
-    Caption = 'BCButton1'
-    Color = clNone
-    DropDownWidth = 16
-    DropDownArrowSize = 8
-    GlobalOpacity = 255
+    Top = 40
+    Width = 70
+    Caption = 'Not changed'
     ParentColor = False
-    Rounding.RoundX = 8
-    Rounding.RoundY = 8
-    Rounding.RoundOptions = [rrTopRightSquare, rrBottomRightSquare, rrBottomLeftBevel]
-    RoundingDropDown.RoundX = 8
-    RoundingDropDown.RoundY = 8
-    RoundingDropDown.RoundOptions = [rrTopLeftSquare, rrBottomLeftSquare, rrTopRightBevel]
-    Style = bbtDropDown
-    TextApplyGlobalOpacity = False
-    DropDownArrow = True
-    MemoryUsage = bmuHigh
   end
   object CheckBox1: TCheckBox
-    Left = 56
+    Left = 8
     Height = 19
     Top = 8
     Width = 62
@@ -532,126 +369,4 @@ object Form1: TForm1
     State = cbChecked
     TabOrder = 3
   end
-  object BCLabel1: TBCLabel
-    Left = 45
-    Height = 17
-    Top = 112
-    Width = 51
-    Background.Color = clBlack
-    Background.ColorOpacity = 255
-    Background.Gradient1.StartColor = clWhite
-    Background.Gradient1.StartColorOpacity = 255
-    Background.Gradient1.DrawMode = dmSet
-    Background.Gradient1.EndColor = clBlack
-    Background.Gradient1.EndColorOpacity = 255
-    Background.Gradient1.ColorCorrection = True
-    Background.Gradient1.GradientType = gtLinear
-    Background.Gradient1.Point1XPercent = 0
-    Background.Gradient1.Point1YPercent = 0
-    Background.Gradient1.Point2XPercent = 0
-    Background.Gradient1.Point2YPercent = 100
-    Background.Gradient1.Sinus = False
-    Background.Gradient2.StartColor = clWhite
-    Background.Gradient2.StartColorOpacity = 255
-    Background.Gradient2.DrawMode = dmSet
-    Background.Gradient2.EndColor = clBlack
-    Background.Gradient2.EndColorOpacity = 255
-    Background.Gradient2.ColorCorrection = True
-    Background.Gradient2.GradientType = gtLinear
-    Background.Gradient2.Point1XPercent = 0
-    Background.Gradient2.Point1YPercent = 0
-    Background.Gradient2.Point2XPercent = 0
-    Background.Gradient2.Point2YPercent = 100
-    Background.Gradient2.Sinus = False
-    Background.Gradient1EndPercent = 35
-    Background.Style = bbsClear
-    Border.Color = clBlack
-    Border.ColorOpacity = 255
-    Border.LightColor = clWhite
-    Border.LightOpacity = 255
-    Border.LightWidth = 0
-    Border.Style = bboSolid
-    Border.Width = 1
-    Caption = 'BCLabel1'
-    FontEx.Color = clDefault
-    FontEx.EndEllipsis = False
-    FontEx.FontQuality = fqSystemClearType
-    FontEx.Height = 0
-    FontEx.SingleLine = True
-    FontEx.Shadow = False
-    FontEx.ShadowColor = clBlack
-    FontEx.ShadowColorOpacity = 255
-    FontEx.ShadowRadius = 5
-    FontEx.ShadowOffsetX = 5
-    FontEx.ShadowOffsetY = 5
-    FontEx.Style = []
-    FontEx.TextAlignment = bcaCenter
-    FontEx.WordBreak = False
-    Rounding.RoundX = 4
-    Rounding.RoundY = 4
-    Rounding.RoundOptions = []
-  end
-  object BCPanel1: TBCPanel
-    Left = 248
-    Height = 48
-    Top = 111
-    Width = 64
-    Background.Color = clHotLight
-    Background.ColorOpacity = 255
-    Background.Gradient1.StartColor = clWhite
-    Background.Gradient1.StartColorOpacity = 255
-    Background.Gradient1.DrawMode = dmSet
-    Background.Gradient1.EndColor = clBlack
-    Background.Gradient1.EndColorOpacity = 255
-    Background.Gradient1.ColorCorrection = True
-    Background.Gradient1.GradientType = gtLinear
-    Background.Gradient1.Point1XPercent = 0
-    Background.Gradient1.Point1YPercent = 0
-    Background.Gradient1.Point2XPercent = 0
-    Background.Gradient1.Point2YPercent = 100
-    Background.Gradient1.Sinus = False
-    Background.Gradient2.StartColor = clWhite
-    Background.Gradient2.StartColorOpacity = 255
-    Background.Gradient2.DrawMode = dmSet
-    Background.Gradient2.EndColor = clBlack
-    Background.Gradient2.EndColorOpacity = 255
-    Background.Gradient2.ColorCorrection = True
-    Background.Gradient2.GradientType = gtLinear
-    Background.Gradient2.Point1XPercent = 0
-    Background.Gradient2.Point1YPercent = 0
-    Background.Gradient2.Point2XPercent = 0
-    Background.Gradient2.Point2YPercent = 100
-    Background.Gradient2.Sinus = False
-    Background.Gradient1EndPercent = 35
-    Background.Style = bbsColor
-    BevelInner = bvLowered
-    BevelOuter = bvRaised
-    BevelWidth = 2
-    Border.Color = clBlack
-    Border.ColorOpacity = 255
-    Border.LightColor = clWhite
-    Border.LightOpacity = 255
-    Border.LightWidth = 0
-    Border.Style = bboSolid
-    Border.Width = 1
-    Caption = 'BCPanel1'
-    FontEx.Color = clDefault
-    FontEx.EndEllipsis = False
-    FontEx.FontQuality = fqSystemClearType
-    FontEx.Height = 0
-    FontEx.SingleLine = True
-    FontEx.Shadow = False
-    FontEx.ShadowColor = clBlack
-    FontEx.ShadowColorOpacity = 255
-    FontEx.ShadowRadius = 5
-    FontEx.ShadowOffsetX = 5
-    FontEx.ShadowOffsetY = 5
-    FontEx.Style = []
-    FontEx.TextAlignment = bcaCenter
-    FontEx.WordBreak = False
-    Rounding.RoundX = 10
-    Rounding.RoundY = 10
-    Rounding.RoundOptions = []
-    TabOrder = 4
-  end
 end

+ 3 - 6
test/test_bccontrols/test_bctrackbarupdown/unit1.pas

@@ -6,22 +6,19 @@ interface
 
 uses
   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
-  BCTrackbarUpdown, BCButton, BCLabel, BCPanel;
+  BCTrackbarUpdown;
 
 type
 
   { TForm1 }
 
   TForm1 = class(TForm)
-    BCButton1: TBCButton;
-    BCLabel1: TBCLabel;
-    BCPanel1: TBCPanel;
     BCTrackbarUpdown1: TBCTrackbarUpdown;
     BCTrackbarUpdown2: TBCTrackbarUpdown;
     BCTrackbarUpdown3: TBCTrackbarUpdown;
     CheckBox1: TCheckBox;
     Label1: TLabel;
-    procedure BCTrackbarUpdown3Change(Sender: TObject; AByUser: boolean);
+    procedure BCTrackbarUpdown3Change(Sender: TObject; {%H-}AByUser: boolean);
     procedure CheckBox1Change(Sender: TObject);
   private
     { private declarations }
@@ -42,7 +39,7 @@ implementation
 procedure TForm1.BCTrackbarUpdown3Change(Sender: TObject; AByUser: boolean);
 begin
   inc(changeCount);
-  label1.Caption := '#'+inttostr(changeCount)+': '+inttostr(TBCTrackbarUpdown(Sender).Value);
+  label1.Caption := 'Change #'+inttostr(changeCount)+': value '+inttostr(TBCTrackbarUpdown(Sender).Value);
 end;
 
 procedure TForm1.CheckBox1Change(Sender: TObject);