ABA


"איך עושים minimize to icon tray ב-VB ?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6317 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6317
adiadi

   15:43   15.06.03   
אל הפורום  
  איך עושים minimize to icon tray ב-VB ?  
 
   עבר עריכה לאחרונה בתאריך 15.06.03 בשעה 15:44
 
כשאני "מנמיך" את החלון אני רוצה שיכנס לטריי אייקון בשורת המשימות, ולא לשורה עצמה כנהוג. איך עושים זאת ? אם יש API עבור זה אקבלו בברכה..

תודה מראש!

(כותרת נערכה)


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש קוד שעושה את זה ב dr-vb Cd-Writer 15.06.03 15:52 1
     בדיוק .... jossepe_4u  15.06.03 16:19 2
  תודה.. בדיוק הסתדרתי עם זה adiadi 15.06.03 16:29 3

       
Cd-Writer

   15:52   15.06.03   
אל הפורום  
  1. יש קוד שעושה את זה ב dr-vb  
בתגובה להודעה מספר 0
 
   www.dr-vb.co.il
תריץ חיפוש על "TRAY"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
jossepe_4u 
חבר מתאריך 18.3.02
258 הודעות
   16:19   15.06.03   
אל הפורום  
  2. בדיוק ....  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
adiadi

   16:29   15.06.03   
אל הפורום  
  3. תודה.. בדיוק הסתדרתי עם זה  
בתגובה להודעה מספר 0
 
   ולהלן הפיתרון:
למי שמנסה הפיתרון, יש ליצור form1 ותפריט (כשהשם שלו הוא mnu_options ולפחות אחד האייטמים שלו הוא ss , כאשר ss יהיה מודגש כשלוחצים על זה קליק ימני. דבלקליק מעלה מחדש את ה-form)



Option Explicit

Const MAX_TOOLTIP As Integer = 64
Const NIF_ICON = &H2
Const NIF_MESSAGE = &H1
Const NIF_TIP = &H4
Const NIM_ADD = &H0
Const NIM_DELETE = &H2
Const WM_MOUSEMOVE = &H200
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
Const WM_LBUTTONDBLCLK = &H203
Const WM_RBUTTONDOWN = &H204
Const WM_RBUTTONUP = &H205
Const WM_RBUTTONDBLCLK = &H206

Private 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
Private nfIconData As NOTIFYICONDATA

Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

'***App Window Constants***
Private Const WIN_NORMAL = 1 'Open Normal
Private Const WIN_MAX = 3 'Open Maximized
Private Const WIN_MIN = 2 'Open Minimized

Private Declare Function apiShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long

'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&


Private Sub AddIcon()
'
' Add this application's icon to the system tray.
'
' Parm 1 = Handle of the window to receive notification messages
' associated with an icon in the taskbar status area.
' Parm 2 = Icon to display.
' Parm 3 = Handle of icon to display.
' Parm 4 = Tooltip displayed when cursor moves over system tray icon.
'
With nfIconData
.hwnd = Me.hwnd
.uID = Me.Icon
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle
.szTip = "Projects/Application" & vbNullChar
.cbSize = Len(nfIconData)
End With
Call Shell_NotifyIcon(NIM_ADD, nfIconData)
End Sub

Private Sub cmdQuit_Click()
Unload Me
End Sub


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lMsg As Single
'
' Determine the event that happened to the System Tray icon.
' Left clicking the icon displays a message box.
' Right clicking the icon creates an instance of an object from an
' ActiveX Code component then invokes a method to display a message.
'
lMsg = X / Screen.TwipsPerPixelX
Select Case lMsg
Case WM_LBUTTONUP
mnu_options.Visible = False
Case WM_RBUTTONUP

Case WM_MOUSEMOVE

Case WM_LBUTTONDOWN
mnu_options.Visible = False
Case WM_LBUTTONDBLCLK
Me.WindowState = vbNormal
Me.Show
Case WM_RBUTTONDOWN
mnu_options.Visible = True
SetForegroundWindow Me.hwnd
PopupMenu mnu_options, , , , ss 'will be shown in bold
Case WM_RBUTTONDBLCLK
'whichever exe you may want to call
Case Else
mnu_options.Visible = False
End Select
End Sub

Private Sub Form_Resize()

If Me.WindowState = vbMinimized Then
AddIcon
Me.Hide
End If
End Sub


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net