VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 放一个Combo到Toolbar中
发表评论(0)作者:, 平台:, 阅读:12581, 日期:2000-03-12
放一个Combo到Toolbar中


1. 放一个 ComboBox 到表单.

2. 放一个 Toolbar 在表单.

3. 增加下面的代码到 Form1 :


Private Sub Form_Load()

Dim btn As Button

Me.Show

Set btn = Toolbar1.Buttons.Add()

btn.Style = tbrSeparator

Set btn = Toolbar1.Buttons.Add()

btn.Style = tbrPlaceholder

btn.Key = "ComboBox"

btn.Width = 2000

With Combo1

.ZOrder 0

.Width = Toolbar1.Buttons("ComboBox").Width

.Top = Toolbar1.Buttons("ComboBox").Top

.Left = Toolbar1.Buttons("ComboBox").Left

End With

End Sub



在菜单上增加图标

声明:

Declare Function GetMenu Lib "user32"?(ByVal hwnd As Long) As Long

Declare Function GetSubMenu Lib "user32"?(ByVal hMenu As Long, ByVal nPos As Long) As Long

Declare Function GetMenuItemID Lib "user32"?(ByVal hMenu As Long, ByVal nPos As Long) As Long

Declare Function SetMenuItemBitmaps Lib "user32"?(ByVal hMenu As Long, ByVal nPosition As Long,?ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ?ByVal hBitmapChecked As Long) As Long

Public Const MF_BITMAP = &H4&


Type MENUITEMINFO

cbSize As Long

fMask As Long

fType As Long

fState As Long

wID As Long

hSubMenu As Long

hbmpChecked As Long

hbmpUnchecked As Long

dwItemData As Long

dwTypeData As String

cch As Long

End Type


Declare Function GetMenuItemCount Lib "user32"?(ByVal hMenu As Long) As Long

Declare Function GetMenuItemInfo Lib "user32"?Alias "GetMenuItemInfoA" (ByVal hMenu As Long,?ByVal un As Long, ByVal b As Boolean,?lpMenuItemInfo As MENUITEMINFO) As Boolean

Public Const MIIM_ID = &H2

Public Const MIIM_TYPE = &H10

Public Const MFT_STRING = &H0&


使用: 在 Form1 中增加一个 PictureBox1, AutoSize 为 True, 放一个小 Bmp (不是 Icon!推荐 13*13)。


Private Sub Command1_Click()

'Get the menuhandle of your app

hMenu& = GetMenu(Form1.hwnd)

'Get the handle of the first submenu (Hello)

hSubMenu& = GetSubMenu(hMenu&, 0)

'Get the menuId of the first entry (Bitmap)

hID& = GetMenuItemID(hSubMenu&, 0)

'Add the bitmap

SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture

'You can add two bitmaps to a menuentry

'One for the checked and one for the unchecked

'state.

End Sub