资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> Delphi编程 >> 文档正文
最近更新
普通文档 Together与Visual.Studi
普通文档 Together与Visual.Studi
普通文档 Together与Visual.Studi
普通文档 Delphi实现在数据库中存
普通文档 Delphi开发多媒体播放音
普通文档 开发工具大比拼之Visual
普通文档 Delphi串口通讯的监听
普通文档 Delphi中远程控制的实现
普通文档 利用Delphi编写Socket通
普通文档 利用Delphi开发网络数据
推荐文章
  • 此栏目下没有推荐文档
  • VB6如何在托盘中写入应用程序图标

    文章作者:佚名 录入时间:2006-6-2 来源:不详
    网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


      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就自动弹出来了。

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“VB6如何在托盘中写入应用程序图标”的内容  
    相关连接
  • 将Java程序变成Windows系统服务

  • 浅析Java多线程程序设计机制

  • Java初学者需掌握的30个基本概念(1)

  • JDBC 入门(1)

  • 面向Java程序员的Ajax:构建动态Java程序(1)