اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد vb.net

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راهنمایی در مورد vb.net

    با سلام خدمت اساتید عزیز
    من میخوام برنامه ای توی vb.net 2005 بنویسم که وقتی فرم اصلی برنامه رو مینیمایز میکنم آیکن اون تو taskbar نشون داده نشه
    و مثل بعضی برنامه ها مثل ویروس کشها سمت راست و پایین نشون داده بشه و وقتی این آیکن رو روش موس رو میبریم یه پیام نشون بده و
    وقتی راست کلیکش کنیم منو با گزینه های دلخواه بالا بیاد



    خواشه میکنم راهنماییم کنین

    ممنون :bye

    #2
    پاسخ : راهنمایی در مورد vb.net

    سلام
    که وقتی فرم اصلی برنامه رو مینیمایز میکنم آیکن اون تو taskbar نشون داده نشه
    برای این کار میتونی توی رویداد کوچک شدن فرمت بنویسی که show on taskbar غیر فعال بشه .
    در مورد این هم :
    مثل بعضی برنامه ها مثل ویروس کشها سمت راست و پایین نشون داده بشه و وقتی این آیکن رو روش موس رو میبریم یه پیام نشون بده و
    وقتی راست کلیکش کنیم منو با گزینه های دلخواه بالا بیاد
    باید از API ویندوز استفاده کنی .
    از این یکی (Sell_NotifyIcon) مبدا فراخوانیش هم :Shell32.dll هست.
    یه مثال ازش :
    کد:
    Private Const NIM_ADD = &H0
    Private Const NIM_MODIFY = &H1
    Private Const NIM_DELETE = &H2
    
    Private Const NIF_MESSAGE = &H1
    Private Const NIF_ICON = &H2
    Private Const NIF_TIP = &H4
    
    Private Const WM_LBUTTONDBLCLK = &H203
    Private Const WM_LBUTTONDOWN = &H201
    Private Const WM_LBUTTONUP = &H202
    Private Const WM_MBUTTONDBLCLK = &H209
    Private Const WM_MBUTTONDOWN = &H207
    Private Const WM_MBUTTONUP = &H208
    Private Const WM_RBUTTONDBLCLK = &H206
    Private Const WM_RBUTTONDOWN = &H204
    Private Const WM_RBUTTONUP = &H205
    Private Const WM_MOUSEMOVE = &H200
    Private Const WM_MOUSEWHEEL = &H20A
    
    Private Type NOTIFYICONDATA
     cbSize As Long
     hWnd As Long
     uId As Long
     uFlags As Long
     ucallbackMessage As Long
     hIcon As Long
     szTip As String * 64  'in windows 2000 >>> szTip As String * 128
    End Type
    
    Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
    
    Dim TrayIcon As NOTIFYICONDATA
    
    
    Private Sub Form_Load()
     
     Timer1.Interval = 100
     picIcon(0).Visible = False
     picIcon(1).Visible = False
     picIcon(2).Visible = False
     Picture1.Visible = False
     mnuPopUp.Visible = False
      
     TrayIcon.cbSize = Len(TrayIcon)
     TrayIcon.hWnd = Picture1.hWnd
     TrayIcon.uId = 1&
     TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
     TrayIcon.ucallbackMessage = WM_LBUTTONDOWN
     TrayIcon.hIcon = picIcon(2).Picture
     TrayIcon.szTip = "Seyyed Mahdi Mohri" & Chr$(0)
      
     Shell_NotifyIcon NIM_ADD, TrayIcon
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
     TrayIcon.cbSize = Len(TrayIcon)
     TrayIcon.hWnd = Picture1.hWnd
     TrayIcon.uId = 1&
     Shell_NotifyIcon NIM_DELETE, TrayIcon
     End
    End Sub
    
    Private Sub mnuPop_Click(Index As Integer)
     Select Case Index
       Case 0   'About
         MsgBox "Seyyed Mahdi" + vbCrLf + "Mohri"
       Case 2   'End
         Unload Me
     End Select
    End Sub
    
    Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Msg = X / Screen.TwipsPerPixelX
     If Msg = WM_LBUTTONDBLCLK Then
      mnuPop_Click 0   'double click
     ElseIf Msg = WM_RBUTTONUP Then
      Me.PopupMenu mnuPopUp  'Right button click
      End If
    End Sub
    
    Private Sub Timer1_Timer()
     Static numPic As Integer
     Me.Icon = picIcon(numPic).Picture
     TrayIcon.hIcon = picIcon(numPic).Picture
     numPic = numPic + 1
     If numPic = 3 Then numPic = 0
     Shell_NotifyIcon NIM_MODIFY, TrayIcon
    End Sub

    دیدگاه


      #3
      پاسخ : راهنمایی در مورد vb.net

      شرمنده یادم رفت بگم این مثال با VB6 هست .
      البته با VB.net زیاد تفاوتی نداره
      موفق باشی

      دیدگاه


        #4
        پاسخ : راهنمایی در مورد vb.net

        سلام
        برای از بین بردن ایکون taskbar مشخصه visible فرم ر در یه رویداد به جز Form1_Load برابر صفر قرار بده (Me.visible = 0) . با این کار پنجره هم hiden میشه. اما میتونی آیکون کنار ساعت رو داشته باشی به این صورت:
        از tools یه کامپوننت notify icon به برنامه اضافه کن. در پنجره properties یه icon و یه text برای baloon tip text انتخاب کن گزینه visible رو هم true کن.
        بعد میتونی در رویداداهای double click و ... براش برنامه بنویسی.

        دیدگاه

        لطفا صبر کنید...
        X