一步一步学习使用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进行控件到控件的绑定的更多相关文章

  1. 12.Linux软件安装 (一步一步学习大数据系列之 Linux)

    1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...

  2. (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性

    转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...

  3. (转) 一步一步学习ASP.NET 5 (二)- 通过命令行和sublime创建项目

    转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 注:昨天转发之后很多朋友指出了vNext的命名问题,原文作者已经做出了修改,后面的标题都适用 asp.net 5这个名称. 编者语 : 昨天发了第 ...

  4. 一步一步学习SignalR进行实时通信_1_简单介绍

    一步一步学习SignalR进行实时通信\_1_简单介绍 SignalR 一步一步学习SignalR进行实时通信_1_简单介绍 前言 SignalR介绍 支持的平台 相关说明 OWIN 结束语 参考文献 ...

  5. 一步一步学习SignalR进行实时通信_8_案例2

    原文:一步一步学习SignalR进行实时通信_8_案例2 一步一步学习SignalR进行实时通信\_8_案例2 SignalR 一步一步学习SignalR进行实时通信_8_案例2 前言 配置Hub 建 ...

  6. 一步一步学习SignalR进行实时通信_9_托管在非Web应用程序

    原文:一步一步学习SignalR进行实时通信_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信\_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信_9_托管在非We ...

  7. 一步一步学习SignalR进行实时通信_7_非代理

    原文:一步一步学习SignalR进行实时通信_7_非代理 一步一步学习SignalR进行实时通信\_7_非代理 SignalR 一步一步学习SignalR进行实时通信_7_非代理 前言 代理与非代理 ...

  8. 一步一步学习SignalR进行实时通信_5_Hub

    原文:一步一步学习SignalR进行实时通信_5_Hub 一步一步学习SignalR进行实时通信\_5_Hub SignalR 一步一步学习SignalR进行实时通信_5_Hub 前言 Hub命名规则 ...

  9. 一步一步学习SignalR进行实时通信_6_案例

    原文:一步一步学习SignalR进行实时通信_6_案例 一步一步学习SignalR进行实时通信\_6_案例1 一步一步学习SignalR进行实时通信_6_案例1 前言 类的定义 各块功能 后台 上线 ...

  10. 一步一步学习SignalR进行实时通信_4_Hub

    原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...

随机推荐

  1. C++右值和移动

    值分左右 C++表达式的值类别: 这些名词的字面含义: 一个lvalue是通常可以放在等号左边的表达式,左值 一个rvalue是通常只能放在等号右边的表达式,右值 一个glvalue是generali ...

  2. svchost.exe占用端口

    事情是这样的,我写的某个程序基于tcp协议与其他程序进行通信,但每隔一段时间,该程序就不能与其他程序正常交流,用 telnet 127.0.0.1 1000 显示连接失败,但是程序的确开启,应该在监听 ...

  3. Elemnet-ui实现自定义上传图片

    1.该组件是基于Element-ui与Vue实现的,主要运用到了Element-ui的Upload组件的几个钩子函数,其中按照element ui官网的说法,http-request 覆盖原默认的上传 ...

  4. RBMQ案例四:路由模式

    使仅订阅消息的子集成为可能.例如,我们将能够仅将关键错误消息定向到日志文件(以节省磁盘空间),同时仍然能够在控制台上打印所有日志消息.   通过路由来匹配对应的消息 一.消息发布端 #!/usr/bi ...

  5. 从传统搜索到智能问答:自研 RAG 系统的技术实践与工程落地

    一.引言 在数字化转型浪潮下,企业知识服务体系正经历着深刻变革.如何让用户高效获取所需信息,成为提升产品竞争力和用户满意度的关键.葡萄城作为企业级开发工具与解决方案提供商,长期致力于知识服务体系的建设 ...

  6. AI助手:Agent工作流程与应用场景详解

    引言 智能体(Agent)是一种在特定环境中自主行动.感知环境.做出决策并与其他智能体或人类进行交互的计算机程序或实体.它们具备自主性.反应性.社交性和适应性等特点,能够根据环境的变化调整自己的行为, ...

  7. Web前端入门第 73 问:JavaScript DOM 常用事件那点小事

    网页上各种炫酷的交互效果离不开各种 DOM 事件 的支持,在写这篇文章之前,一度以为 JS 的事件绑定/取消方式就我知道的那几种,翻阅文档之后才发现,知识面还是有待提升,多翻翻文档,就像发现新大陆一样 ...

  8. wifi转串口

    wifi转串口 ZLAN7146是一款wifi转串口的wifi串口服务器.该串口服务器可以方便地使得串口设备连接到WIFI无线网络,实现串口设备的无线化网络升级.RS232接口支持全双工.不间断通信: ...

  9. Rust修仙之道 第六章:审炼境 · 试剑封灵

    第六章:审炼境 · 试剑封灵 "术式既成,必经试炼:未经试剑者,不可上阵." 顾行云日夜修炼,虽灵术繁多.模块精妙,但他常觉不稳.有一夜,他梦见灵阵暴走,众多灵兽因术式一处缺漏而陷 ...

  10. Rust修仙之道 第八章:意动境 · 闭包与迭代的灵动之道

    第八章:意动境 · 闭包与迭代的灵动之道 "他人需咏符念咒,我一念而动术:他人遍历千灵,我引灵自来去." 顾行云望着铺天盖地的灵纹数据,若要逐一施术,岂非精神耗尽?他开始思索:是否 ...