begin process at 2010 02 10 05:11:28
  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é :3 608 / 444

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 NEXTGENS -> UNITÉS DE TYPES ÉVOLUÉS NOUVELLE GÉNÉRATION (DE... par f0xi
Source avec Zip Source avec une capture AUTO-COMPLÉTION D'UN CONTRÔLE DE SAISIE par Bacterius
Source avec Zip CARDS GAME SDK 1.0.0.0 par f0xi
Source avec Zip Source avec une capture TRAYICON - VOTRE ICONE DANS LA BARRE DES TACHES par Bacterius
Source avec Zip Source avec une capture WINHIDER _ CACHER UN PROGRAMME DE L'ÉCRAN ET DE LA BARRE DE ... par soldier8514

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture INTRA MESSENGER - DELPHI par keket
Source avec Zip Source avec une capture FICLOCK : LOCKEZ LES FICHIERS par JulioDelphi
Source avec Zip Source avec une capture MODIFICATION DES EXTENSIONS DE FICHIERS par JeremyLecouvert
EXPLORATION RÉCURSIVE DE RÉPERTOIRE par JeremyLecouvert
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 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 desactiver clic droit sous internet explorer [ par ssd ] Bonjour, comment faire pour desactiver le clic droit d'internet explorer , sous un Twebrowser ???d'avance merci. 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,014 sec (3)

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