Voilà le fonctionnement(en gros)
->mon programme(pour ne pas se limiter à la réponse du forum) affiche une Frame avec un menu . Le choix Fichier->Ouvrir permet de sélectionenr le .exe ou .dll a scanner . Toutes les boites de dialogues trouvées son listées dans une TreeView d'une fenêtre MDI dans cet ordre là:
+Root
+Dialogues
+Nom(id ou string)
+Lang(en anglais: Windows oblige)
en double cliquant sur le language de la boite de dialogue voulue(i.e: +Lang(en anglais: Windows oblige)" la boite de dialogue est chargée et mise dans une autre fenêtre MDI(elle prend le nom de la boite de dialogue mais pas l'icône) .
NOTE: dans le menu fenêtre se trouve un choix "Parcourir": chez moi il affiche la liste des fenêtre MDI mais je l'ai trouvée par pur hasard te je voudrais juste savoir s'il marche chez vous ?! Les autre choix sont eux plus standard .
Quelques détails:
A cause de la méthode utilisée pour faire une telle transformation, il se peut que certains styles de la fenêtre ne soit pas conservés car il sont incompatible avec ce type de transformatiosn donc ne rallez pas pour çà . De plus si la boite de dialogues possède une icône, celle-ci n'est pas affichée dans la fenêtre MDI(mais ce n'est pas non plus très dur à changer) .
Détail de fonctionnement:
J'utilise une méthode que je pensait jusque là impossible à savoir que la boite de dialogue devient(après quelques changement de style très précis) un fils d'une fenêtre MDI que l'on met à la bonne taille . La boite de dialogue réagit normalement et conserve sont DialogProc(évidemment il faut l'implémenter) sauf pour les messages de fenêtre(i.e: WM_SIZE, WM_CLOSE, WM_PAINT...) puisque c'est la fenêtre MDI qui les reçoit . Enfin on maximise la boite de dialogue pour que celle-ci prenne exactement la taille de la fenêtre MDI(si on se contente de la mettre à la bonne taille, même exactement çà marche pas(ou plutôt mal) ) .
NOTE: j'ai mis dans mon programme quelques boite de dialogue(et les icônes) en ressource pour l'exemple:
CELLES-CI NE SONT PAS DE MOI, elle provienne de source sur ce (magnifique) site qu'est cppfrance car non seulement je n'est pas d'éditeur de ressources et en plus j'ai pas que çà à faire) .
Voilà j'ai fini mon exposé, si ce programme ne marche sur votre ordi dites exactement de qui ne va pas . Je l'ai testé uniquement sur mon Windows XP Familly .