begin process at 2012 02 13 07:31:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > INSÉRER UNE ICÔNE DANS UN MENU 'POPUP'

INSÉRER UNE ICÔNE DANS UN MENU 'POPUP'


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Classé sous :icône, popupmenu, astuce, ajouter Niveau :Débutant Date de création :07/12/2005 Vu / téléchargé :7 678 / 1 336

Auteur : Egyde

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
L'API SetMenuItemBitmaps permet d'insérer une icône dans un menu VISIBLE d'une form. Dans le cas d'un menu popup (INVISIBLE), ça ne fonctionne malheureusement pas. Pour contourner cette limitation (ou ce bug, je c pas...), j'ai procédé de la façon suivante :
- le menu devant s'afficher par popup est placé en dernière position
- sa propriété Visible est mis à True (très important !)
- sa propriété Enabled est mis à False et son texte est " " (espace) pour ne pas attirer l'oeil de l'utilisateur

Il en résulte un popupmenu avec icônes !


 Conclusion

J'invite ceux qui feraient tourner le code joint à essayer en remplaçant la propriété Visible de zMenu1 par False. Chez moi, impossible d'insérer une icône dans ce cas. Si vous avez une explication, je suis évidemment preneur :-)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture COVER SEARCH
Source avec Zip Source avec une capture NG FILM IDENTIFIER
Source avec Zip Source avec une capture EXPLORER RÉCURSIVEMENT UN SERVEUR FTP DISTANT
Source avec Zip Source avec une capture OBTENIR DE VRAIS NB ALEATOIRE
Source avec Zip Source avec une capture TREEVIEW - SAUVEGARDER L'ARBORESCENCE D'UN ARBRE

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) AJOUTER - MODIFIER - SUPPRIMER DANS UNE BDD ACCESS SOUS VB20... par kewan
Source avec Zip Source avec une capture ASTUCE POUR WINDOWS par Cheval
ASTUCE MATHÉMATIQUE par dheroux
Source avec Zip Source avec une capture ( CHANGER / AJOUTER/ SUPPRIMER ) LA LANGUE DU CLAVIER DANS ... par chieur
AJOUTER/SUPPRIMER UN PROXY par djebbipgm

Commentaires et avis

Commentaire de Sniper_Vgaerr le 07/12/2005 12:39:05

Salut,

Ton code est bien, bien commenté, le seul incovenient c'est que tu n'utilise pas de imagelist, car si tu fais un menu a 20 entrée, tu ne peux pas stocker tes 20 images sur ta form, il faut les mettre dans une imagelist. Sinon c'est bien.
7/10
@+

Commentaire de Renfield le 07/12/2005 13:09:39 administrateur CS

Sniper_VgaErr l'imagelist n'est pas obligatoire, loin de là...

d'autant plus que a rajoute une dépendance a ton programme.

Outre le fait de pouvoir distribuer les fichiers .ico, je pense que la meilleure solution serait de les ajouter en ressource de l'executable

Commentaire de Egyde le 07/12/2005 13:47:09

D'après mes propres essais, l'image doit rester dans la picturebox que l'on transmet à l'API SetMenuItemBitmaps si l'on veut qu'elle s'affiche correctement : si la feuille ne contient qu'une seule picturebox que l'on update au fur et à mesure (à partir d'une imagelist ou des ressources exe), seule la dernière icône est affichée (toutes les images précédentes ayant été effacé de la picturebox). C'est pourquoi j'ai préféré placé +eurs picturebox, une pour chaque icône à insérer.

Commentaire de Renfield le 07/12/2005 13:57:48 administrateur CS

SetMenuItemBitmaps a besoin d'un HBitmap (objet API)...
si tu as plusieurs PictureBox, tu as plusieurs HBitmap...

cette solution fonctionne, mais est un peu maladroite. on preferera créer des Bitmap (via, par exemple CreateCompatibleBitmap...)

Commentaire de Sniper_Vgaerr le 07/12/2005 22:22:18

Re,

Autant pour moi je pensais que c'était moins gourmant de mettre une imagelist que de stocker les icones sur la form. Sinon comment tu fais pour mettre des icones en fichier ressource ? Merci
@+

Commentaire de stef2004 le 09/12/2005 23:26:43

2 choses à dire:
source très utile à mon avi... hier je me demandais qomment ils ont fait chez mozilla pour insérer le favicon comme image dans tes marque-pages... lol
bravo en tout cas

d'autre part, un petit message pour Sniper_Vgaerr: on ne dit pas "Autant pour moi", mais "Au temps pour moi". Pour ne pas avoir à donner es explications deux commentaires plus loin, cela vient du langage militaire ou un officier supérieur disait à un soldat qui a mal fait le mouvement: "au temps!", pour qu'il recommence après s'être trompé. Voilou faute très courante :)

a+
stef2004
http://www.stef2004.com

Commentaire de Silmon le 14/12/2005 19:58:25

- stef2004
  C'est vrai le truc du "autant pour moi"?

- Egyde
  Astucieuse ton...astuce.
Question:
  Et si tu place un icon sur ton menu et aprés tu le met a invisible.

Commentaire de Egyde le 14/12/2005 21:42:10

Pour répondre à Silmon, rendre le menu invisible APRES insertion des icônes...les effacent :-c

Commentaire de stef2004 le 17/12/2005 06:29:50

2ème réponse à Silmon, je t'assure que c'est vrai, c'est bel et bien "Au temps pour moi", c'était dans un petit bouquin chez Librio, du genre "les pièges du français" ou quelque chose comme ça, avec les ereurs les plus répandues.
a+

Commentaire de Silmon le 21/12/2005 13:51:23

Merci pour vos infos

Commentaire de leglilegli le 08/05/2006 10:13:18

On doit utiliser "autant pour moi" s'il est question d'une même chose ou d'une quantité et "au temps pour moi" si il est question d'une erreur... Voila une petite précision tout à fait inutile de ma part, mais je n'ai pas pu m'en empêcher ;-)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

API pour icônes [ par Xaviou ] Salut,Je suis à la recherche d'une API pour afficher la boite de dialogue de changement d'icône (boite que l'on peut obtenir, lorsque l'on regarde les Désactiver le PopupMenu windows ? [ par Karim ] Bonjour,Existe-t-il un moyen de désactiver le Popupmenu qui se trouve par défaut pour le Textbox, c'est pour le remplacer par un autre.Pour l'instant, script d'installation - ajout de fichiers [ par Georef ] Bonjour,lors de la génération d'un pgm d'installation, je dois ajouterde nombreux fichiers de données. La manipulation"ajouter", choix du fichier... e Comment ajouter un mot au curseur dans une texbox [ par Fagu ] Dans une texbox je voudrais ajouter un mot en cliquant sur un objet au niveau du curseur dans la texbox. Est-ce possible ? Ou bien selectionner avec l suite a l'astuce Programme autonome [ par Cameleon ] BonjourQuelqu'un a t il essayer cette astuce et surtout y est il parvenu?J'ai bien essayer en suivant les instructions fournis dans l'astuce mais rien Upload de fichiers [ par Pat ] Je souhaite ajouter la fonction, upload de fichier sur mon site pour permettre aux visiteurs de poster des fichier zip.Mon site est hébergé sur un ser comment ajouter Controles internets en vb [ par Natij ] bonjour,j'aimerai avoir des infos sur l'ajout de controle internet dans un programme vb merci logicave@yahoo.fr Ajouter un nouvel enreg ds une table depuis VB. URGENt!! [ par flo ] COmment depuis Vb (Avec ADO) ajouter un enregistrement ds une table de ma bd Access?Faut il utiliser ALTER TABLE nom_table(........,....)?Merci de vot basse de donnée [ par indurain ] Salut,J'essai présentement pour la première fois à travailler avec une basse de donnée. Mon problème est que je désire faire saisir des informations e ajouter 1 colone a 1 dbGrid [ par tom ] Comment puis je ajouter une colonne dans mon dbGridla question est stupide mais tant pismerciTom


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales