Jump to content



Welcome to KnowledgeSutra - Dear Guest , Please Register here to get Your own website. - Ask a Question / Express Opinion / Reply w/o Sign-Up!
* * * * - 1 votes

[tutorial] Visual Basic 6 Minimize To Tray


13 replies to this topic

#1 zachtk8702

    Member [Level 2]

  • Kontributors
  • PipPipPipPipPip
  • 81 posts

Posted 10 February 2005 - 04:53 PM

This example will "minimize" your program to the system tray when you click on a button, and restore it when you click the system tray icon.

For this example you'll need:
1 Form - Form1
1 button - Command1

Add a Module to your project, and ad this code:

' Create an Icon in System Tray Needs
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 NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_LBUTTONDBLCLK = &H203 'Double-click
Public Const WM_LBUTTONDOWN = &H201 'Button down
Public Const WM_LBUTTONUP = &H202 'Button up
Public Const WM_RBUTTONDBLCLK = &H206 'Double-click
Public Const WM_RBUTTONDOWN = &H204 'Button down
Public Const WM_RBUTTONUP = &H205 'Button up

Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Now at Form1 add this:
Code:
Dim nid As NOTIFYICONDATA ' trayicon variable

'----------------------
'--- command1 click ---
'----------------------
Private Sub Command1_Click()
minimize_to_tray
End Sub

'------------------------
'--- create tray icon ---
'------------------------
Sub minimize_to_tray()
Me.Hide
nid.cbSize = Len(nid)
nid.hwnd = Me.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = Me.Icon ' the icon will be your Form1 project icon
nid.szTip = "blablabla text u want to show when mouse over tray iicon" & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub

'---------------------------------------------------
'-- Tray icon actions when mouse click on it, etc --
'---------------------------------------------------
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim msg As Long
Dim sFilter As String
msg = x / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
Me.Show ' show form
Shell_NotifyIcon NIM_DELETE, nid ' del tray icon
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Me.Show
Shell_NotifyIcon NIM_DELETE, nid
Case WM_RBUTTONDBLCLK
End Select
End Sub

'------------------------------
'--- form Actions On unload ---
'------------------------------
Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid ' del tray icon
end Sub


Instead of restore it when you click the tray icon, you can make it show a popup with some actions: maximize/close//about//etc!

#2 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 11 December 2007 - 04:26 AM

AWESOME MAN, thank you for the help. FAR simpler then any other examples.

-Adam

#3 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 25 December 2007 - 05:14 PM

Error%20%5C%22Invalid%20use%20of%20property%5C%22
[tutorial] Visual Basic 6 Minimize To Tray

Hello,
When I try this solution, I have error "Invalid use of property" on instruction minimize_to_tray.

Do you have a solution ?
Thanks & regards.

-Marcel

#4 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 08 April 2008 - 06:49 PM

Great! Thank you for wonderful code.

-reply by Zoran Milobratović

#5 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 04 July 2008 - 07:04 AM

Great Work
[tutorial] Visual Basic 6 Minimize To Tray

This was exactly what I was looking for. Works great

-reply by fourtwunty

#6 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 29 August 2008 - 08:14 PM

some problems
[tutorial] Visual Basic 6 Minimize To Tray

Hello.. If this script is nice.. But if I make a new project with simple button and a form for the testing of that code.. It works great, but if I integrate it to my project.. It doesn't work.. Any one would try to help me... Thx..



-reply by pols_1226

#7 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 29 August 2008 - 08:17 PM

problem
[tutorial] Visual Basic 6 Minimize To Tray

Replying to iGuest



Hello.. If this script is nice.. But if I make a new project with simple button and a form for the testing of that code.. It works great, but if I integrate it to my project.. It doesn't work.. Any one would try to help me... Thx..



-reply by pols_1226

#8 iGuest

    Hail Caesar!

  • Kontributors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5,876 posts
  • Interests:Trap17 Free Web Hosting, No Ads

Posted 11 September 2008 - 04:43 AM

Hi, I have a question~

I created a flash file and I connected in vb through shockwave flash.
What I did was, I put in a maximized state so that once I run it, it appears in a maximized state but when I click the restore down button, It only showed the half part of the form and there's no scrollbar to drag for me to be able to see the other contents of the from~What shall I do?Pleas, I need your help.~thanks in advance~

God Bless~

-reply by Harez

#9 Evolix

    Advanced Member

  • Kontributors
  • PipPipPipPipPipPipPip
  • 135 posts

Posted 18 October 2008 - 01:07 PM

What about the icon in the tray, can you change it or what?

#10 jason8100

    Newbie

  • Kontributors
  • Pip
  • 1 posts
  • Gender:Male
  • Location:The Netherlands,Eibergen

Posted 21 May 2009 - 06:12 PM

View PostEvolix, on Oct 18 2008, 03:07 PM, said:

<br />What about the icon in the tray, can you change it or what?<br />
the icon in the tray is the same as the icon on your form in the left corner, so if you change the icon of the form by selecting your form and select icon and choose one.
i hope i helped you and sorry for my bad english i am dutch and 13 years old




Reply to this topic


This post will need approval from a moderator before this post is shown.

  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users