Re: [VB6 ] 關於程式執行後縮小到右下角
很久沒碰系統匣圖示的程式碼了
以前好像是使用微軟提供的元件來顯示系統匣圖示
我推測要這樣改,但不確定是否可行,自己試試看
我不清楚你的程式架構是怎樣
但系統匣圖示也是要提供一個視窗
以視窗的Handle(Me.hWnd)呼叫Windows API,以產生系統匣圖示
這樣額外產生的東西不歸VB管理,結束程式前需要將其釋放
另外,結束程式建議不要直接End,End是無條件直接終止程式
不會執行各表單的Unload事件,就像是工作管理員中按下結束一樣
我當做你的專案是單一表單
或者是這個表單按下結束就直接結束,無需考慮其他表單是否還在執行
如果要考慮其他表單是否還在執行,就要跑迴圈列舉Forms,Unload每個執行中的表單
以下亮綠色的是說明,另外標顏色的是需修改的程式
Private Sub Form_Load()
'If App.PrevInstance Then Unload Me
'與問題無關,但建議改成這樣
If App.PrevInstance Then
Unload Me
Exit Sub
End If
App.TaskVisible = False
InitSystemIcon Me.hWnd, Me.icon
End Sub
Private Sub Form_Unload()
'問題2 →
'終止系統匣圖示
RemoveSystemIcon Me.hWnd
'結束整個處理程序
End
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y
As Single)
Dim msg As Long
msg = X / Screen.TwipsPerPixelX
If msg = WM_LBUTTONUP Then PopupMenu myMenu, 0
'問題1 → LBUTTON 滑鼠左鍵,RBUTTON 滑鼠右鍵
'所以請把 WM_LBUTTONUP 改成 WM_RBUTTONUP
End Sub
Private Sub f_exit_Click()
'問題2 → 請把 End 換成載出表單
Unload Me
End Sub
'下面的code是放在模組
'更新 SystemICON 處理
Sub UpdateSystemIcon(hWnd As Long, icon As Object)
SystemIcon.szTip = _
SystemIcon.hIcon = icon
Shell_NotifyIcon NIM_MODIFY, SystemIcon
End Sub
'移除 SystemICON 處理
Sub RemoveSystemIcon(hWnd As Long)
Shell_NotifyIcon NIM_DELETE, SystemIcon
End Sub
--
携帯の待ち受けには
笑顔のMai-Kがいる
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.79.177 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1583569105.A.479.html
推
03/07 19:23,
4年前
, 1F
03/07 19:23, 1F
推
03/09 06:58,
4年前
, 2F
03/09 06:58, 2F
推
03/11 23:51,
4年前
, 3F
03/11 23:51, 3F
推
03/12 12:54,
4年前
, 4F
03/12 12:54, 4F
推
03/12 13:42,
4年前
, 5F
03/12 13:42, 5F
推
03/14 17:18,
4年前
, 6F
03/14 17:18, 6F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章