Icône minimize to tray

Soyez le premier à donner votre avis sur cette source.

Vue 16 219 fois - Téléchargée 1 250 fois

Description

Le composant que je vous propose permet d'ajouter un bouton à gauche du bouton réduire de la barre de menu d'une application. Celui-ci a normallement pour but de permettre la mise en tray de votre application.

Vous pouvez consulter une infime partie du code ici :
http://www.csharpfr.com/code.aspx?ID=34875
Cette partie permet à un composant non graphique de récupérer la form sur laquelle il a été posé.

Ce code est à la base tiré d'un exemple fait en Visual Basic bien buggé et dont j'ai eu la si passionnante tâche de convertir le code en C#.

Le bouton en lui-même réagit de la même façon que les autres de la barre de menu, à savoir qu'il change de look si la souris est dessus, s'il est enfoncé, ...

Dernière précision. En ajoutant du texte à la propriété SystemMenuItemText, vous pouvez ajouter un item au menu contextuel associé à la barre de titre de votre application.

Conclusion :


Merci d'être indulgent pour ce qui concerne le bouton en lui même : Je sais bien qu'il s'agit du bouton réduire, et qu'un vrai bouton minimize to tray est un peu différent, mais l'avantage de mon bouton est qu'il récupère les styles windows XP.

A ce propos, je souhaiterais demander de l'aide pour terminer ce code. Voici les améliorations qu'il faudrait apporter :
- Dessiner un vrai bouton Minimize to tray avec le thème windows en cours,
- Prendre en charge le thème classique de windows. Actuellement, le programme prend en charge un thème windows XP normal, qu'elle que soit la taille des boutons définie (dans le panneau de config), mais ne prend pas en charge le thème classique (style windows 2000).

piouf... il était pas facile facile à pondre celui-là !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_yoannd
Messages postés
313
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
2 -
This was created in 2005... way before Vista came out... I don't think this is possible to do such a thing with vista (with all the aero shadow/glow effects and stuff)...
Maybe the way to do it with vista is to recreate the entire window frame, but it means to manage the window resizements, recreate the close minimize, and maximize buttons... I've done it once, but it's quite tricky !
yassirguitare
Messages postés
29
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
3 juin 2009
-
Great Code... but don't worke under Vista we can't see the tray Icon
cs_yoannd
Messages postés
313
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
2 -
Ben si ton problème est réglé, c'est le principal :)
Après, la source vers laquelle tu renvoie semble pas mal, mais elle ne prend pas en charge les styles windows XP... C'était en fait le but de ma source.
@+ :)
cs_JoBleu
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015
-
Bon, en fait, puisque ce qui m'intéressait était de réduire l'application dans la zone de notifications, j'aurais très bien pu le faire avec un bouton ordinaire.

Alors je suis allé voir là :
http://www.codeproject.com/KB/cs/mintraybtn.aspx

Il y a bien un bouton sur la barre de titre, ça OK pas gênant, mais surtout, quand on clique dessus, ça réduit le formulaire en icône, et quand on double-clique sur l'icône ça restaure le formulaire.

ça y est c'est intégré, merci.
cs_yoannd
Messages postés
313
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
2 -
Bah, la flemme de modifier une source aussi vieille, mais j'pense que tu peux le faire assez facilement quand même. Tu utilises un NotifyIcon et tu masques la fenêtre quand le bouton est cliqué, et le tour est joué.
Le point important de la source, c'était "comment afficher le bouton dans la barre de titre"... le reste, finalement, c'est assez facile pour que l'on puisse le faire soi-même.

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.