Ouvrir une boite de dialogue à partir d'un menu dynamique (API)

Ouvrir une boite de dialogue à partir d'un menu dynamique (API) - VB/VBA/VBS - Programmation

Marsh Posté le 15-05-2003 à 11:19:43    

Salut,
 
J'ai créé un menu dynamique avec les API CreateMenu, appendmenu ...
Comment peux t'on associer des évènements à une commande d'un menu ?  
 
Exemple :
Dans un Menu Fichier, j'ai la commande ouvrir, quand je cliques sur ouvrir, je souhaiterais associer l'ouverture d'une boite de dialogue. Comment puis-je faire ?  
 
Merci, si y'a une bonne doc dispo sur le net, sur les API, je suis preneur.
 
Merci d'avance

Reply

Marsh Posté le 15-05-2003 à 11:19:43   

Reply

Marsh Posté le 15-05-2003 à 11:39:51    

Le truc, c'est que tu vas continuer à utiliser les API.
 
La technique s'appelle subclassing (sous-classement) de fenêtre.  Concrètement ça permet de recevoir TOUS les messages que Windows envoie à ta fenêtre en lui filant à l'initialisation une adresse vers une fonction à toi qui va traiter tout ça.  C'est très délicat à manipuler (y compris et surtout dans l'IDE) mais une fois au point et le truc compris, ça va tout seul.
 
En faisant une recherche sur les mots mis en gras, tu n'auras pas de mal à trouver une réponse et des explications.  Si tu comprends l'anglais, je te conseille l'excellent http://www.vbaccelerator.com/  Tout son boulot est basé sur une petite DLL dont le code source + explications sont disponibles, et met en oeuvre un service facilitant la technique de sous-classement.


Message édité par drasche le 15-05-2003 à 11:48:24

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed