TTrackbar从右到左而不是从左到右工作

时间:2016-01-25 21:44:13

标签: android delphi firemonkey trackbar

我正在寻找一种方法来获得特定的Delphi Firemonkey TTrackbar行为更改 在我的Delphi 10.1 Seattle Android应用程序中。

我想要实现什么? 轨迹栏有一个用户可以移动的拇指。它在轨道上运行 轨道的一侧从拇指左侧直到轨道的左端 默认情况下会着色以指示用拇指选择的值。

我希望它颠倒过来:从拇指到右端的轨道 它应该有这种颜色。

我已经指出了风格的方向,但在学习了一些关于那些我仍然不完全理解如何为我的情况做这件事之后,我开始怀疑只是改变风格会起作用。< / p>

我在表单上删除了一个TTrackbar,右键单击它并选择&#34;编辑 定制风格&#34;。我发现有一个由htrack组成的htrack 背景,TRectangle和高亮,这是一个TStyleObject。 作为TStyleObject,它链接到png文件中的区域 SourceLookup和SourceLink。但是我的智慧停止了。

  1. 如何找到那个png?
  2. 即使我找到它,接下来该怎么办?我不想改变 那个&#34;突出显示&#34; TStyleObject,我想改变它 位置。我已经尝试过正确的锚定,但那是 当然只是解决方案的一部分,作为宽度计算 运行时需要&#34;倒置&#34; (1-x)。

1 个答案:

答案 0 :(得分:3)

不要修改样式,而应考虑旋转轨迹栏。将属性RotationAngle设置为180,将属性Value设置为与Max相同(如果您想将拇指放在左侧)。然后,当使用Value计算时,例如为:

procedure TForm21.TrackBar1Change(Sender: TObject);
begin
  Label1.Text := IntToStr(trunc((Sender as TTrackBar).Max -
                                (Sender as TTrackBar).Value));
end;

视觉上看起来像这样:

Trackbar orientation change

在评论后修改

事实证明,如OP向Embarcadero质量门户网站报道(RSP-13156),180°的旋转对真正的Android设备(至少在某些型号上不起作用)不起作用