IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.Net] Comment mettre un texte dans un NotifyIcon ?


Sujet :

Windows Forms

  1. #1
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut [VB.Net] Comment mettre un texte dans un NotifyIcon ?
    Slt, c'est possible de mettre un texte dans la notifyicon et non en tooltip ?

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Aspic
    Slt, c'est possible de mettre un texte dans la notifyicon et non en tooltip ?
    Merci
    Ben disons qu'un NotifyIcon ets vraiment trop petit por accueillir un texte, voilà pourquoi sa propriété Text est détourné vers un tooltip Maintenant si c'est juste pour y faire apparaître un sigle alors il suffit d'en faire une image de ce texte
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    oui c'est une bonne idée c'est e que je voulais faire mais le probleme c'est que c'est censé changer...

    Mon texte se limite seulement à 2 Chiffres donc c'est assez petit pour etre mis dedans. Par contre il n'est pas fixe. Je voudrais faire comme certain logiciel de RAM qui t'indique la quantité de RAM dispo dans la NotifyIcon...

    C'est pas possible ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben l'idée reste bonne, car il ne s'agit pas vraiment d'écrire mais de dessiner, tu peux donc certainement intervenir dans le paint du NotifyIcon pour dynamiquement intervenir sur son objet Graphics en dessinant la chaine de caractères ; via DrawString
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    je suis entrain d'essayer ta méthode mais je trouve pas l'objet paint du notifyIcon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim n As Graphics
    n.DrawString("45", New Font("Arial", 12), New SolidBrush(Color.Black), 60, 60)
    mais je sais pas ou le mettre ca .. ??

    EDIT : Je viens de chercher mais apparement ca existe aps le paint pour le NotifyIcon.
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Aspic
    je suis entrain d'essayer ta méthode mais je trouve pas l'objet paint du notifyIcon...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim n As Graphics
    n.DrawString("45", New Font("Arial", 12), New SolidBrush(Color.Black), 60,
     60)
    mais je sais pas ou le mettre ca .. ??

    EDIT : Je viens de chercher mais apparement ca existe aps le paint pour le NotifyIcon.
    De toute façon je doute que ton code compile tu n'as pas récupéré d'instance Graphics
    Sinon effectivement tu as raison sur le fait que je me trompe en pensant que Notify dérive de Control c'est en fait un component.
    Donc la piste que je vois est de travailler sur son Objet Graphics récupéré de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim g As Graphics= Graphics.FromHwnd(Me.notifyIcon1.Icon.Handle)
    Tu mettras ton code de modification de l'icone dans une méthode attendant en paramètre une chaîne de caractères par exemple que tu appelles lorsque tu as besoin en lui envoyant le string souhaité



    PS: pour ces paramètres en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n.DrawString("45", New Font("Arial", 12), New SolidBrush
    (Color.Black), 60, 60)
    Tu peux très bien les déclarer une fois pour toutes en variables de classes (si elle ne bouge pas) puis les et instancier dans le constructeur de ta Form après InitializeComponent
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim g As Graphics = Graphics.FromHwnd(Me.NotifyIcon1.Icon.Handle)
    g.DrawString("45", New Font("Arial", 12), New SolidBrush(Color.Black), 60, 60)
    j'ai essayer ca mais je sais pas ou le mettre. Je l'est mis dans l'event Resize de la form mais j'ai une erreur : Memoire insuffisante

    Il faut le mettre ou ce code ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par neguib
    Tu mettras ton code de modification de l'icone dans une méthode attendant en paramètre une chaîne de caractères par exemple que tu appelles lorsque tu as besoin en lui envoyant le string souhaité
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  9. #9
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    oui j'avais lu mais je comprends aps ce que tu veux dire ... dsl
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  10. #10
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Aspic
    oui j'avais lu mais je comprends aps ce que tu veux dire ... dsl
    Bon çà, ce n'est pas très compliqué à comprendre l'algo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'quelquepart ta méthode qui initialise certaines valeurs comme "45"
    Private Sub maMethode()
       'ton code qui obtient ou génère un int myvalue comme 45
       'puis   
       Me.UpdateNotiFyIcon(myvalue.ToString())
    End Sub
     
    PrivateSub UpdateNotiFyIcon1(ByVal texte AsString)
       'ici le code qui va modifier NotiFyIcon1
    EndSub
    
    Cependant, par curiosité, j'ai voulu implémenter vite fait u exemple qui fonctionne et ben c'est pas gagné, notamment pour récupérer le rectangle dans le systray (necessite API Windows) etc... Donc très franchement il serait beaucoup plus simple d'utiliser un menu contextuel ou le ToolTip
    D'ailleurs jusqu'ici je n'ai pas d'exemple managé Dotnet C'est certainement une évolution à apporter pour faciliter la t^che du developpeur

    Sinon je ne vois pas d'autres solutions que de redessiner un Icon et de le réaffecter à la propriété NotiFyIcon.Icon ce qui me paraît vraiment très lourd pour une fonctionnalité assez anecdotique en fin de compte
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  11. #11
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    De toute maniere récupérer l'objet graphique avec FromHwnd provoque une erreur citée plus haute...

    J'ai essayer ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub UpdateIcone(ByVal Value As String)
       Dim g As Graphics = Graphics.FromImage(Me.NotifyIcon1.Icon.ToBitmap)
       g.DrawString(Value, New Font("Arial", 12), New SolidBrush(Color.Black),
     60, 60)
    End Sub
    pas d'erreur mais ca marche pas. L'icone du NotifyIcone ne change pas !!

    J'ai oublier quelque chose ?

    PS: Je sais que je me prends la tête mais ca pourrait me servir pour d'autre projets !

    EDIT : Je pense que apres la modif il faut réaffecter la new icone à la NotifyIcone !? mais comment faire ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  12. #12
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Voila j'ai trouvé un truc sympa...

    Je post pour ceux que ca interesse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Public Function CreerIcone(ByVal texte As String, ByVal couleur As Color)
     As Icon
        Try
          ' creation de l'image
          Dim ImageSize As New System.Drawing.Size(200, 200) 
          Dim Image As Image = New Bitmap(ImageSize.Width,
     ImageSize.Height) ' Crée l'image
          Dim Graph As Graphics = Graphics.FromImage(Image) 
          ' remplit l'image en fonction de ce que l'on veut
          Graph.Clear(couleur)
          Graph.DrawString(texte, New Font("Arial", 120), New SolidBrush
    (Color.Black), -20, 20)
     
          ' transforme l'image en icone
          Dim lbmpTemporaire As Bitmap
          lbmpTemporaire = CType(Image, Bitmap)
     
          Return Icon.FromHandle(lbmpTemporaire.GetHicon)
       Catch a As Exception
          MsgBox(a.Message)
       End Try
    End Function
    Cette fonction permet de créer son icone dynamiquement.

    Ca marche bien mais le probleme c'est que le "string" est moche ^^ En gros on voit les pixels du chiffre et c'est difficile à lire !!

    Si quelqu'un à une idée pour améliorer ca n'hésiter pas !!

    Sinon merci à Neguib pour son aide précieuse...

    ++
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  13. #13
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Merci à toi pour la trouvaille toute bête en fait, pour ce qui est des soucis de design de la chaîne de caractère voit du côté de la surcharge de DrawString avec un StringFormat, voir aussi si tu peux tester differents Fonts
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  14. #14
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Oui j'ai jouer sur le font et puis en bidouillant j'ai trouver un truc potable !

    Par contre, au bout de 20 min j'ai une erreur à la chaine qui apparait :

    Une erreur est survenue dans le GDI+

    Je sais pas ce que c'est ni comment le résoudre...

    ++
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  15. #15
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Aspic
    Oui j'ai jouer sur le font et puis en bidouillant j'ai trouver un truc potable !

    Par contre, au bout de 20 min j'ai une erreur à la chaine qui apparait :

    Une erreur est survenue dans le GDI+

    Je sais pas ce que c'est ni comment le résoudre...

    ++
    Ah bon tu n'as pas mis ton code dans un try/catch pour capturer une eventuelle exception et l'afficher quel est le message d'erreur celà concerne-t-il la longueur de la chaine, le trop plein d'objets instanciés non disposés etc...
    utilises un ex.ToString() plutôt que ex.Message
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  16. #16
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    si si il ets en try ...

    ca plante sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Return Icon.FromHandle(lbmpTemporaire.GetHicon)
    mais je sais pas pourquoi j'ai pas plus d'information...

    L'erreur exacte est :"Une erreur générique s'est produite dans GDI+."
    at System.Drawing.Bitmap.GetHicon()
    at MemoryControl.Form1.CreerIcone(String texte, Color couleur) in D:\Programmation\Programmation\Projets\MemoryControl\Form1.vb:line 399" String
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  17. #17
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bon effectivement je viens de tester et il faut absolument détruite l'Icon en mémoir, pour cela tu utilises l'API "user32" DestroyIcon de la manière suivante par exemple:

    Ici j'ai fait un test qui affiche dans NotifyIcon1 les secondes qui défile de 0 à 59 (utilisation de Timer1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    ImportsSystem
    ImportsSystem.Drawing
    Imports System.Runtime.InteropServices
     
    
    Public Class MainForm
     
    
      Public Sub New()
        Me.InitializeComponent()
        Me.InitializeIconParameters()
     
        Me.Timer1.Start()
      EndSub
     
    
      <DllImport("user32.dll")> _
      Private Shared Function DestroyIcon(ByVal handle As IntPtr) As Boolean
      End Function
     
      ''' <summary>
      ''' Méthode privée chargée de redessiner iconBitmap
      ''' en fonction d'un texte à afficher
      ''' </summary>
      ''' <param name="texte">String : représentant le texte à afficher
      ''' </param>
      Public Sub UpdateBitmap(ByVal texte As String)
        Using g As Graphics = Graphics.FromImage(Me.iconBitmap)
          g.Clear(Me.iconBackColor)
          g.DrawString(texte, Me.iconFont, Me.iconForeBrush, _
            Me.iconRectangleF, Me.iconStringFormat)
        End Using
    End Sub
     
    
      ''' <summary>
      ''' Méthode privée d'initialisation des paramètres
      ''' par défaut de l'icône de NotifyIcon1
      ''' </summary>
      ''' <remarks>
      ''' Ceci défini fait une fois pour toute afin
      ''' d'éviter de nouvelles instanciations inutiles
      '''</remarks>
      Private Sub InitializeIconParameters()
        'initialiser la couleur de fond par défaut de l'icône de NotifyIcon1
        Me.iconBackColor = Color.White
        'initialiser le Bitmap par défaut de l'icône de NotifyIcon1
        Me.iconBitmap = New Bitmap(32, 32)
        'initialiser la police par défaut de l'icône de NotifyIcon1
        Me.iconFont = New Font("Arial", 14, FontStyle.Bold)
        'initialiser la couleur de police par défaut de l'icône de NotifyIcon1
        Me.iconForeBrush = New SolidBrush(Color.Black)
        'initialiser le rectangle par défaut d'écriture dans l'icône de NotifyIcon1
        Me.iconRectangleF = New RectangleF(1, 1, 30, 30)
        'initialiser le StringFormat par défaut du texte
        ' dans l'icône de NotifyIcon1
        Me.iconStringFormat = New StringFormat()
        Me.iconStringFormat.Alignment = StringAlignment.Center
        Me.iconStringFormat.LineAlignment = StringAlignment.Center
      End Sub
     
    
      ''' <summary>
      ''' Capture l'évènement Tick de Timer1 afin de
     ''' declencher la modifiaction de l'icône de NotifyIcon1
      ''' </summary>
      Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) Handles Timer1.Tick
        ' lancer la mise à jour de NotifyIcon1
        Me.UpdateNotiFyIcon(DateTime.Now.Second.ToString())
      End Sub
     
    
      ''' <summary>
      ''' Méthode privée chargée d'afficher un texte
    ''' dynamiquement dans l'icône de NotifyIcon1
      ''' </summary>
      ''' <param name="texte">
      ''' String : représentant le texte à afficher dynamiquement</param>
      Private Sub UpdateNotiFyIcon(ByVal texte As String)
        ' redessiner iconBitmap
        Me.UpdateBitmap(DateTime.Now.Second.ToString())
        ' récupérer un icone à patir de iconBitmap
        Dim newIcon As Icon = Icon.FromHandle(Me.iconBitmap.GetHicon)
        'assigner le nouvel icône de NotifyIcon1
        Me.NotifyIcon1.Icon = newIcon
        ' détruire en mémoire le nouvel icône
        DestroyIcon(newIcon.Handle)
      End Sub
     
    
      Private iconBitmap As Bitmap
      Private iconBackColor As Color
      Private iconFont As Font
      Private iconForeBrush As Brush
      Private iconRectangleF As RectangleF
      Private iconStringFormat As StringFormat
     
    
    End Class
    
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  18. #18
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    j'ai pas tester mais ca devrais marcher

    moi j'ai trouver une autre solution qui marche à merveille, j'utilise un tableau et je stock les 100 icones créées auparavant. Ensuite j'ai plus qu'a me servir dans mon tableau en fonction du texte...

    Voila apres du temps CQFD

    Merci encore à toi pour ton aide.
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  19. #19
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bon je crois que notre travail en collaboration mérite aumoins une petite Q/R pour la FAQ je m'en occupe et je te mets au courant en tant que coauteur

    d'aileurs c'est modifiable en enlevant le P/Invoke pour le remplacer par un simple newIcon.Dispose() (sur remarque du collègue Dev01) ce qui améliore la portabilité du code
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  20. #20
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Bon je crois que notre travail en collaboration mérite aumoins une petite Q/R pour la FAQ je m'en occupe et je te mets au courant en tant que coauteur
    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment mettre un texte dans un tableau
    Par Mounr dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2009, 15h36
  2. Réponses: 28
    Dernier message: 15/01/2009, 14h12
  3. Comment mettre du texte dans un hint
    Par jimbolelephan dans le forum C#
    Réponses: 1
    Dernier message: 28/06/2008, 00h54
  4. Réponses: 7
    Dernier message: 21/03/2006, 13h01
  5. comment mettre du texte formaté dans une frame?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 09/10/2005, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo