begin process at 2012 02 07 07:40:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > AFFICHER LE MENU CONTEXTUEL D'UN FICHIER

AFFICHER LE MENU CONTEXTUEL D'UN FICHIER


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Classé sous :menu, contextuel, fichier, explorer, droit Niveau :Initié Date de création :18/05/2003 Date de mise à jour :16/09/2007 13:44:39 Vu / téléchargé :4 440 / 482

Auteur : bgK

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

 Description

Cliquez pour voir la capture en taille normale
Tout est dans le titre : Affiche le menu contextuel d'un fichier. Mais il peut aussi afficher le menu contextuel des éléments spéciaux de Windows (poste de travail, ...)

Le fichier zip ci-joint contient une classe et un exemple montrant l'utilisation de cette classe.


 Conclusion

J'ai mis pas mal de commentaires, mais si vous voulez des explications supplémentaires, demandez-moi.

Les commentaires sont les bienvenus.
Si vous voyez des erreurs ou des trucs qui ne vont pas, signalez le moi ...

 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


 Historique

16 septembre 2007 13:44:39 :
Prise en compte des corrections de bug de Shagshag et jpt. Non testé.

 Sources du même auteur

Source avec Zip Source avec une capture PROJECTZIP
Source avec Zip DECLARATIONS DELPHI DU PLATFORM SDK 08/2002
Source avec Zip INTRODUCTION AU POLYMORPHISME
Source avec Zip EXTENSIONS DU SHELL : FEUILLE DE PROPRIÉTÉS
Source avec Zip EXTENSIONS DU SHELL : MENU CONTEXTUEL

 Sources de la même categorie

Source avec Zip Source avec une capture KINECT TEST V1 par FFCAST
Source avec Zip DÉCOUPER UNE FENÊTRE par gta126
Source avec Zip TRANSCRIRE UN FICHIER OPEN FINANCIAL EXCHANGE (OFX) EN FICHI... par jeffem
Source avec Zip Source avec une capture MSXML 4.0 VALIDATION XML / XSD par redtux
Source avec Zip FBRENOMMEADOBJET par fbalien

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RECHERCHE PAR EXTENSION AVEC JVCL par Weirdy
Source avec Zip Source avec une capture WII SD CARD NAVIGATOR 1.0.0.5 ALPHA par skyangel21
Source avec Zip Source avec une capture SIZECONVERTER : UNE MINI LIBRAIRIE DE CONVERSION DE TAILLE par LaDentDeLait
Source avec Zip Source avec une capture ENREGISTREMENT DES DONNÉES DANS L'EXE par yanb
Source avec Zip Source avec une capture CONTEXTMENU - AJOUT D' UN ITEM DS LE POPMENU DE WINDOWS EXPL... par MAURICIO

Commentaires et avis

Commentaire de Bestiol le 20/05/2003 10:01:09

Arf, encore un bon code sur l'intégration au shell !! ;o)

Bonne prog' !

Commentaire de Shagshag le 18/05/2005 10:14:38

Salut, j'ai fait un petit changement car ça plantait chez moi (XP) quand on survole un séparateur de menu avec la souris.

ligne 248 de l'unité ContextMenu :
[If Msg.WParamLo < MaxMenuItemId then] devient [If (Msg.WParamLo > 0) and (Msg.WParamLo < MaxMenuItemId) then]

Merci pour ce code.

Commentaire de jpt le 11/09/2007 10:37:44

Salut,
il y a une 'tite fuite mémoire (merci Memcheck !) dans la dernière procédure (GetMem sans FreeMem).
Je l'ai modifiée ainsi (en y incluant la modif du post précédent) :
If (Msg.WParamLo > 0) and (Msg.WParamLo < MaxMenuItemId) then
begin     // Si ok récupère le texte adapté puis déclenche
   GetMem(Texte, 255); // l'évènement OnItemSelect
   if not ( ICM3.GetCommandString(Msg.WParamLo - MinMenuItemId, GCS_HELPTEXTA, nil, Texte, 255) = NOERROR ) then
    Texte := '';

   If Assigned(FOnItemSelect) then FOnItemSelect(Self, Texte);

   FreeMem(Texte); // jpt, 9/2007
end;

// If Assigned(FOnItemSelect) then FOnItemSelect(Self, Texte); // jpt, 9/2007

Merci pour tout ce code,
--
jpt

Commentaire de bgK le 16/09/2007 13:49:27

