求vb托盘+菜单栏代码 30
要求如下:正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)...
要求如下:
正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)
符合的话追加分数!
实现不了哇 展开
正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)
符合的话追加分数!
实现不了哇 展开
1个回答
展开全部
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) '删除通知栏图标
Form1.Show '调出窗口
Case 1: '当单击"退出"菜单时
Call Icon_Del(Form1.hwnd, 0) '删除通知栏图标
End '退出程序
End Select
End Sub
5、设置Form_MouseDown事件,用于单通知栏图标时调出弹出菜单
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim L
L = X \ 15
'点击通知栏图标,用鼠标右键时调出弹出菜单
IF L = WM_LBUTTONDOWN Then
Me.PopupMenu m_Main
'点击通知栏图标,用鼠标左键时,将通知栏图标改为另外的图标
ElseIF L = WM_LBUTTONDOWN Then
Call Icon_Modify(Form1.hwnd,Form1.Caption, LoadPicture("D:\Pic2.ico"), 0)
End If
End Sub
程序编写完毕,设置工程的主程序为Form1,保存后运行。按下窗口最小化按纽,窗口消失,并在通知栏显示出窗口的图标;将鼠标移到图标上,有"通知栏图标测试"提示文本显示;用鼠标左键单击通知栏图标,图标变成另外的图案;单出鼠标右键,出现如上图所示的弹出菜单,接着单击弹出菜单"显示窗体",通知栏图标消失、窗口又恢复成原来的样子了,单击菜单"退出"则退出程序了。
.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) '删除通知栏图标
Form1.Show '调出窗口
Case 1: '当单击"退出"菜单时
Call Icon_Del(Form1.hwnd, 0) '删除通知栏图标
End '退出程序
End Select
End Sub
5、设置Form_MouseDown事件,用于单通知栏图标时调出弹出菜单
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim L
L = X \ 15
'点击通知栏图标,用鼠标右键时调出弹出菜单
IF L = WM_LBUTTONDOWN Then
Me.PopupMenu m_Main
'点击通知栏图标,用鼠标左键时,将通知栏图标改为另外的图标
ElseIF L = WM_LBUTTONDOWN Then
Call Icon_Modify(Form1.hwnd,Form1.Caption, LoadPicture("D:\Pic2.ico"), 0)
End If
End Sub
程序编写完毕,设置工程的主程序为Form1,保存后运行。按下窗口最小化按纽,窗口消失,并在通知栏显示出窗口的图标;将鼠标移到图标上,有"通知栏图标测试"提示文本显示;用鼠标左键单击通知栏图标,图标变成另外的图案;单出鼠标右键,出现如上图所示的弹出菜单,接着单击弹出菜单"显示窗体",通知栏图标消失、窗口又恢复成原来的样子了,单击菜单"退出"则退出程序了。
参考资料: 百度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询