gpt4 book ai didi

delphi - TChangeTabAction FMX XE7 - Embarcadero 的想法是什么?

转载 作者:行者123 更新时间:2023-12-03 15:56:19 30 4
gpt4 key购买 nike

将 TChangeTabAction 标准操作添加到我的操作列表后,我写了一个这样的函数:

procedure TfrmMain.ChangeTab(TargetTab: TTabItem; Reverse: Boolean = False);
begin
ChangeTabAction1.Tab := TargetTab;
ChangeTabAction1.ExecuteTarget(Self);
end;

我这样称呼:

 ChangeTab(tsNewTemplate) // slides left
// stuff
ChangeTab(tsLogin); // slides right

及以后

ChangeTab(tsNewTemplate, True); // slides left
// stuff
ChangeTab(tsLogin, True); // slides right

而且我仍在尝试找出如何将 Reverse = True 功能添加到我的函数中!

问题是,每次调用 ChangeTabAction1.ExecuteTarget(Self); 时,ChangeTabAction1.Direction 都会自动反转! (切换)

因此,当选项卡从 tsStartUp 更改为 tsNewTemplate 时,它​​会向左移动,然后向右移动,然后向左向右移动,依此类推。

我想要它做的是

ChangeTab(tsNewTemplate) // slides left
// stuff
ChangeTab(tsLogin); // slides left

及以后

ChangeTab(tsNewTemplate, True); // slides right
// stuff
ChangeTab(tsLogin, True); // slides right

我的 Tabcontrol 应用程序。比这个简单的 3 级示例复杂得多。我希望能够根据命令控制移位的方向。

ChangeTabAction1.Direction 指示器在通常意义上没有任何意义。您不能将其设置为“反向”并认为这意味着与正常相反。 executetarget 后立即反转变为正常,反之亦然。

procedure TfrmMain.ChangeTab(TargetTab: TTabItem; Reverse: Boolean = False);
begin
// This keeps the slide direction going the same way
// It cancels out the automatic reversal of direction
if ChangeTabAction1.Direction = TTabTransitionDirection.Normal then
ChangeTabAction1.Direction := TTabTransitionDirection.Reversed
else
ChangeTabAction1.Direction := TTabTransitionDirection.Normal;

也许,如果有人可以告诉我 Embarcadero 设计师的想法,那么我就可以遵循他们的设计理念,而不是试图绕过它。

最佳答案

TTabTransitionDirection.Normal 表示对索引较低的选项卡的更改是通过从左到右的转换完成的,而对索引较高的选项卡的更改是通过从右到左的转换完成的。 TTabTransitionDirection.Reversed 的意思是相反。

关于delphi - TChangeTabAction FMX XE7 - Embarcadero 的想法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29900503/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com