Salut,
Shagshag et jpt : merci à vous. Je viens de mettre à jour la source pour prendre en compte vos remarques. Par contre, c'est non testé, faute d'installation de Delphi sous la main ;)
Je suis heureux de voir que ma source rend encore service 4 ans après !

bgK

Commentaire de jpt le 23/10/2007 21:00:10

Salut tout le monde.
Je viens de constater avec stupeur et retardement que malgré la correction de Shagshag, ça plante quand même lors du passage sur un séparateur ou si l'on veut passer sur un sous-menu ! (opération de pointeur incorrecte...)
Je suis sous w2k-sp4 et D7 perso.
Je vais chercher, mais je ne sais pas du tout si je vais trouver (ça dépasse un peu mes compétences)...
--
jpt

Commentaire de jpt le 25/10/2007 22:08:32

Bon, voilà, en supprimant complètement la procédure TShellContextMenu.Handle_WMMENUSELECT(var Msg : TMessage); (la dernière de l'unité ContextMenu), ça ne plante plus.
Et comme je ne sais pas à quoi elle sert (à part afficher un truc dans le lblContextText sur Form1), ben, zap !

Et maintenant, tout fonctionne bien, menu contextuel et ses sous-menus (if any).
Mes 2 cts,
--
jpt

Commentaire de alll le 11/02/2008 21:25:35

bonjour a tous
tres chouette source pour moi qui debute en dlephi j'ai trouver un source tres bien commenter pour m'y retrouver sa c'est au poil felicitation

je me suis eclater a creer un editeur filelistbox et un access au menu contextuel de windows, pour ne pas avoir d'erreur au passage sur les separateur avec la sourie j'ai supprimer
{procedure Handle_WMMENUSELECT(var Msg : TMessage); message WM_MENUSELECT;}
appel de procedure
var
rep, dd: string;
ContextMenu: TShellContextMenu;
fich: Boolean;
begin
    rep := ExtractFilePath(Paramstr(0));
    ContextMenu := TShellContextMenu.Create(Self, Self.Handle);
    fich := ContextMenu.Init(filelistbox1.FileName);

    ContextMenu.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
encore un grand bravos et merci a vous de la part de personne comme moi qui debut en delphi

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[Experts] Shell, explorer [ par Kruger ] Salut tous le monde, je souhaite faire une appli visioneuse d'image en passant par le menu contextuel de explorer (un peu à la winzip) , lefonctionnem Ajouter un raccourci dans un menu contextuel [ par sisi231 ] Bonjour,je sais ajouter un raccourci dans le menu contextuel d'un fichier d'un certain type (http://www.phidels.com/php/index.php3?page=../ph Menu Contextuel sur le Bureau [ par systmd ] Bonjour,je n'arrive pas à  ajouter une commande au menu contextuel du bureau (Click droit sur le fond d'écran)soit, dans la BDRHKEY_CLASSES_ROOT\Direc Menu contextuel et TWeBrowser [ par vmsn ] Bonjour,je suis un peu ennuyé, voilà mon problème, je suis entrain de créer une application de type "navigateur bridé". J'utilise pour cela un composa Click droit dans explorer.exe [ par dxh_master ] voila jaimerait associer mon aplis au fichier .rstp et que quand on face un click droit dans lexploreateur de windows  &gt;&gt; nouveau &gt;&gt; Nouve Menu Contextuel [ par Hardouz ] salut a tous lmonde ;je me demande s'il ya une méthode pour inscrire des commande dans le menu contextuelle de windows (click droit ) par exemple en m Placer des séparateurs entre les options d'un menu fichier [ par Fabal01 ] Slt Comment je peut placer des séparateurs entre les options d'un menu fichier par exemple:J'ai une bare de me menu composé d'un menu fichier et j'aim click droit de la souris [ par youhibadelphi ] Salut tlm Après le click droit de la souris dans un Edit ou Dbedit un menu s'affiche, peut-on ajouter des lignes a ce menu? Merci yahia petite question sur les menu excel [ par pratrick ] Messieurs Bonjour j'ai trouvé un petit exemple sur la création d'une fichier excel qui utilise la fonction [code=pas]oCommandBars.Item.Visible:= 1;[/c Menu explorer [ par slim59 ] Mes excuse, J'ai déposer une question au sujet du menu sous forme d'explorer Wiodows, mais peut être que j'ai du mal m'exprimer. Dans TreeView en peut


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 : 1,279 sec (3)

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