View Full Version : عوض کردن رویداد Minimize
  
r0ot$harp
شنبه 19 آبان 1386, 15:23 عصر
سلام بچه ها خوبید من می خوام بدونم چه جوری میشه کاری کرد که وقتی رو Minimize فورم کلیک کردیم آیکون برنامه در system tray قرار گیرد .
ممنون
ali_habibi1384
شنبه 19 آبان 1386, 17:11 عصر
system try?  یعنی چه اتفاقی واسش بیوفته؟
r0ot$harp
شنبه 19 آبان 1386, 20:41 عصر
system try?  یعنی چه اتفاقی واسش بیوفته؟
سلام ممنون از جوابتون
من می خوام وقتی رو minimize می زنه آیکونه برنامه بره کنار ساعت و فورم برنامه مخفی شه مانند Babylon
__siavash__
شنبه 19 آبان 1386, 21:26 عصر
یه تابع مثل این بنویس برای قرار دادن برنامه در Systray بعد تو رویداد Resize هم این کدو بذار 
البته یه PictureBox به اسم Picture1 رو فرمت بذار که تصویرش قراره بره کنار ساعت !!!
 
'in module
Option Explicit
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
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 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 NIM_MODIFY = &H1
Public Const LB_ITEMFROMPOINT = &H1A9
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_RBUTTONUP = &H205
Public IC As NOTIFYICONDATA
 
 
'in Form
 
Private Sub Form_Resize()
 If Me.WindowState = vbMinimized Then
  Call SysTray
  Me.Hide
 End If
End Sub
 
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
 Dim Msg As Long
 Msg = X / Screen.TwipsPerPixelX
 Select Case Msg
    Case WM_LBUTTONDOWN
       Me.WindowState = vbNormal
       Me.Show
    Case WM_RBUTTONUP
      'PopupMenu mnuFile
 End Select
End Sub
 
Private Sub SysTray()
    With IC
        .cbSize = Len(IC)
        .hwnd = Picture1.hwnd
        .uID = 1&
        .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
        .uCallbackMessage = &H200
        .hIcon = Picture1.Picture
        .szTip = "This is a test   " + vbNullChar
    End With
     Shell_NotifyIcon NIM_ADD, IC
End Sub
ali_habibi1384
شنبه 19 آبان 1386, 23:17 عصر
جوابت رو توی این تاپیک قبلا داده بودم:
http://barnamenevis.org/forum/showthread.php?t=83751&page=3
این یک مقداری از نیازت رو برطرف میکنه جزئیاتش با خودت.
Black_Strom
پنج شنبه 07 مهر 1390, 14:27 عصر
سلام 
مشکل systray :
اینه که نمیشه tooltipe اون را آپدیت کرد مگر اینکه  یکبار کامل اون را از tray خارج کنی و tooltip  را تغییر بدی و سپس مجددا  در systray قرار بدی که این خیلی مسخرست .
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.