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)

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

Administrateur CodeS-SourceS
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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.