常用属性与方法
Button属性
这个属性列出了所有按钮,可以通过Button[i]来获取或设置
比如:
# 获取按钮1的Action名称
ShowMessage(self.ToolBar1.Buttons[0].Action.Name)
Indent属性
设定第一个按钮左边的空边位置,单位是像素
如图,第二个ToolBar设置了 Indent=50
EdgeInner、EdgeOuter属性
设定整个工具条的凸出、凹进的样式,效果如下图
Customizable属性
是否允许用户在使用时移动按钮位置,如果设置为True,则在程序中,可以用Shift+鼠标拖动来移动按钮图标位置
ShowCaptions属性
显示图标下的文字,设置成True后,效果如下,当然,这时会涉及到高度宽度的调整
List属性
设置为False如上图,文字在下,图标在上,设置为True如下图
Constrains、AutoSize属性
设置工具栏的大小限制,如下图,在设置为Align为AlNone时(默认为AlTop),设置控件最大、最小的长宽后的效果
AutoSize则是可以自动根据工具栏需要展示的尺寸来定义尺寸,通常建议把这个设置为True即可
DrawingStyle、GradientDirection、GradientDrawingOptions属性
通过这些属性可以对工具栏进行渐变设置,如下图为设置了水平渐变设置,设置为当前颜色到绿色的渐变
HotImages属性
另一个ImagesList,当鼠标移到按钮上时,会切换到这个图标
如下图,设置HotImages为ImageList2,当鼠标移到按钮2后,将出现如下显示
Enabled属性
可以通过对工具栏的属性或单个按钮的属性来设置是否可用
# 所有按钮均禁用,虽然对单个按钮启用了,但工具栏禁用了,所以仍无效
self.ToolBar1.Enabled=False
self.ToolBar1.Buttons[3].Enabled=True
# 工具栏启用后,可以设置单个按钮禁用
self.ToolBar1.Enabled=True
self.ToolBar1.Buttons[3].Enabled=False
按钮的Down属性
有时需要有些按钮以是否按下作为标记,如,是否加粗,是否斜体等,此时,可以用
Button[i].Down属性来进行处理
以下代码判断窗体中的label文件,并设置按钮的Down属性(仅做演示,如果真的只是做一个状态,可以设置Style=tbsCheck)
def ToolButton7Click(self, Sender):
if self.Label1.Caption=="按下":
self.ToolBar1.Buttons[7].Down = False
self.Label1.Caption="抬起"
else:
self.ToolBar1.Buttons[7].Down = True
self.Label1.Caption="按下"
当按下按钮6时,标签会显示按下,反之显示抬起。
用Group、Style属性完成按钮互斥
在工具栏中,可以将几个按钮设置为互斥(如左对齐、中对齐、右对齐),此时,需要将Style设置为tbsCheck,同时将需要互斥的按钮的Grouped设置为True
OnClick事件
这个是最常用的事件,除了可以绑定Action以外,也可以用OnClick事件来执行代码
TTooBar中可以加入其他控件
图中显示了在工具栏中加了下拉框、标签、开关、编辑框、按钮等,具体哪些可以添加,可以自行试验