Bulle sortant d'icone

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Bulle sortant d'icone

Message par Parole De JOJO »

comment faire pour faire une bulle d'une icone se trouvant dans le system tray, et y afficher du texte?
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Bulle sortant d'icone

Message par case »

cherche du coté des tooltypes peut être
ImageImage
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

bon apres des recherches j'ai peche ca
http://www.purebasic.fr/french/viewtopi ... ht=systray
mais ca ne marche pas
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

case a écrit :cherche du coté des tooltypes peut être
c'est quoi?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Re: Bulle sortant d'icone

Message par Progi1984 »

La bonne orthographe étant tooltip.

La recherche google images te donne ceci : http://www.google.fr/images?client=fire ... =&gs_rfai=
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

ok mais quelle est la fonction qui le lance?
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Bulle sortant d'icone

Message par venom »

tu lance purebasic et tu fait F1 c'est le béaba dans la programmation :wink:






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

venom a écrit :tu lance purebasic et tu fait F1 c'est le béaba dans la programmation :wink:






@++

lol
la doc je la connais par coeur, mais toi tu n'as pas lu ma question
je ne parle pas des trucs qui s'affichent quand on passe la souris dessus, mais d'afficher une bulle qui sort de l'icone, toute seul, (comme quand la batterie va se finir et une notification s'affiche)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Bulle sortant d'icone

Message par Backup »

........................
Dernière modification par Backup le dim. 20/mars/2011 13:22, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Bulle sortant d'icone

Message par Backup »

....................
Dernière modification par Backup le dim. 20/mars/2011 13:23, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Bulle sortant d'icone

Message par Ar-S »

Dobro a raison, le plus simple est de faire apparaitre une fenêtre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Bulle sortant d'icone

Message par Le Soldat Inconnu »

