gpt4 book ai didi

delphi - XE3 视觉 LiveBindings : bidirectional connection between TSpinBox and TTrackBar (FireMonkey)

转载 作者:行者123 更新时间:2023-12-03 15:54:52 35 4
gpt4 key购买 nike

我正在使用带有 SP1 的 Delphi XE3。我创建了一个 FireMonkey 桌面应用程序,并在主窗体上放置了 TSpinBox 和 TTrackBar。我现在已经使用 Visual Livebindings 连接了 TSpinBox 和 TTrackBar 的“Value”属性。 IDE 已自动创建一个“TLinkControlToProperty”来连接它们。当我移动 TTrackBar 上的 slider 时,TSpinBox 中的值会发生变化。但是当我更改 TSpinBox 中的值时,TTrackBar 的值不会更新。

如何使用 LiveBindings 将其更改为双向连接?我的目标是当 TSpinBox 的“值”发生变化时,更改 TTrackBar 的“值”属性。此外,我对不使用“TSpinBox”的“OnChange”事件的解决方案感兴趣。如果不派生“TSpinBox”的后代,这可能吗?

最佳答案

您必须通过 Bindinglist 添加绑定(bind),定义源和目标,将方向设置为 dirBiDirectional 并将以下代码添加到源中:

procedure TForm1.SpinBox1Change(Sender: TObject);
begin
BindingsList1.Notify(Sender, '');
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
BindingsList1.Notify(Sender, '');
end;

可以简化为

procedure TForm1.OneChangeEventForAllControlsUsingBindinglist1(Sender: TObject);
begin
BindingsList1.Notify(Sender, '');
end;

enter image description here

关于delphi - XE3 视觉 LiveBindings : bidirectional connection between TSpinBox and TTrackBar (FireMonkey),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498628/

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