您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > VB开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始


-金山文字2002与WORD使用对比
-四款流媒体下载软件横向评测
-Flash cam 制作软件实例课件
-办公软件之学校应用

用VB实现窗口图标最小化到通知栏
2003-03-06· ·李俊··yesky

上一页  1 2  

  第二步:新建一窗口,取名为:Form1:

  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,保存后运行。按下窗口最小化按纽,窗口消失,并在通知栏显示出窗口的图标;将鼠标移到图标上,有"通知栏图标测试"提示文本显示;用鼠标左键单击通知栏图标,图标变成另外的图案;单出鼠标右键,出现如上图所示的弹出菜单,接着单击弹出菜单"显示窗体",通知栏图标消失、窗口又恢复成原来的样子了,单击菜单"退出"则退出程序了。

  以上程序在Windows98+VB6.0及Windows2000+VB6.0下测试通过。


上一页  1 2  

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 VB6实现局域网多站点互连完全手册
 如何实现VB与EXCEL的无缝连接
 用简单的VBA实现Excel表格计算
 FSO对象模型在VB中的应用
 如何编写高质量的VB代码
 运用VB.net创建Web服务访问程序
 VB多类图片数据库存取技巧
 用VB6设计有趣的动画场景
 用VB设计有安全认证服务的Email
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!