voici un code pour mettre une fenêtre à coté de la zone de notification (qui n'est pas forcément en bas à gauche )

Code : Tout sélectionner

Procedure GetTaskBarPosition(*TaskBarRect.RECT = 0)
  Protected TaskBarArea.RECT, TaskBar_Hwnd.l, Find_Hwnd.l, Find_Class.s, ScreenH.l, TaskBarPosition.l
  
  #TaskBar_Down = 0
  #TaskBar_Up = 1
  #TaskBar_Left = 2
  #TaskBar_Right = 3
  
  TaskBarPosition = -1
  
  ; On recherche la barre des taches
  TaskBar_Hwnd = 0
  Find_Hwnd.l = FindWindow_(0, 0)
  While Find_Hwnd <> 0 And TaskBar_Hwnd = 0
    Find_Class.s = Space(255)
    GetClassName_(Find_Hwnd, @Find_Class, 256)
    If Find_Class = "Shell_TrayWnd"
      TaskBar_Hwnd = Find_Hwnd
    EndIf
    Find_Hwnd = GetWindow_(Find_Hwnd, #GW_HWNDNEXT)
  Wend
  
  If TaskBar_Hwnd
    
    ; Taille de la barre des taches
    GetWindowRect_(TaskBar_Hwnd, @TaskBarArea)
    
    ; Taille de l'écran
    If ExamineDesktops()
      ScreenH = DesktopHeight(0)
      
      If 0 >= TaskBarArea\left And 0 <= TaskBarArea\right ; Si la barre touche la gauche de l'écran
        If 0 >= TaskBarArea\top And 0 <= TaskBarArea\bottom And ScreenH >= TaskBarArea\top And ScreenH <= TaskBarArea\bottom ; Barre verticale à gauche, on touche le bord haut et bas de l'écran
          TaskBarPosition = #TaskBar_Left
        ElseIf 0 >= TaskBarArea\top And 0 <= TaskBarArea\bottom ; On touche le bord haut de l'écran
          TaskBarPosition = #TaskBar_Up
        Else ; Sinon, on touche uniquement le bord bas
          TaskBarPosition = #TaskBar_Down
        EndIf
        
      Else ; Barre verticale à droite
        TaskBarPosition = #TaskBar_Right
      EndIf
      
    EndIf
    
    If *TaskBarRect <>0
      CopyMemory(@TaskBarArea, *TaskBarRect, SizeOf(RECT))
    EndIf
  EndIf
  
  ProcedureReturn TaskBarPosition
EndProcedure

Procedure NotificationWindow(Window, Space = 0)
  Protected TaskBarArea.RECT, TaskBarPosition.l, ScreenH.l, ScreenW.l
  
	StickyWindow(Window, 1)
	SetWindowLong_(WindowID(Window), #GWL_EXSTYLE, GetWindowLong_(WindowID(Window), #GWL_EXSTYLE) | #WS_EX_TOOLWINDOW)
	
  TaskBarPosition = GetTaskBarPosition(@TaskBarArea)
  
  ; Juste pour voir le retour de la fonction
  CompilerIf #PB_Compiler_Debugger
    Select TaskBarPosition
      Case #TaskBar_Down
        Debug "Barre des taches en bas"
      Case #TaskBar_Up
        Debug "Barre des taches en haut"
      Case #TaskBar_Left
        Debug "Barre des taches à gauche"
      Case #TaskBar_Right
        Debug "Barre des taches à droite"
      Default
        Debug "Erreur"
    EndSelect
    Debug "Position de la barre des taches"
    Debug TaskBarArea\left
    Debug TaskBarArea\right
    Debug TaskBarArea\top
    Debug TaskBarArea\bottom
    Debug ""
  CompilerEndIf
  
  ; Taille de l'écran
  If ExamineDesktops()
    ScreenH = DesktopHeight(0)
    ScreenW = DesktopWidth(0) 
  EndIf
  
  ; On déplace la fenêtre pour la mettre proche de la zone de notification
  Select TaskBarPosition
    Case #TaskBar_Down
      ResizeWindow(Window, ScreenW - Space - WindowWidth(Window), TaskBarArea\top - Space - WindowHeight(Window), #PB_Ignore, #PB_Ignore)
    Case #TaskBar_Up
      ResizeWindow(Window, ScreenW - Space - WindowWidth(Window), TaskBarArea\bottom + Space, #PB_Ignore, #PB_Ignore)
    Case #TaskBar_Left
      ResizeWindow(Window, TaskBarArea\right + Space, ScreenH - Space - WindowHeight(Window), #PB_Ignore, #PB_Ignore)
    Case #TaskBar_Right
      ResizeWindow(Window, TaskBarArea\left - Space - WindowWidth(Window), ScreenH - Space - WindowHeight(Window), #PB_Ignore, #PB_Ignore)
  EndSelect
  
	HideWindow(Window, 0)
	
EndProcedure

; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 150, 150, "Test", #PB_Window_BorderLess | #PB_Window_Invisible) = 0
  End
EndIf

NotificationWindow(0, 10)

; une petite image sur la fenêtre pour faire jolie
CreateImage(0, WindowWidth(0), WindowHeight(0))
StartDrawing(ImageOutput(0))
  Box(1, 1, WindowWidth(0) - 2, WindowHeight(0) - 2, $FFFFFF)
StopDrawing()
ImageGadget(0, 0, 0, WindowWidth(0), WindowHeight(0), ImageID(0))

Repeat
  Event = WaitWindowEvent()
  
  Select Event
    Case #PB_Event_Menu
      Select EventMenu() ; Menus
          
      EndSelect
      
    Case #PB_Event_Gadget
      Select EventGadget() ; Gadgets
        Case 0
          Select EventType()
            Case #PB_EventType_LeftClick
              Event = #PB_Event_CloseWindow ; On ferme
          EndSelect
      EndSelect
  EndSelect
  
Until Event = #PB_Event_CloseWindow

End

Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

merci bcp
je comprends qu'il n'est pas possible de faire sortire une bulle
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Bulle sortant d'icone

Message par Ar-S »

tu veux dire visuellement une fenêtre avec une forme de bulle ?
La WindowSkin lib de LSI permet de créer des fenêtre a base d'image (toute forme incluse)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Parole De JOJO
Messages : 446
Inscription : mar. 25/mai/2010 17:24
Localisation : Bnei Brak, Israel

Re: Bulle sortant d'icone

Message par Parole De JOJO »

non mais les progs qui font sortir des bulles utilisent bien une api non?
Répondre