Bouton réduire dans systray dans la barre de titre au look xp (compatible tout windows)

Description

Cela faisait un bon moment que je cherchais à faire ceci, et j'ai enfin réussi, ouf !

Il s'agit d'une source qui est un mix de plusieurs sources de ce site et de vbAccelerator.com. Je n'ai par contre plus le nom des auteurs, mais je suis sûr qu'il se reonnaîtrons.

Au menu : Ajout d'un bouton dans la barre de titre de Windows, interception de ces événements pour réduire dans le systray lors d'un clic, et le fin du fin : un look complètement XP qui gère le changement des thèmes ! Normalement, cette source est compatible avec les autres versions de Windows (pas uniquement XP), mais cela reste à tester !

Bref, il s'agit d'un "vrai" bouton de barre de titre, et non un simple bouton carré à la Windows 95 tout moche rajoutté dans la barre de titre

Le code est assez simple, par contre, la classe de tracé des graphismes de Windows XP n'est pas de moi.

Le mouseOver est bien entendu géré, ainsi que le MouseDown !
Par contre, si la fenêtre n'est pas active, l'image du bouton n'est pas modifiée, ce qui est assez moche au final. Je pense modifier cà par la suite.

Source / Exemple :


Private oSystray As New SysTray

Private Sub Form_Load()

    Call dksSystrayButton1.InitializeTitleBar

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    'on interception des événements sur l'icône du systray
    Select Case X
        Case &H202 To &H203
        Me.Show
        Call oSystray.DeleteIcon
        Let dksSystrayButton1.Visible = True
    End Select

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    Call dksSystrayButton1.TerminateTitleBar

End Sub

Private Sub uTransparentPicture1_Click()

    'on créer une icône dans le systray
    Call oSystray.CreateIcon(Me, Me.Caption)
    Me.Hide
    Let dksSystrayButton1.Visible = False

End Sub

Conclusion :


Si vous avez des idées pour inclures d'autres images de Windows, dites le moi, et j'essaierais de les mettre dans cette source. Maintenant que je sais comment récupèrer les principaux graphismes de WinXP et de tout les thèmes, je ne vais sûrement pas m'arrêter en si bon chemin ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.