您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 辅导 >> 正文    
  VB6如何在拖托盘中写入应用程序图标 【注册男护士专用博客】          

VB6如何在拖托盘中写入应用程序图标

www.nanhushi.com     佚名   不详 

  1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False
  
  2、菜单:工程--添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas
  
  3、在Module1中写下如下代码:
  
  Option Explicit
  
  Public Const MAX_TOOLTIP As Integer = 64
  Public Const NIF_ICON = &H2
  Public Const NIF_MESSAGE = &H1
  Public Const NIF_TIP = &H4
  Public Const NIM_ADD = &H0
  Public Const NIM_DELETE = &H2
  Public Const WM_MOUSEMOVE = &H200
  Public Const WM_LBUTTONDOWN = &H201
  Public Const WM_LBUTTONUP = &H202
  Public Const WM_LBUTTONDBLCLK = &H203
  Public Const WM_RBUTTONDOWN = &H204
  Public Const WM_RBUTTONUP = &H205
  Public Const WM_RBUTTONDBLCLK = &H206
  
  Public Const SW_RESTORE = 9
  Public Const SW_HIDE = 0
  
  Public nfIconData As NOTIFYICONDATA
  
  Public Type NOTIFYICONDATA
  cbSize As Long
  hWnd As Long
  uID As Long
  uFlags As Long
  uCallbackMessage As Long
  hIcon As Long
  szTip As String * MAX_TOOLTIP
  End Type
  
  Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long


  
  4、在Form1的Load事件中写下如下代码:
  
  Private Sub Form_Load()
  
  '以下把程序放入System Tray====================================System Tray Begin
  With nfIconData
  .hWnd = Me.hWnd
  .uID = Me.Icon
  .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
  .uCallbackMessage = WM_MOUSEMOVE
  .hIcon = Me.Icon.Handle
  '定义鼠标移动到托盘上时显示的Tip
  .szTip = App.Title + "(版本 " & App.Major & "." & App.Minor & "." & App.Revision & ")" & vbNullChar
  .cbSize = Len(nfIconData)
  End With
  Call Shell_NotifyIcon(NIM_ADD, nfIconData)
  '=============================================================System Tray End
  Me.Hide
  End Sub
  
  5、在Form1的QueryUnload事件中写入如下代码:
  
  Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
  End Sub
  
  6、在Form1的MouseMove事件中写下如下代码:
  
  Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Dim lMsg As Single
  lMsg = X / Screen.TwipsPerPixelX
  Select Case lMsg
  Case WM_LBUTTONUP
  'MsgBox "请用鼠标右键点击图标!", vbInformation, "实时播音专家"
  '单击左键,显示窗体
  ShowWindow Me.hWnd, SW_RESTORE
  '下面两句的目的是把窗口显示在窗口最顶层
  'Me.Show
  'Me.SetFocus
  '' Case WM_RBUTTONUP
  '' PopupMenu MenuTray '如果是在系统Tray图标上点右键,则弹出菜单MenuTray
  '' Case WM_MOUSEMOVE
  '' Case WM_LBUTTONDOWN
  '' Case WM_LBUTTONDBLCLK
  '' Case WM_RBUTTONDOWN
  '' Case WM_RBUTTONDBLCLK
  '' Case Else
  End Select
  End Sub
  
  7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。单击此图标,Form1就自动弹出来了。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。