ExCtrls: Fix some inconsistencies in ProgressBarEx demo.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9345 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2024-04-26 17:16:47 +00:00
parent b43dfb5c82
commit 344d9b00e1
4 changed files with 45 additions and 34 deletions

View File

@ -12,7 +12,6 @@
<XPManifest> <XPManifest>
<DpiAware Value="True"/> <DpiAware Value="True"/>
</XPManifest> </XPManifest>
<Icon Value="0"/>
</General> </General>
<BuildModes> <BuildModes>
<Item Name="Default" Default="True"/> <Item Name="Default" Default="True"/>

View File

@ -6,8 +6,8 @@ object Form1: TForm1
Caption = 'TProgressBarEx Demo' Caption = 'TProgressBarEx Demo'
ClientHeight = 511 ClientHeight = 511
ClientWidth = 528 ClientWidth = 528
LCLVersion = '3.99.0.0'
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '2.3.0.0'
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 106 Left = 106
Height = 136 Height = 136
@ -26,9 +26,9 @@ object Form1: TForm1
Width = 86 Width = 86
Caption = 'Normal Style' Caption = 'Normal Style'
Checked = True Checked = True
OnChange = rbNormalStyleChange
TabOrder = 1 TabOrder = 1
TabStop = True TabStop = True
OnChange = rbNormalStyleChange
end end
object rbMarqueeStyle: TRadioButton object rbMarqueeStyle: TRadioButton
AnchorSideTop.Control = Edit1 AnchorSideTop.Control = Edit1
@ -38,8 +38,8 @@ object Form1: TForm1
Top = 31 Top = 31
Width = 93 Width = 93
Caption = 'Marquee Style' Caption = 'Marquee Style'
OnChange = rbMarqueeStyleChange
TabOrder = 0 TabOrder = 0
OnChange = rbMarqueeStyleChange
end end
object ScrollBar1: TScrollBar object ScrollBar1: TScrollBar
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Control = GroupBox1
@ -53,16 +53,14 @@ object Form1: TForm1
OnChange = ScrollBar1Change OnChange = ScrollBar1Change
end end
object Edit1: TEdit object Edit1: TEdit
AnchorSideTop.Control = ScrollBar1
AnchorSideTop.Side = asrBottom
Left = 136 Left = 136
Height = 23 Height = 23
Top = 29 Top = 29
Width = 257 Width = 257
BorderSpacing.Top = 8 BorderSpacing.Top = 8
OnChange = Edit1Change
TabOrder = 3 TabOrder = 3
Text = 'Some text...' Text = 'Some text...'
OnChange = Edit1Change
end end
object lblMarqueeLength: TLabel object lblMarqueeLength: TLabel
AnchorSideTop.Control = seMarqueeLength AnchorSideTop.Control = seMarqueeLength
@ -82,9 +80,9 @@ object Form1: TForm1
Width = 50 Width = 50
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Top = 8 BorderSpacing.Top = 8
OnChange = seMarqueeLengthChange
TabOrder = 4 TabOrder = 4
Value = 120 Value = 120
OnChange = seMarqueeLengthChange
end end
object lblMarqueeSpeed: TLabel object lblMarqueeSpeed: TLabel
AnchorSideTop.Control = seMarqueeSpeed AnchorSideTop.Control = seMarqueeSpeed
@ -104,9 +102,9 @@ object Form1: TForm1
Width = 50 Width = 50
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Top = 4 BorderSpacing.Top = 4
OnChange = seMarqueeSpeedChange
TabOrder = 5 TabOrder = 5
Value = 8 Value = 8
OnChange = seMarqueeSpeedChange
end end
end end
object btnFont: TButton object btnFont: TButton
@ -115,8 +113,8 @@ object Form1: TForm1
Top = 344 Top = 344
Width = 75 Width = 75
Caption = 'Font' Caption = 'Font'
OnClick = btnFontClick
TabOrder = 1 TabOrder = 1
OnClick = btnFontClick
end end
object ProgressBar1: TProgressBar object ProgressBar1: TProgressBar
Left = 13 Left = 13
@ -184,8 +182,8 @@ object Form1: TForm1
Top = 64 Top = 64
Width = 164 Width = 164
Caption = 'Compare with TProgressBar' Caption = 'Compare with TProgressBar'
OnChange = CheckBox1Change
TabOrder = 3 TabOrder = 3
OnChange = CheckBox1Change
end end
object rgOrientation: TRadioGroup object rgOrientation: TRadioGroup
Left = 105 Left = 105
@ -211,8 +209,8 @@ object Form1: TForm1
'right to left' 'right to left'
'top down' 'top down'
) )
OnClick = rgOrientationClick
TabOrder = 4 TabOrder = 4
OnClick = rgOrientationClick
end end
object rgDrawingStyle: TRadioGroup object rgDrawingStyle: TRadioGroup
Left = 105 Left = 105
@ -239,11 +237,11 @@ object Form1: TForm1
'shiny' 'shiny'
'bevel' 'bevel'
) )
OnClick = rgDrawingStyleClick
TabOrder = 5 TabOrder = 5
OnClick = rgDrawingStyleClick
end end
object RadioGroup1: TRadioGroup object rgCaption: TRadioGroup
Left = 104 Left = 105
Height = 88 Height = 88
Top = 408 Top = 408
Width = 235 Width = 235
@ -267,10 +265,10 @@ object Form1: TForm1
'Position+Percentage' 'Position+Percentage'
'Custom text' 'Custom text'
) )
OnClick = RadioGroup1Click
TabOrder = 6 TabOrder = 6
OnClick = rgCaptionClick
end end
object RadioGroup2: TRadioGroup object rgBorder: TRadioGroup
Left = 374 Left = 374
Height = 88 Height = 88
Top = 408 Top = 408
@ -295,8 +293,8 @@ object Form1: TForm1
'Raised' 'Raised'
'Etched' 'Etched'
) )
OnClick = RadioGroup2Click
TabOrder = 7 TabOrder = 7
OnClick = rgBorderClick
end end
object Button1: TButton object Button1: TButton
Left = 355 Left = 355
@ -304,8 +302,8 @@ object Form1: TForm1
Top = 61 Top = 61
Width = 75 Width = 75
Caption = 'AutoSize' Caption = 'AutoSize'
OnClick = Button1Click
TabOrder = 8 TabOrder = 8
OnClick = Button1Click
end end
object FontDialog1: TFontDialog object FontDialog1: TFontDialog
MinFontSize = 0 MinFontSize = 0

