求vb托盘+菜单栏代码 30

要求如下:正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)... 要求如下:
正常时,任务栏显示,不加入托盘;最小化后删除任务栏的显示,加入到托盘.同时右键加入菜单栏(退出,显示,可以的话吧form中的某个cmd也加入到托盘右键菜单栏中)

符合的话追加分数!
实现不了哇
展开
 我来答
取名字严重难
2009-12-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2081
采纳率:33%
帮助的人:870万
展开全部
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,保存后运行。按下窗口最小化按纽,窗口消失,并在通知栏显示出窗口的图标;将鼠标移到图标上,有"通知栏图标测试"提示文本显示;用鼠标左键单击通知栏图标,图标变成另外的图案;单出鼠标右键,出现如上图所示的弹出菜单,接着单击弹出菜单"显示窗体",通知栏图标消失、窗口又恢复成原来的样子了,单击菜单"退出"则退出程序了。

参考资料: 百度

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式