ToolBar.AppendItem 方法 | |
将一个新的工具栏按钮项添加到工具栏的末尾,该按钮项来自可用按钮的列表。
命名空间:
VO
程序集:
VOGUIClasses (在 VOGUIClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD AppendItem(
nButtonID,
nMenuItemID,
oBmp,
nPosition,
cTitle,
nImgCount,
bState,
bStyle,
symTB
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual __Usual AppendItem(
__Usual nButtonID = default,
__Usual nMenuItemID = default,
__Usual oBmp = default,
__Usual nPosition = default,
__Usual cTitle = default,
__Usual nImgCount = default,
__Usual bState = default,
__Usual bStyle = default,
__Usual symTB = default
)
查看代码参数
- nButtonID (Optional)
- 类型:__Usual
新的工具栏按钮项的ID。要在按钮组之间添加间隔,可以附加一个标记为 IDT_SEPARATOR 的项目。要查看可用的标准按钮项,可以在菜单编辑器中打开列表。对于自定义工具栏按钮,可以附加一个标记为 IDT_CUSTOMBITMAP 的项目。(例如,对于第一个按钮,<nButtonID> 是 IDT_CUSTOMBITMAP
+ 1;第二个按钮是 IDT_CUSTOMBITMAP + 2,依此类推。)
- nMenuItemID (Optional)
- 类型:__Usual
新的工具栏按钮项对应的菜单项的ID。 - oBmp (Optional)
- 类型:__Usual
包含一个或多个自定义位图的位图对象。位图中的每个按钮都必须是一个16色,20 x
16像素的位图。位图中的第一个按钮必须在像素位置1和20处绘制,第二个按钮在位置21和40处绘制,第三个按钮在位置41和60处绘制,依此类推。(实际上,这是一个按钮的带。)可以将自定义按钮放在单独的位图资源文件中,并为每个按钮创建一个 Bitmap 对象。如果使用这种方法,<nPosition>设置为1。建议在一个位图文件中使用一个按钮的带,因为这样只使用一个句柄。后一种方法将为每个创建的对象使用一个句柄。
- nPosition (Optional)
- 类型:__Usual
自定义工具栏按钮在位图中的位置。如果在<oBmp>中使用的是按钮的带,那么第一个按钮是1,第二个按钮是2,依此类推。如果使用单独的位图,或者如果未指定,<nPosition>为1。
下图说明了一个位图中包含的按钮的带,显示了每个按钮的像素位置和<nPosition>:
- cTitle (Optional)
- 类型:__Usual
如果在工具栏上显示按钮时使用的工具栏按钮的标题,可以指定标题。可以是 TB_TEXTANDICON 或 TB_TEXTONLY 样式。如果未指定,使用默认值 NULL_STRING。 - nImgCount (Optional)
- 类型:__Usual
在<oBmp>中传递的图像中的按钮数量。默认为1。 - bState (Optional)
- 类型:__Usual
按钮的初始状态,启用或禁用。如果启用,用户可以选择按钮。如果禁用,按钮会变暗(灰色)并且不能被选择;直到应用程序启用它,它仍然不可用。默认为启用(TBSTATE_ENABLED)。 - bStyle (Optional)
- 类型:__Usual
工具栏项的可选样式标志。默认情况下,样式会根据其他参数自动推导。但是,通过传递 Windows API 常量,可以强制执行特定的样式。默认为 TBSTYLE_BUTTON。
- symTB (Optional)
- 类型:__Usual
表示要使用的工具栏的符号名称。默认为主工具栏。
返回值
类型:
__Usual
如果成功则返回 TRUE;否则返回 FALSE。
备注 提示: |
---|
请参阅 Microsoft Win32 软件开发工具包文档,了解有关特定 Windows API 常量的详细信息。 |
当按钮被点击时触发的事件,以及在状态栏中显示的描述,都是基于关联菜单的属性。因此,工具栏通过其关联菜单间接控制应用程序的操作。
通过调用 ToolBar:AppendItem() 方法为每个标准工具栏按钮指定工具栏可能看起来有点麻烦。定义工具栏的推荐方法是使用菜单编辑器,它会自动生成布局工具栏的代码。
请注意,用户可以使用配置对话框修改工具栏上的按钮项集。程序不需要关心哪些按钮存在,因为事件的发生就像是菜单选择一样。
为了减少“视觉噪音”(不希望的闪烁和闪烁),ToolBar:AppendItem() 方法不会立即反映使用 ToolBar:AppendItem() 方法添加的按钮。相反,必须调用 ToolBar:Update() 方法,使所有新的按钮一次性显示出来。ToolBar:Show() 方法会自动更新显示。对于一次性定义并附加到窗口的工具栏,不需要显式调用 ToolBar:Update(),这个方法只适用于在运行时更改其按钮配置的工具栏。
示例
以下示例向工具栏添加了两个自定义位图:
1DEFINE BUTTON_ONE := 1
2DEFINE BUTTON_TWO := 2
3DEFINE FIRST_BUTTON := IDT_CUSTOMBITMAP + BUTTON_ONE
4DEFINE SECOND_BUTTON := IDT_CUSTOMBITMAP + BUTTON_TWO
5DEFINE MENUOPTIONONE := 3000
6DEFINE MENUOPTIONTWO := 3001
7
8LOCAL oBitmap AS Bitmap
9
10oBitmap := Bitmap{IDT_BUTTONS}
11
12SELF:ToolBar:AppendItem(FIRST_BUTTON,MENUOPTIONONE, oBitmap,1,"Button One")
13SELF:ToolBar:AppendItem(SECOND_BUTTON, MENUOPTIONTWO,oBitmap,2,"Button Two")
参见