求vb托盘+菜单栏代码

来源:百度知道 编辑:UC知道 时间:2024/06/23 00:33:53
要求如下:
正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)

符合的话追加分数!
实现不了哇

1、 设置属性如下:

.Name=Form1
.Caption="通知栏图标测试"
.Icon=(Icon),选择一个漂亮的图标
其它默认即可

2、 设置窗口全局变量,并设置初始值

'用于标识窗口是否已经按过最小化按纽
Dim MinFlag As Boolean
Private Sub Form1_Load()
MinFlag = False
End Sub

3、 窗口最小化时产生Resize事件,设置Form1.Resize事件,判断窗口是否最小化

Private Sub Form1_Resize()
'判断窗口是否最小化状态,并且是按最小化按纽后第一次发生Resize事件
If IsIconic(Me.hwnd) <> 0 And MinFlag = False Then
MinFlag = True
IcCardMain.Visible = False '隐藏窗口
'将窗口图标加入通知栏
Call Icon_Add(Me.hwnd, Me.Caption, IcCardMain.Icon, 0)
End If
End Sub

4、如图所示用菜单设计器建一个弹出菜单,取名为main,main内有一个菜单数组:

菜单一:m_Menu(0) 标题:显示窗口

菜单二:m_Menu(1))标题:退出

菜单事件:

Private Sub m_Menu_Click(Index As Integer)
Select Case Index
Case 0: '当单击"显示窗口"菜单时
Call Icon_Del(Form1.hwnd, 0) '删除通知栏图标