|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Comment mettre un prog a cote de l'horloge? [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (rrichie)
Informations & options pour cette discussion
jeudi 31 janvier 2002 à 00:04:08 |
Comment mettre un prog a cote de l'horloge?

rrichie
|
J'aimerais savoir comment mettre un programme qu'on a créé en vb dans la barre en bas a droite de windows, celle qui contient l'horloge ainsi que les programmes genre getright, msn, l'icone internet, etc... Merci pour votre aide
|
|
|
jeudi 31 janvier 2002 à 09:25:23 |
Re : Comment mettre un prog a cote de l'horloge?

shervy
|
Tapes "systray" dans le moteur de recherche du site et tu auras la réponse... c'est ce que j'ai déjà fait !!!
------------------------------- Réponse au message : -------------------------------
J'aimerais savoir comment mettre un programme qu'on a créé en vb dans la barre en bas a droite de windows, celle qui contient l'horloge ainsi que les programmes genre getright, msn, l'icone internet, etc... Merci pour votre aide
|
|
|
jeudi 31 janvier 2002 à 09:39:31 |
Re : Comment mettre un prog a cote de l'horloge?

Mathusalem
|
tu ouvre une nouvelle feuille systray.frm et avec dessus une icone et un menu, puis tu mets ça dedans : Option Explicit
Private Type IconeTray cbSize As Long 'Taille de l'icône (en octets) hWnd As Long 'Handle de la fenêtre chargée de recevoir les messages envoyés lors des évènements sur l'icône (clics, doubles-clics...) uID As Long 'Identificateur de l'icône uFlags As Long uCallbackMessage As Long 'Messages à renvoyer hIcon As Long 'Handle de l'icône szTip As String * 64 'Texte à mettre dans la bulle d'aide End Type Dim IconeT As IconeTray
'Constantes nécessaires Private Const AJOUT = &H0 Private Const MODIF = &H1 Private Const SUPPRIME = &H2 Private Const MOUSEMOVE = &H200 Private Const MESSAGE = &H1 Private Const Icone = &H2 Private Const TIP = &H4
Private Const DOUBLE_CLICK_GAUCHE = &H203 Private Const BOUTON_GAUCHE_POUSSE = &H201 Private Const BOUTON_GAUCHE_LEVE = &H202 Private Const DOUBLE_CLICK_DROIT = &H206 Private Const BOUTON_DROIT_POUSSE = &H204 Private Const BOUTON_DROIT_LEVE = &H205
'API nécessaire Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As IconeTray) As Boolean
Private Sub Form_Load()
' DESCRIPTION : ' Cet exemple vous montre comment placer des icônes ' dans le système tray (la partie à droite de la barre des ' tâches où se trouve, entre autres, l'horloge), comment ' y mettre un menu, et comment traiter les évènements que ' l'utilisateur crée (ex : double clic, clic du bouton ' droit...). Il vous est aussi possible de créer une bulle ' d'aide lorsque la souris reste sur l'icône.
'Préparation de la variable IconeT IconeT.cbSize = Len(IconeT) 'Taille de l'icône en octet IconeT.hWnd = Me.hWnd 'Handle de l'application (pour qu'elle reçoive les messages envoyés lors d'un clic, double-clic... IconeT.uID = 1& 'Identificateur de l'icône IconeT.uFlags = Icone Or TIP Or MESSAGE IconeT.uCallbackMessage = MOUSEMOVE 'Renvoyer les messages concernant l'action de la souris IconeT.hIcon = Image1.Picture 'Mettre en icône l'image qui est dans le contrôle "Image1" IconeT.szTip = "Modello 2002 v11" & Chr$(0) 'Texte de la bulle d'aide
'Appel de la fonction pour mettre l'icône dans le système tray Shell_NotifyIcon AJOUT, IconeT
Me.Hide 'Cache la fenêtre App.TaskVisible = False 'Retire le bouton de l'application de la barre 'des tâches
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static rec As Boolean, msg As Long
'Se produit lorsque l'utilisateur agit avec la souris sur 'l'icône placée dans le système tray
msg = X / Screen.TwipsPerPixelX If rec = False Then rec = True Select Case msg 'Différentes possibilité d'action Case DOUBLE_CLICK_GAUCHE: 'mettez menuAproposDe_Click 'ici Case BOUTON_GAUCHE_POUSSE: 'ce Case BOUTON_GAUCHE_LEVE: 'que Case DOUBLE_CLICK_DROIT: 'vous Case BOUTON_DROIT_POUSSE: 'voudrez Case BOUTON_DROIT_LEVE: 'qu'il se passe PopupMenu menu, , , , menuAproposDe 'fait apparaitre le menu '"A propos de" apparaitra en gras End Select rec = False End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'Refait appel à l'API pour retirer l'icône du système tray 'lorsque le programme se ferme, en utilisant cette fois la constante SUPPRIME 'au lieu de AJOUT
IconeT.cbSize = Len(IconeT) IconeT.hWnd = Me.hWnd IconeT.uID = 1& Shell_NotifyIcon SUPPRIME, IconeT
End Sub
Private Sub Menu_Click()
'C'est ce menu et son contenu qui apparait lorsqu'on clique 'sur l'icône
End Sub
Private Sub menuAproposDe_Click()
frmAbout.Show End Sub
Private Sub Quitter_Click() If msg1.MsgBoxEx("Voulez vous vraiment quitter Modello 11 ?", vbQuestion + vbYesNo, "Modello 11 © Copyright CM2I SARL. - 2000, 2001 - All Rights Reserved") = vbYes Then Unload SystemTray Unload frmMain End End If
End Sub
------------------------------- Réponse au message : -------------------------------
Tapes "systray" dans le moteur de recherche du site et tu auras la réponse... c'est ce que j'ai déjà fait !!!
------------------------------- Réponse au message : -------------------------------
J'aimerais savoir comment mettre un programme qu'on a créé en vb dans la barre en bas a droite de windows, celle qui contient l'horloge ainsi que les programmes genre getright, msn, l'icone internet, etc... Merci pour votre aide
|
|
|
jeudi 31 janvier 2002 à 09:53:47 |
Re : Comment mettre un prog a cote de l'horloge?

Renfield
|
Salut API:
A mettre dans un module :
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 = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 Public Const NIF_MESSAGE = 1 Public Const NIF_ICON = 2 Public Const NIF_TIP = 4 ' Public Const GWL_WNDPROC = -4 ' Public Const WM_LBUTTONDOWN = &H201 Public Const WM_RBUTTONDOWN = &H204 Public Const WM_LBUTTONDBLCLK = &H203 Public Const TPM_RIGHTALIGN = &H8& ' Public lpPrevWndProc As Long Public ghWnd As Long ' Declare Function Shell_NotifyIconA Lib _ "shell32" (ByVal dwMessage As Long, _ lpData As NOTIFYICONDATA) As Integer ' '*** Fonctions Windows *** ' Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long Declare Function SetMenuDefaultItem Lib "user32" (ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPos As Long) As Long Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, lprc As Any) As Long
'*************************
Public Sub IconToTray(frx As Form, msgTip$, Flag As Boolean) Dim nd As NOTIFYICONDATA Dim dMSG As Long Dim RetVal As Integer ' With nd .szTip = msgTip$ & Chr$(0) .cbSize = Len(nd) .hwnd = frx.hwnd .uID = 1 .uCallbackMessage = WM_LBUTTONDOWN .hIcon = frx.Icon .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP End With ' If Flag Then dMSG = NIM_ADD Else dMSG = NIM_DELETE RetVal = Shell_NotifyIconA(dMSG, nd)
End Sub Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If hw = Form1.hwnd Then If lParam = WM_LBUTTONDBLCLK Then Form1.Show vbModeless ElseIf lParam = WM_RBUTTONDOWN Then MontrerMenu Else WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam) End If Else WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam) End If
End Function
Public Sub HookWindow() lpPrevWndProc = SetWindowLong(ghWnd, GWL_WNDPROC, AddressOf WindowProc) End Sub
Public Sub Unhookwindow() Dim RetVal As Long ' RetVal = SetWindowLong(ghWnd, GWL_WNDPROC, lpPrevWndProc)
End Sub
Public Sub MontrerMenu() Dim hMenu As Long Dim hSousMenu As Long Dim RetVal As Long
' hMenu = GetMenu(frmMenu.hwnd) hSousMenu = GetSubMenu(hMenu, 0) ' SetMenuDefaultItem hSousMenu, 0, True With Screen w& = (.Width \ .TwipsPerPixelX) * 0.8 h& = (.Height \ .TwipsPerPixelY) End With RetVal = TrackPopupMenu(hSousMenu, TPM_RIGHTALIGN, w&, h&, 0&, frmMenu.hwnd, ByVal 0&) End Sub
A mettre dans votre form :
Option Explicit
Private Sub Command1_Click() Unload Me End Sub
Private Sub Form_Load() ghWnd = Me.hwnd HookWindow IconToTray Me, "CECI est un Test", True Me.Hide End Sub
Private Sub Form_Unload(Cancel As Integer) IconToTray Me, "", False Unhookwindow End Sub '(Code de Zarbiboss) afin de te repondre dans les plus brefs delais , j'ai repris un code de VBFrance ;-) )
Bye! Renfield.
|
|
|
Cette discussion est classé dans : prog, horloge, cote
Répondre à ce message
Sujets en rapport avec ce message
comment mettre mon appli a cote de l'horloge dans la barre des taches [ par methodman ]
salut, c'est juste pour savoir comment on fait pour mettre une appli dans la barre des taches de windows a coté de l'horloge?merci
réduire mon prog dans la barre des tâches(à coté de l'horloge) [ par adrien_sicard ]
comme l'indique le sujet, j'aimerai pouvoir réduire mon prog dans la barre des taches car il doit tourner en tâche de fond (avec une petite icone à co
Ouverture fichier [ par MoiOlivier ]
Bonjour à tous, Voilà mon problème : j'ai associé une extension de fichier à un de mes prog, tout se passe très bien, lorsque je double-clique sur un
Lancer un prog encours et le remettre au 1er plan [ par chris9124 ]
Bonjour,J'ai crée un programme en VB.net pour passer mon HTPC en veille prolongée à une donnée définié par l'utilisateur.Mon programme tourne en arriè
Pb de reduction du prog dans le bureau [ par Nizam65 ]
J' ai créé mon executable, une fois lancé, lorsque je veux le reduire dans la barre des taches un message d'erreur s'affiche: "erreur d'execution '380
mettre un prog en premier plan de bureau [ par ramsikechamps ]
slt, je fait un prog et je voudrait savoir comment on fait pour qu'il soit constament en premier plan, mème k'en on ouvre un logiciel.vous avez une id
Erreur dasn un prog [ par Seth77 ]
Slu comment vous faites pour debugger un prog quand vous n arriver pas a reproduire le bug sur votre poste ?Herve
pb avec msflexgrid [ par arbomont ]
Bonjour,J'ai dans mon programme un controle msflexgris, dans la grille les cellules qui sont cote à cote et qui contiennent une valeur identique se fu
Probleme taille icone dans listview [ par Youpien ]
Salut a tous, j'ai un petit probleme, j'ai fais un programme avec une listview en mode lvwreport, mais les icones en debut de ligne sont tous petit on
Aide pour mon prog !! [ par Clad49 ]
Bonjour je repost un msg d'aide que j'ai déja fait ! Je suis en train de créer une application pour le réseau Direct Connect ! Celle-ci consiste à se
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|