?? form1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 2745
ClientLeft = 1635
ClientTop = 1830
ClientWidth = 3420
Icon = "Form1.frx":0000
LinkTopic = "Form1"
ScaleHeight = 2745
ScaleWidth = 3420
ShowInTaskbar = 0 'False
Begin VB.Menu mnuFile
Caption = "文件(&F)"
Begin VB.Menu mnuFileExit
Caption = "退出(&Q)"
End
End
Begin VB.Menu mnuTray
Caption = "Popup"
Visible = 0 'False
Begin VB.Menu mnuTrayRestore
Caption = "恢復(&R)"
End
Begin VB.Menu mnuTrayMove
Caption = "移動(&M)"
End
Begin VB.Menu mnuTraySize
Caption = "大小(&S)"
End
Begin VB.Menu mnuTrayMinimize
Caption = "最小化(&n)"
End
Begin VB.Menu mnuTrayMaximize
Caption = "最大化(&x)"
End
Begin VB.Menu mnuTraySep
Caption = "-"
End
Begin VB.Menu mnuTrayClose
Caption = "退出(&Q)"
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'LastState變量的作用是標示主窗體原有狀態
Public LastState As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
' 調用一個窗口的窗口函數,將一條消息發給那個窗口。除非消息處理完畢,否則該函數不會返回。
' SendMessageBynum,SendMessageByString是該函數的“類型安全”聲明形式
'【返回值】
' Long,由具體的消息決定
'【參數表】
' hwnd ----------- Long,要接收消息的那個窗口的句柄
' wMsg ----------- Long,消息的標識符
' wParam --------- Long,具體取決于消息
' lParam --------- Any,具體取決于消息
'表示發送的是系統命令
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const SC_RESTORE = &HF120&
Private Const SC_SIZE = &HF000&
'當主窗體加載時
Private Sub Form_Load()
'窗體的WindowState屬性,返回或設置一個值,該值用來指定在運行時窗體窗口的可視狀態
'vbNormal 0 (缺省值)正常 。
'VbMinimized 1 最小化(最小化為一個圖標)
'VbMaximized 2 最大化(擴大到最大尺寸)
If WindowState = vbMinimized Then
LastState = vbNormal
Else
LastState = WindowState
End If
'將圖標添加到托盤的函數,參見模塊中的解釋
'注意了這是從主程序到模塊的入口,本例中并沒有直接調用Shell_NotifyIcon函數
AddToTray Me, mnuTray
SetTrayTip "托盤圖標演示,點擊右鍵彈出菜單"
End Sub
'在主窗體Form1大小改變時,相應改變右鍵菜單mnuTray的菜單項的可用屬性Enabled
Private Sub Form_Resize()
Select Case WindowState
'如果窗體最小化了,把菜單項“最大化”“恢復”設為可用,
'而把“最小化”“移動”“大小”三項設為不可用.
'如果這時在托盤圖標上點擊鼠標右鍵,會發現不可用項變為灰色
Case vbMinimized
mnuTrayMaximize.Enabled = True
mnuTrayMinimize.Enabled = False
mnuTrayMove.Enabled = False
mnuTrayRestore.Enabled = True
mnuTraySize.Enabled = False
'窗體最大化時
Case vbMaximized
mnuTrayMaximize.Enabled = False
mnuTrayMinimize.Enabled = True
mnuTrayMove.Enabled = False
mnuTrayRestore.Enabled = True
mnuTraySize.Enabled = False
'一般狀態下
Case vbNormal
mnuTrayMaximize.Enabled = True
mnuTrayMinimize.Enabled = True
mnuTrayMove.Enabled = True
mnuTrayRestore.Enabled = False
mnuTraySize.Enabled = True
End Select
If WindowState <> vbMinimized Then LastState = WindowState
End Sub
'保證在程序退出時刪除托盤圖標
Private Sub Form_Unload(Cancel As Integer)
RemoveFromTray
End Sub
'“文件”菜單的“退出”項被點擊時
Private Sub mnuFileExit_Click()
Unload Me
End Sub
'托盤圖標右鍵菜單上的“退出”項被點擊時
Private Sub mnuTrayClose_Click()
Unload Me
End Sub
'托盤圖標右鍵菜單上的“最大化”項被點擊時
Private Sub mnuTrayMaximize_Click()
WindowState = vbMaximized
End Sub
'托盤圖標右鍵菜單上的“最小化”項被點擊時
Private Sub mnuTrayMinimize_Click()
WindowState = vbMinimized
End Sub
'托盤圖標右鍵菜單上的“移動”項被點擊時
Private Sub mnuTrayMove_Click()
SendMessage HWnd, WM_SYSCOMMAND, SC_MOVE, 0&
End Sub
'托盤圖標右鍵菜單上的“恢復”項被點擊時
Private Sub mnuTrayRestore_Click()
SendMessage HWnd, WM_SYSCOMMAND, SC_RESTORE, 0&
End Sub
'托盤圖標右鍵菜單上的“退出”項被點擊時
Private Sub mnuTraySize_Click()
SendMessage HWnd, WM_SYSCOMMAND, SC_SIZE, 0&
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -