如何获取所有菜单栏命令按钮的图片以及FaceID

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

问题:

如何获取所有菜单栏命令按钮的图片以及FaceID?

我自己编写程序时要定义菜单,但是我不知道系统中定义图片的 FaceID 是多少。

回答:

你直接将以下程序 COPY 到你新建的模块中去,然后将光标定位在“Public Function GetAllFaceID_1()”处,按 F5 运行即可。程序会自动生成几个工具栏,里面列出所有的 Face 以及 FaceID。

Function CommandBarIsExist(ByVal strName As String) As Boolean

'引用 OFFICE OBJECT Library

Dim b As CommandBar

CommandBarIsExist = False

For Each b In CommandBars

If b.Name = strName Then

CommandBarIsExist = True

Exit For

End If

Next

End Function

Public Function GetAllFaceID_1()

'将所有的 FACE 图片显示在几个工具栏中

'只要在自定义时显示工具栏即可

Dim b As CommandBar

Dim c As CommandBarControl

Dim p As CommandBarPopup

Dim p1 As CommandBarPopup

Dim strName As String

Dim cmbC As CommandBarComboBox

Dim cmbB As CommandBarButton

Dim i As Long

On Error Resume Next

'重新定义菜单项目

'Type 属性应用于 CommandBarButton、CommandBarComboBox、CommandBarControl 和 CommandBarPopup 对象的情形。

'返回命令栏控件的类型。MsoControlType 类型,只读。

'MsoControlType 可以为下列 MsoControlType 常量之一。

'msoControlActiveX

'msoControlAutoCompleteCombo

'msoControlButton

'msoControlButtonDropdown

'msoControlButtonPopup

'msoControlComboBox

'msoControlCustom

'msoControlDropdown '与 combo 的区别是只能单击下拉,不能修改

'msoControlEdit

'msoControlExpandingGrid

'msoControlGauge

'msoControlGenericDropdown

'msoControlGraphicCombo

'msoControlGraphicDropdown

'msoControlGraphicPopup

'msoControlGrid

'msoControlLabel

'msoControlLabelEx

'msoControlOCXDropdown

'msoControlPane

'msoControlPopup

'msoControlSpinner

'msoControlSplitButtonMRUPopup

'msoControlSplitButtonPopup

'msoControlSplitDropdown

'msoControlSplitExpandingGrid

'msoControlWorkPane

'On Error Resume Next

For i = 0 To 10000

If i Mod 1000 = 0 Then

strName = "cg tools" & i

If CommandBarIsExist(strName) = True Then

Set b = CommandBars.Item(strName)

b.Delete

End If

Set b = CommandBars.Add(Name:=strName, Position:=msoBarFloating, MenuBar:=False, Temporary:=True)

End If

Debug.Print i

Set cmbB = b.Controls.Add(msoControlButton, , , , True)

cmbB.Caption = i

cmbB.FaceId = i

DoEvents

Next

End Function

Public Function GetAllFaceID_2()

Dim b As CommandBar

Dim c As CommandBarControl

Dim p As CommandBarPopup

Dim p1 As CommandBarPopup

Dim strName As String

Dim cmbC As CommandBarComboBox

Dim cmbB As CommandBarButton

Dim i As Long

On Error Resume Next

strName = "cg tools"

If CommandBarIsExist(strName) = True Then

Set b = CommandBars.Item(strName)

b.Delete

End If

Set b = CommandBars.Add(Name:=strName, Position:=msoBarFloating, MenuBar:=False, Temporary:=True)

'重新定义菜单项目

'Type 属性应用于 CommandBarButton、CommandBarComboBox、CommandBarControl 和 CommandBarPopup 对象的情形。

'返回命令栏控件的类型。MsoControlType 类型,只读。

'MsoControlType 可以为下列 MsoControlType 常量之一。

'msoControlActiveX

'msoControlAutoCompleteCombo

'msoControlButton

'msoControlButtonDropdown

'msoControlButtonPopup

'msoControlComboBox

'msoControlCustom

'msoControlDropdown '与 combo 的区别是只能单击下拉,不能修改

'msoControlEdit

'msoControlExpandingGrid

'msoControlGauge

'msoControlGenericDropdown

'msoControlGraphicCombo

'msoControlGraphicDropdown

'msoControlGraphicPopup

'msoControlGrid

'msoControlLabel

'msoControlLabelEx

'msoControlOCXDropdown

'msoControlPane

'msoControlPopup

'msoControlSpinner

'msoControlSplitButtonMRUPopup

'msoControlSplitButtonPopup

'msoControlSplitDropdown

'msoControlSplitExpandingGrid

'msoControlWorkPane

'On Error Resume Next

For i = 0 To 10000

Debug.Print i

If i Mod 500 = 0 Then

Set p = b.Controls.Add(msoControlPopup, , , , True)

p.Caption = i

End If

If i Mod 25 = 0 Then

Set p1 = p.Controls.Add(msoControlPopup, , , , True)

p1.Caption = i

End If

Set cmbB = p1.Controls.Add(msoControlButton, , , , True)

cmbB.Caption = i

cmbB.FaceId = i

DoEvents

Next

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航