GNT sans publicité, site mobile, fonctionnalitées exclusives...

Personaliser le dialog d'ouverture et d'enregitrement

Le
Kira
Bonjour,

J'aimerais ajouter un menu contextuel à une boîte de dialogue
d'ouverture/enregistrement (GetOpenFileName) lorsqu'un utilisateur éxecute
une une combinaision de touches (hotkey).

La difficulté étant que ceci ne doit pas marcher uniquement pour mon
application, mais dans toutes.

En gros, j'aimerais faire la même chose que ce soft là :
http://www.shelltoys.com/access_folders/index.html

Pourriez-vous s'il vous plaît me décrire la marche à suivre ?

Merci d'avance.

Kira
Lire les 3 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Chistian ASTOR
Le #9878271
Kira a écrit:

J'aimerais ajouter un menu contextuel à une boîte de dialogue
d'ouverture/enregistrement (GetOpenFileName) lorsqu'un utilisateur éxecute
une une combinaision de touches (hotkey).

La difficulté étant que ceci ne doit pas marcher uniquement pour mon
application, mais dans toutes.

En gros, j'aimerais faire la même chose que ce soft là :
http://www.shelltoys.com/access_folders/index.html



Il n'y a pas de difficulté, puisqu'une Hot Key est globale.
RegisterHotKey()-WM_HOTKEY-...TrackPopupMenu()... + envoi commandes à la
Dlg courante.
(et l'appli utlise bien sûr WH_MOUSE pour le click droit)
Kira
Le #9878251
Chistian ASTOR news:3ffff890$0$6967$:

Il n'y a pas de difficulté, puisqu'une Hot Key est globale.
RegisterHotKey()-WM_HOTKEY-...TrackPopupMenu()... + envoi commandes à
la Dlg courante.
(et l'appli utlise bien sûr WH_MOUSE pour le click droit)



Merci pour ta réponse.
Effectivement, mais comment puis-je savoir que l'utilisateur a invoqué la
hotkey sur une fenêtre d'ouverture/enregistrement de fichiers (si la hotkey
est invoquée ailleurs, le menu doit avoir un autre comportement - à savoir,
simplement ouvrir le dossier dans l'explorateur, au lieu de changer le
dossier actif dans le dialogue d'ouverture/enregistrement).

Comment donc savoir si la fenêtre active est une fenêtre créee par
GetOpen/SaveFileName ? Je n'ai trouvé aucun critère qui pourrait me
permettre de l'identifier par rapport à une fenêtre classique, avec Spy++.

Merci d'avance.
Chistian ASTOR
Le #9878241
Kira a écrit:

Comment donc savoir si la fenêtre active est une fenêtre créee par
GetOpen/SaveFileName ? Je n'ai trouvé aucun critère qui pourrait me
permettre de l'identifier par rapport à une fenêtre classique, avec Spy++.



Les ID des child controls sont en principe constants.

SHELLDLL_DefView = 0x0461 pour Explorer-style
Listbox = 0x0460 (lst1) pour old-style
etc...
(pas testé sur 2000-XP)
A part pour les Dlg Office ("bosa_sdm_Microsoft Word x.0", où l'appli
citée bugge un peu).
Publicité
Suivre les réponses
Poster une réponse
Anonyme