首先,请耐心等待,因为我对 Delphi 世界还很陌生。我是一名前 C++、C# 和嵌入式开发人员。
我在 Windows 7 64 位上安装了 Delphi 7 和 Delphi RAD Studio 10.2 Starter。
我TGauge
在两个版本中都尝试过该组件,因为它在 Delphi 中是标准的(我认为)。
因此,问题是当我尝试Progress
在运行时使用值设置属性时,它并没有反映在 GUI 上。但是,如果我在设计时从 Object Inspector 设置一个值,它会反映应有的值,并且 Gauge 会正确绘制百分比。
测试此行为的步骤:
TGauge
将组件从“示例”面板拖放到表单上。我在对象检查器中设置
MaxValue = 100
和。MinValue = 0
我在
txtValue
表单上创建了一个文本框 ( )。btnSetValueClick
我在表单上创建了一个按钮 ( ) 并使用了以下代码:procedure TMainForm.btnSetValueClick(Sender: TObject); begin Gauge1.Progress := StrToInt(txtValue.Text); end;
所以,我期待仪表会显示输入的值,但事实并非如此。当我调试代码时,它会命中btnSetValueClick()
并设置里面的值。
我在这里想念什么?
编辑:(这是表格中的代码。)
object Gauge1: TGauge
Left = 53
Top = 81
Width = 191
Height = 113
ParentCustomHint = False
Color = clMenu
ForeColor = clRed
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Default'
Font.Style = []
Kind = gkNeedle
ParentColor = False
ParentFont = False
Progress = 35
编辑:
我创建了一个新项目并从头开始。我把它放在TGauge
不改变它的任何单一属性的情况下。它已经开始起作用了,尽管我仍然没有看到差异会导致这种行为。至少这可能会提供一个线索,该组件可能会在没有明显原因的情况下出错,尤其是对于像我这样的初学者。
请考虑此案已结案。谢谢你。