View File

@ -26,8 +26,8 @@ type
lblMarqueeLength: TLabel; lblMarqueeLength: TLabel;
lblMarqueeSpeed: TLabel; lblMarqueeSpeed: TLabel;
ProgressBar1: TProgressBar; ProgressBar1: TProgressBar;
RadioGroup1: TRadioGroup; rgCaption: TRadioGroup;
RadioGroup2: TRadioGroup; rgBorder: TRadioGroup;
rbNormalStyle: TRadioButton; rbNormalStyle: TRadioButton;
rbMarqueeStyle: TRadioButton; rbMarqueeStyle: TRadioButton;
rgOrientation: TRadioGroup; rgOrientation: TRadioGroup;
@ -44,8 +44,8 @@ type
procedure clbBorderColorColorChanged(Sender: TObject); procedure clbBorderColorColorChanged(Sender: TObject);
procedure Edit1Change(Sender: TObject); procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject); procedure rgCaptionClick(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject); procedure rgBorderClick(Sender: TObject);
procedure rbNormalStyleChange(Sender: TObject); procedure rbNormalStyleChange(Sender: TObject);
procedure rbMarqueeStyleChange(Sender: TObject); procedure rbMarqueeStyleChange(Sender: TObject);
procedure rgDrawingStyleClick(Sender: TObject); procedure rgDrawingStyleClick(Sender: TObject);
@ -95,28 +95,41 @@ begin
Height := Width; Height := Width;
end; end;
procedure TForm1.RadioGroup1Click(Sender: TObject); procedure TForm1.rgCaptionClick(Sender: TObject);
begin begin
ProgressBarEx.TextMode := TProgressbarTextMode(RadioGroup1.ItemIndex); ProgressBarEx.TextMode := TProgressbarTextMode(rgCaption.ItemIndex);
case ProgressBarEx.TextMode of case ProgressBarEx.TextMode of
tmValue: ProgressBarEx.Caption := 'Voltage: %d mV'; tmValue:
tmPercent: ProgressBarEx.Caption := '%.0f%% complete'; if ProgressBarEx.Style = pbstNormal then
tmValueAndPercent: ProgressBarEx.Caption := '%1:.0f%% complete at position %0:d'; ProgressBarEx.Caption := 'Voltage: %d mV'
tmCustom: ProgressBarEx.Caption := Edit1.Text; else
ProgressBarEx.Caption := '';
tmPercent:
if ProgressBarEx.Style = pbstNormal then
ProgressBarEx.Caption := '%.0f%% complete'
else
ProgressBarEx.Caption := '';
tmValueAndPercent:
if ProgressBarEx.Style = pbstNormal then
ProgressBarEx.Caption := '%1:.0f%% complete at position %0:d'
else
ProgressBarEx.Caption := '';
tmCustom:
ProgressBarEx.Caption := Edit1.Text;
end; end;
end; end;
procedure TForm1.RadioGroup2Click(Sender: TObject); procedure TForm1.rgBorderClick(Sender: TObject);
begin begin
ProgressBarEx.BorderStyle := TProgressBarBorderStyle(RadioGroup2.ItemIndex); ProgressBarEx.BorderStyle := TProgressBarBorderStyle(rgBorder.ItemIndex);
end; end;
procedure TForm1.rbNormalStyleChange(Sender: TObject); procedure TForm1.rbNormalStyleChange(Sender: TObject);
begin begin
Progressbar1.style := pbstNormal; Progressbar1.Style := pbstNormal;
ProgressbarEx.Style := pbstNormal; ProgressbarEx.Style := pbstNormal;
ProgressbarEx.Caption := IntToStr(ProgressbarEx.Position); rgCaptionClick(nil);
Scrollbar1.Position := ProgressbarEx.Position; ProgressbarEx.Position := Scrollbar1.Position;
Scrollbar1.Show; Scrollbar1.Show;
end; end;

View File

@ -515,6 +515,7 @@ begin
FTimer.Enabled := true; FTimer.Enabled := true;
end; end;
end; end;
Invalidate;
end; end;
procedure TProgressBarEx.SetTextMode(AValue: TProgressBarTextMode); procedure TProgressBarEx.SetTextMode(AValue: TProgressBarTextMode);