一步一步学习使用LiveBindings(2) 使用LiveBinding Designer进行控件到控件的绑定
一步一步学习使用LiveBindings(2) 使用LiveBinding Designer进行控件到控件的绑定
接下来看一个组件属性间的绑定的例子,这个例子使用了几个非常有趣的FireMonkey控件。
1. 单击主菜单中的 File > New > Multi-Device Application - Delphi > Blank Application ,创建一个新的多设备应用程序。
建议立即单击工具栏上的Save All按钮,将单元文件保存为uMainForm.pas,将项目保存为LiveBinding_ControlToControl.dproj。
你的项目结构应该像这样:

2. 从工具面板,拖3个控件到主窗口,分别如下所示:
- TProgressBar
- TArcDial1
- TTrackBar
布局如下图所示:
![]()
在FireMonkey中,由于控件可以包含其它控件,因此在拖动一个控件后,请先在主窗体上单击一下,再次进行拖动。
通过Structure面板,可以看到整个控件的层次结构,这里添加了一个TLine控件来获得稍稍整齐的外观。
3. 右击主窗体的任意位置,选择“Bind Visually”菜单项,Delphi将打开LiveBindings Designer设计器,单击+号按钮,使得设计器中的元素放大显示。
4. 首先单击TrackBar1上的Value属性,拖动到ProgressBar1上的Value属性,完成从TrackBar1到ProgressBar1的属性绑定,如下图所示。

5. 在这里想要将ArcDial1绑定到ProgressBar1的RotationAngle属性上,这个属性并没有出现在设计器面板上,通过单击ProgressBar1右下角的...图标,找到RotationAngle属性,单击OK按钮

6. 最后,将TrackBar1的Value属性拖动到ProgressBar1的RotationAngle属性上。

7. 现在就完成了所有的工作,万事皆备,只欠一Run了,按下F9,或者是主菜单的“Run > Run”菜单项,然后通过拖动TrackBar和ArcDial控件,可以看到ProgressBar果然开始了变化。

同样的,Delphi在主窗体上添加了TBindingList控件,选中该控件,右键单击鼠标,选中“Binding Components”菜单项,在弹出的菜中可以看到绑定的链接,如果双击某个链接,会看到详细的绑定表达式定义。

至此,使用设计器实现绑定的示例就完成了,在接下来的文章中,我们将会详细介绍绑定的其他方面。
一步一步学习使用LiveBindings(2) 使用LiveBinding Designer进行控件到控件的绑定的更多相关文章
- 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...
- (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性
转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...
- (转) 一步一步学习ASP.NET 5 (二)- 通过命令行和sublime创建项目
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 注:昨天转发之后很多朋友指出了vNext的命名问题,原文作者已经做出了修改,后面的标题都适用 asp.net 5这个名称. 编者语 : 昨天发了第 ...
- 一步一步学习SignalR进行实时通信_1_简单介绍
一步一步学习SignalR进行实时通信\_1_简单介绍 SignalR 一步一步学习SignalR进行实时通信_1_简单介绍 前言 SignalR介绍 支持的平台 相关说明 OWIN 结束语 参考文献 ...
- 一步一步学习SignalR进行实时通信_8_案例2
原文:一步一步学习SignalR进行实时通信_8_案例2 一步一步学习SignalR进行实时通信\_8_案例2 SignalR 一步一步学习SignalR进行实时通信_8_案例2 前言 配置Hub 建 ...
- 一步一步学习SignalR进行实时通信_9_托管在非Web应用程序
原文:一步一步学习SignalR进行实时通信_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信\_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信_9_托管在非We ...
- 一步一步学习SignalR进行实时通信_7_非代理
原文:一步一步学习SignalR进行实时通信_7_非代理 一步一步学习SignalR进行实时通信\_7_非代理 SignalR 一步一步学习SignalR进行实时通信_7_非代理 前言 代理与非代理 ...
- 一步一步学习SignalR进行实时通信_5_Hub
原文:一步一步学习SignalR进行实时通信_5_Hub 一步一步学习SignalR进行实时通信\_5_Hub SignalR 一步一步学习SignalR进行实时通信_5_Hub 前言 Hub命名规则 ...
- 一步一步学习SignalR进行实时通信_6_案例
原文:一步一步学习SignalR进行实时通信_6_案例 一步一步学习SignalR进行实时通信\_6_案例1 一步一步学习SignalR进行实时通信_6_案例1 前言 类的定义 各块功能 后台 上线 ...
- 一步一步学习SignalR进行实时通信_4_Hub
原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...
随机推荐
- C++右值和移动
值分左右 C++表达式的值类别: 这些名词的字面含义: 一个lvalue是通常可以放在等号左边的表达式,左值 一个rvalue是通常只能放在等号右边的表达式,右值 一个glvalue是generali ...
- svchost.exe占用端口
事情是这样的,我写的某个程序基于tcp协议与其他程序进行通信,但每隔一段时间,该程序就不能与其他程序正常交流,用 telnet 127.0.0.1 1000 显示连接失败,但是程序的确开启,应该在监听 ...
- Elemnet-ui实现自定义上传图片
1.该组件是基于Element-ui与Vue实现的,主要运用到了Element-ui的Upload组件的几个钩子函数,其中按照element ui官网的说法,http-request 覆盖原默认的上传 ...
- RBMQ案例四:路由模式
使仅订阅消息的子集成为可能.例如,我们将能够仅将关键错误消息定向到日志文件(以节省磁盘空间),同时仍然能够在控制台上打印所有日志消息. 通过路由来匹配对应的消息 一.消息发布端 #!/usr/bi ...
- 从传统搜索到智能问答:自研 RAG 系统的技术实践与工程落地
一.引言 在数字化转型浪潮下,企业知识服务体系正经历着深刻变革.如何让用户高效获取所需信息,成为提升产品竞争力和用户满意度的关键.葡萄城作为企业级开发工具与解决方案提供商,长期致力于知识服务体系的建设 ...
- AI助手:Agent工作流程与应用场景详解
引言 智能体(Agent)是一种在特定环境中自主行动.感知环境.做出决策并与其他智能体或人类进行交互的计算机程序或实体.它们具备自主性.反应性.社交性和适应性等特点,能够根据环境的变化调整自己的行为, ...
- Web前端入门第 73 问:JavaScript DOM 常用事件那点小事
网页上各种炫酷的交互效果离不开各种 DOM 事件 的支持,在写这篇文章之前,一度以为 JS 的事件绑定/取消方式就我知道的那几种,翻阅文档之后才发现,知识面还是有待提升,多翻翻文档,就像发现新大陆一样 ...
- wifi转串口
wifi转串口 ZLAN7146是一款wifi转串口的wifi串口服务器.该串口服务器可以方便地使得串口设备连接到WIFI无线网络,实现串口设备的无线化网络升级.RS232接口支持全双工.不间断通信: ...
- Rust修仙之道 第六章:审炼境 · 试剑封灵
第六章:审炼境 · 试剑封灵 "术式既成,必经试炼:未经试剑者,不可上阵." 顾行云日夜修炼,虽灵术繁多.模块精妙,但他常觉不稳.有一夜,他梦见灵阵暴走,众多灵兽因术式一处缺漏而陷 ...
- Rust修仙之道 第八章:意动境 · 闭包与迭代的灵动之道
第八章:意动境 · 闭包与迭代的灵动之道 "他人需咏符念咒,我一念而动术:他人遍历千灵,我引灵自来去." 顾行云望着铺天盖地的灵纹数据,若要逐一施术,岂非精神耗尽?他开始思索:是否 ...
