工具栏主要是通过工具栏编辑器来设置的。在设计窗体中放入一个工具栏,选择属性,Button(按钮)后的下拉按钮,即会出现工具栏编辑器,如图:
通过工具栏编辑器可以设置工具栏按钮的名称、样式、状态、文本、提示和显示图像。(这里说一下,工具栏显示的图像可用用ico,bmp,png等格式,这些图标可用到阿里巴巴矢量图标库(www.iconfont.cn)里寻找)
按新增或插入按钮添加工具栏按钮,然后设置名称(这里的名称就是按钮的ID名称,设置按钮和事件里的时候需要用到),选择需要的按钮样式,常用的就是普通按钮和分割线。文本和提示可以不输入,如果需要显示图像,则选择图像。
工具栏编辑示例:
一、属性
1、ImageSize(图像尺寸)
可以设置显示图像的大小,可以选择SIZE_16,SIZE_24,SIZE_32,SIZE_48着几种尺寸。
2、Enabled(可用)、Visible(显示)
使能和显示工具栏。
3、ButtonCheck (按钮选中)
设置工具栏按钮是否选中。
4、ButtonCount (按钮个数)
获取工具栏按钮个数。
5、ButtonEnabled(按钮使能)
设置工具栏按钮是否可用。
6、ButtonTips(提示文本)
设置工具栏按钮提示文本。
二、事件
1、WM_Command事件
Sub Form1_ToolBar1_WM_Command(hWndForm As hWnd,wID As ULong) '点击了按钮
Select Case wID
Case tbrFileNew '
Case tbrFileOpen '
Case tbrFileSave '
Case tbr00 '
Case tbrCut '
Case tbrCopy '
Case tbrPaste '
End Select
End Sub
双击工具栏即可出现编辑好的工具栏的事件。
三、示例
代码如下:
Sub Form1_Shown(hWndForm As hWnd,UserData As Integer) '窗口完全显示后。UserData 来自显示窗口最后1个参数。
'ToolBar1.ButtonCheck(tbrFileNew) =True '经测试,可以选中
printa ToolBar1.ButtonCount '连分割线也算一个
ToolBar1.ButtonEnabled(tbrFileOpen) =False
'ToolBar1.ButtonText(tbrFileSave) = "保存" '有图标好像不能显示文本
ToolBar1.ButtonTips(tbrCut) = "剪切"
'ToolBar1.ButtonVisible(tbrCopy) = False '测试,不能隐藏
End Sub
Sub Form1_ToolBar1_WM_Command(hWndForm As hWnd,wID As ULong) '点击了按钮
Select Case wID
Case tbrFileNew '
AfxMsg "选中【新建】"
Case tbrFileOpen '
AfxMsg "选中【打开】"
Case tbrFileSave '
AfxMsg "选中【保存】"
Case tbr00 '分割符,不用
Case tbrCut '
AfxMsg "选中【剪切】"
Case tbrCopy '
AfxMsg "选中【复制】"
Case tbrPaste '
AfxMsg "选中【粘贴】"
End Select
End Sub
运行效果:
完整代码:
https://github.com/rainheart311/VisualFreeBASIC/tree/master/Toolbar