开发手记(八)——ActiveBar控件中的利器(1)
-为保证文章完整性,谢绝对某篇而非全部手记的转载(mi6236)
Data Dynamics ActiveBar是由Data Dynamics开发的一款设计用户界面必不可少的 ActiveX 控件,如果你想让自己的程序变得更专业,就必须用它。使用它可以制作出像 Word 一样的个性化菜单、“自定义”对话框;像 Outlook 的快捷按钮栏;像 CorelDRAW 的入坞式窗口;像 Delphi 的控件选择页面。并且使用十分简单,保存设计图和加载设计图都十分简单,只用几个方法既可。SP3 中全面支持了 XP 样式,可以在非 XP 操作系统中实现 XP 的介面。这个控件可以在 VB6 、 VC++ 、Delphi、PB等开发工具上使用。
1、对象ActiveBar
Tools
Tool
Bands Band
Tools
Tool
ChildBands
Band
Tools Tool
CustomizeListBox 2、添加主菜单:
在Form中添加一个ActiveBar―>对其右单击选中快捷菜单中的属性―>弹出ActiveBar设计器界面(左侧的TreeView中显示当前ActiveBar的资源,右侧显示选中资源的属性->右单击资源栏中的Bands添加一个MenuBar为工程的主菜单项->右单击刚刚添加的主菜单添加若干Button作为主菜单的各个显示项。
其中:AlignToForm确定ActiveBar是否填充整个Form
3、添加一级菜单
右单击资源栏中的Bands添加一个PopUpMenu为工程的一级子菜单项->右单击一级子菜单添加若干Button作为一级子菜单的各个显示项。->将主菜单的相应显示项的SubBands值设置为此一级子菜单的Name值。
4、添加二级菜单
右单击资源栏中的Bands添加一个PopUpMenu为工程的二级子菜单项->右单击二级子菜单添加若干Button作为二级子菜单的各个显示项。->将一级子菜单的相应显示项的SubBands值设置为此二级子菜单的Name值。
5、实现菜单的Check选项
在程序相应的菜单中使用ABar.Bands("MenuTool").Tools.item("…").Checked = Not AABar.Bands("MenuTool").Tools.item("…").Checked来实现Check选项的乒乓。
6、工具栏
工具栏的实现方法与菜单相似
CaptionPostion――工具栏中的文字相对于图标的位置
Style――工具栏中显示文字或图标还是文字图标都显示
DisplayMoreToolsButton――Determines if the More Tools button is displayed on the band.
5.重要属性
ActiveBand
返回包含一个带有输入焦点按钮的带区(例如一个文本框或组合框)。数据类型为 Band。
Align
返回/设置一个值,决定对象在窗体上的显示位置。数据类型为 Integer。
AlignToForm
决定 ActiveBar 是否填充整个 SDI 窗体的客户区。数据类型为 Boolean。
AutoSizeChildren
龆?ActiveBar 是否在 SDI 窗体上重新配置子控件。数据类型为 Boolean。
AutoUpdateStatusBar
决定如果一个是当前的 ActiveBar 是否自动更新状态栏。数据类型为 Boolean。
ClientAreaHeight
返回客户区的高度。数据类型为 Long。
ClientAreaLeft
返回客户区的左边距。数据类型为 Long。
ClientAreaTop
返回客户区的上边距。数据类型为 Long。
ClientAreaWidth
返回客户区的宽度。数据类型为 Long。
ControlFont
返回/设置组合框和文本框的字体。数据类型为 StdFont。
DisplayToolTips
决定是否当用户悬停载按钮上方时显示工具提示。数据类型为 Boolean。
Font
返回/设置显示在按钮上文字的字体。数据类型为 StdFont。
MenuAnimation
设置 ActiveBar 菜单显示的样式。数据类型为 Integer。
MenuFontStyle
决定菜单的字体是使用字体属性或者操作系统的设置。数据类型为 Integer。
PersonalizedMenus
决定个性化(最近使用)菜单项的行为。数据类型为 Integer。
picture
返回/设置工具栏的纹理图片。数据类型为 StdPicture。
ShadowColor
返回/设置 3D 阴影颜色。数据类型为 Long。
ThreeDDarkShadow
弹出式带区的 3D 阴影颜色。数据类型为 Long。
Tools
返回在使用运行时自定义的一个按钮集合。数据类型为 Tool。
UserDefinedCustomization
决定当用户在系统上下文菜单中单击“自定义”时是否使用默认自定义对话框。数据类型为 Boolean。
Caption
一个显示在页、窗口标题和带区头柄区的字符串。数据类型为 String。
DisplayMoreToolsButton
显示“更多按钮”按钮或仅仅只是一个指示器。数据类型为 Boolean。
Flags
一个双精度值来定义带区的某一些属性。数据类型为 Double。
GrabHandleStyle
如果要,表示带区头柄的的样式。数据类型为 Integer。
Tools
返回带区上的按钮对象的集合。数据类型为 Tool。
Type
表示带区的样式。数据类型为 Integer。
BackColor
滑行页面的背景颜色。数据类型为 Long。
ChildBands
ChildBandBackgroundStyle
滑行页子带区的背景样式。数据类型为 Integer。
ChildBands
ChildBandCaptionAlignment
滑动页子带区的文字对齐样式。数据类型为 Integer。
ChildBands
6.重要方法
ApplyAll
应用这个按钮的属性到所有与它有相同的编号的控件。
Customize
在运行时开始自定义。
GetToolFromPosition
设置一个屏幕位置,获得在这个位置上的带区或按钮。
GetBandFromPosition
LoadLayoutChanges
从一个字节数组中加载设计图信息。
LoadMenuUsageData
加载菜单的使用数据。
PlaySound
从一个文获系统声音播放声音。
RecalcLayout
重新计算入坞和浮动的带区的设计图。
Refresh
重绘所有的工具栏。
RegisterChildMenu
注册一个带有 ActiveBar 的子菜单带区。
SaveLayoutChanges
保存正确的设计图信息到一个字节数组中。
SaveMenuUsageData
保存菜单使用数据。
GetToolIndex
返回一个按钮的编号。
PopupMenu
弹出菜单。
PopupMenuEx
不考虑区域地显示弹出菜单。
Refresh
重新绘制工具栏。
CBAddItem
添加一项到组合框控件中。
CBClear
清除组合框中的内容。
SetPictureMask
设置按钮图片的蒙蔽色。
7.重要事件
BandClose
当用户使用弹出菜单或浮动时关闭一个所选的带区时发生。
BandDock
当带区入坞时发生。
BandMove
当一个工具栏在屏幕被移动时发生。
BandOpen
当用户用弹出菜单打开一个所选的带区时发生。
BandResize
当带区被重新调整大小时发生。
BandUndock
当带区出坞时发生。
ChildBandChange
当一个子带区被单击时发生。
ComboDrop
当用户单击组合框的下拉箭头时发生。
ComboSelChange
当在组合框中当前的所选项被改变时发生。
CustomizeBegin
开始自定义时发生。
CustomizeEnd
自定义结束时发生。
Error
当一个 ActiveBar 的内部的错误发生时发生。
MouseEnter
当一个按钮移动到一个按钮的区域时发生。
MouseExit
当指针从一个按钮区域移动出来时发生。
NewToolbar
当用户按下在“自定义”对话框中的“新建工具栏”按钮时发生。
QueryUnload
当一个应用程序被关闭时发生,用异于 0 的值设置取消来告诉 ActiveBar 释放关闭的窗体和控件。
Reset
当从“自定义”对话框中按下“重新设置”按钮或者在 ActiveBar 控件上使用重新设置方法时发生。
TextChange
当文本框或组合框中的文字改变时发生。
ToolClick
当用户在一个按钮或选择菜单按下鼠标左键时发生。
ToolDblClick
当双击工具栏中的按钮时发生。
(未完待续)