用VB制作IE工具條自定義按鈕
發表于:2007-07-14來源:作者:點擊數:
標簽:
西安市含光門外中原小區1號樓3單元702(710068) 張慶 Private Sub UserControl_Resize() UserControl.Width = 540 UserControl.Height = 540 Image1.Move 0, 0, ScaleWidth, ScaleHeight End Sub '將屬性值寫到存儲器 Private Sub UserControl_WritePropertie
西安市含光門外中原小區1號樓3單元702(710068) 張慶
Private Sub UserControl_Resize()
UserControl.Width = 540
UserControl.Height = 540
Image1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
'將屬性值寫到存儲器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty(“ButtonText",
m_ButtonText, m_def_ButtonText)
Call PropBag.WriteProperty(“Exec", m_Exec,
m_def_Exec)
Call PropBag.WriteProperty(“HotIcon",
m_HotIcon, m_def_HotIcon)
Call PropBag.WriteProperty(“Icon",
m_Icon, m_def_Icon)
Call PropBag.WriteProperty(“MenuText",
m_MenuText, m_def_MenuText)
Call PropBag.WriteProperty(“MenuStatusBar",
m_MenuStatusBar, m_def_MenuStatusBar)
Call PropBag.WriteProperty(“GUID",m_GUID,
m_def_GUID)
End Sub
’獲取按鈕文本
Public Property Get ButtonText() As String
ButtonText = m_ButtonText
End Property
’設置按鈕文本
Public Property Let ButtonText(ByVal New_ButtonText As String)
m_ButtonText = New_ButtonText
PropertyChanged “ButtonText"
End Property
’獲取當前按鈕執行目標
Public Property Get Exec() As String
Exec = m_Exec
End Property
’設置當前按鈕執行目標
Public Property Let Exec(ByVal New_Exec As String)
m_Exec = New_Exec
PropertyChanged “Exec"
End Property
’獲取鼠標移上按鈕時顯示的圖標
Public Property Get HotIcon() As String
HotIcon = m_HotIcon
End Property
’設置鼠標移上按鈕時顯示的圖標
Public Property Let HotIcon(ByVal New_HotIcon As String)
m_HotIcon = New_HotIcon
PropertyChanged “HotIcon"
End Property
’獲取按鈕正常顯示的圖標
Public Property Get Icon() As String
Icon = m_Icon
End Property
’設置按鈕正常顯示的圖標
Public Property Let Icon(ByVal New_Icon As String)
m_Icon = New_Icon
PropertyChanged “Icon"
End Property
’獲取菜單項顯示文本
Public Property Get MenuText() As String
MenuText = m_MenuText
End Property
’設置菜單項顯示文本
Public Property Let MenuText(ByVal New_MenuText As String)
m_MenuText = New_MenuText
PropertyChanged “MenuText"
End Property
’獲取菜單項注釋文本
Public Property Get MenuStatusBar() As String
MenuStatusBar = m_MenuStatusBar
End Property
’設置菜單項注釋文本
Public Property Let MenuStatusBar(ByValNew_Menu
StatusBar As String)
m_MenuStatusBar = New_MenuStatusBar
PropertyChanged “MenuStatusBar"
End Property
Public Property Get GUID() As String
GUID = m_GUID
End Property
Public Property Let GUID(ByVal New_GUID As String)
m_GUID = New_GUID
PropertyChanged “GUID"
End Property
’顯示“關于”對話框
Public Sub ShowAboutBox()
frmAbout.Show
vbModal
Unload frmAbout
Set frmAbout = Nothing
End Sub
該控件提供了 7 個屬性和2 個方法。
控件的屬性:
●GUID:一個在注冊表唯一標識應用軟件的數字序列,共36位;
●ButtonText:按鈕上顯示的文本;
●Exec:按鈕執行的目標,為可執行文件或超文本鏈接等;
●HotIcon:鼠標移上按鈕時顯示的圖標,取自 EXE 文件或 DLL 文件;
●Icon:按鈕正常顯示的圖標,取自 EXE 文件或 DLL 文件;
●MenuText:在 IE “工具”菜單中顯示的菜單項;
●MenuStatusBar:IE“工具”菜單項的解釋,顯示在底部的狀態條上。
控件的方法:
●AddBtn2IEtoolbar:添加自定義按鈕;
●DelBtnFromIEtoolbar:刪除自定義按鈕。
使用方法(以VB為例)
在 VB 中,首先將該用戶控件加入“部件”列表中,然后把該控件從“工具箱”拖放到 EXE 工程窗體上,再在窗體上放兩個命令按鈕,命名為 cmdADD 和 cmdDel,鍵入以下代碼:
Option Explicit
'該 GUID 號碼用特殊工具產生
Const theGUID = “{3FA4FB86-E43A-11D4-B3DD-00E006E25C0B}"
Private Sub cmdAdd_Click() '添加按鈕
AddButton1.Guid = theGUID
AddButton1.ButtonText = “控件"
AddButton1.Exec = “http://why100000.at.
china.com"
AddButton1.HotIcon = “C:\Add2IE Toolbar\Add2IEToolbar.exe,101"
AddButton1.Icon = “C:\Add2IE Toolbar\Add2IEToolbar.exe,102"
AddButton1.MenuText = “
測試控件"
AddButton1.MenuStatusBar = “測試我制作的 ActiveX 控件"
AddButton1.AddBtn2IEtoolbar '執行
End Sub
Private Sub cmdDel_Click() '刪除按鈕
AddButton1.Guid = theGUID
AddButton1.DelBtnFromIEtoolbar
End Sub
以上代碼中,GUID 號可以用 VC++ 6.0 提供的 GUID 生成器工具產生。方法是:運行 VC++ 6.0,打開一個工程,在“Project\Add to Project\Components and Controls\Visual C++ Components\GUID Generator”中,按“Insert”按鈕,確定后,先選第 4 項“Registry Format”,再按“Copy”按鈕,GUID 生成器就將一個新產生的 GUID 號拷貝到了剪貼板上。
按鈕的圖標包含在 C:\Add2IE Toolbar\Add2IEToolbar.exe 文件中,101 和 102 是它們的順序號。按 cmdAdd 按鈕,然后打開 IE 瀏覽器,就會看到 IE 工具條上添加的自定義按鈕了。
原文轉自:http://www.anti-gravitydesign.com