⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdlstandard.bas

📁 VB6程序设计参考手册 -独立源码 VB6程序设计参考手册 -独立源码
💻 BAS
字号:
Attribute VB_Name = "mdlStandard"
Option Explicit

'声明Shell_NotifyIcon函数,用于将图标加入到系统托盘中
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

'声明自定义的数据类型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 * 64
End Type

'声明常量
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2

Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4

'定义SetWindowLong,用以改变frmTemp窗体的窗体函数
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

'定义事件的常数代码
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_USER = &H400

'定义自定义的事件WM_NOTIFYICON
Public Const WM_NOTIFYICON = WM_USER + &H100

'替换窗口处理函数
Public Const GWL_WNDPROC = (-4)

'该函数为frmTest的窗体处理函数。
Function DialogProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Dim bln As Boolean
   bln = True
   If uMsg = WM_NOTIFYICON Then
      '表示对系统托盘中的程序进行操作
      If lParam = WM_LBUTTONDOWN Then
         '如果按下鼠标左键,则显示菜单
         frmMain.Show
         frmMain.mnuTrayShow.Enabled = False
         frmMain.mnuTrayHide.Enabled = True
      ElseIf lParam = WM_RBUTTONDOWN Then
         '如果按下鼠标右键,则弹出菜单
         frmMain.PopupMenu frmMain.mnuTray
      Else
         '否则,将程序控制权交给系统处理
         bln = False
      End If
   Else
      '否则,将程序控制权交给系统处理
      bln = False
   End If
   DialogProc = bln
End Function

Sub Main()
   Load frmTemp
   frmMain.Show
   
   '调用SetWindowLong函数来改变frmTemp窗体的窗体函数
   Call SetWindowLong(frmTemp.hwnd, GWL_WNDPROC, AddressOf DialogProc)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -