0

首先,请耐心等待,因为我对 Delphi 世界还很陌生。我是一名前 C++、C# 和嵌入式开发人员。

我在 Windows 7 64 位上安装了 Delphi 7 和 Delphi RAD Studio 10.2 Starter。

TGauge在两个版本中都尝试过该组件,因为它在 Delphi 中是标准的(我认为)。

因此,问题是当我尝试Progress在运行时使用值设置属性时,它并没有反映在 GUI 上。但是,如果我在设计时从 Object Inspector 设置一个值,它会反映应有的值,并且 Gauge 会正确绘制百分比。

测试此行为的步骤:

  1. TGauge将组件从“示例”面板拖放到表单上。

  2. 我在对象检查器中设置MaxValue = 100和。MinValue = 0

  3. 我在txtValue表单上创建了一个文本框 ( )。

  4. 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不改变它的任何单一属性的情况下。它已经开始起作用了,尽管我仍然没有看到差异会导致这种行为。至少这可能会提供一个线索,该组件可能会在没有明显原因的情况下出错,尤其是对于像我这样的初学者。

请考虑此案已结案。谢谢你。

4

0 回答 0