Problème avec dialogbox de dialogbox

ArthurAuguste Messages postés 107 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 17 février 2018 - 6 avril 2011 à 21:34
ArthurAuguste Messages postés 107 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 17 février 2018 - 8 avril 2011 à 14:01
Bonjour,
J'ai une première dialogbox (dialogbox1) modale décrite dans le fichier ressource que je lance par la fonction dialogbox avec sa propre callback, dans cette callback (callback1) je n'ai aucun problème pour lire le contenu de mes contrôles : edittext par GetDlgItemText ou listbox par SendMessage(clesurcontrole, LB_GETTEXT, ?..) etc? Toujours dans cette callback lors de l'appui sur un bouton, je lance une 2ème dialogbox (dialogbox2) par une deuxième fonction dialogbox, celle-ci est encore modale décrite séparément dans le même fichier ressource et elle dispose de sa propre callback (callback2). Dans cette callback2 de cette dialogbox2 je récupère correctement la main lors du clic sur n'importe quel bouton, par contre j'ai un problème avec les contrôles edittext, je n'arrive pas lorsque je clique sur un bouton à lire le contenu des contrôles edittext, le GetDlgItemText avec le handle de la fenêtre d'origine ne donne rien, le GetDlgItem() pour récupérer avec la clé de la fenêtre d'origine un handle sur le contrôle afin d'utiliser SendMessage(clesurcontrole, LB_GETTEXT,?..) ne donne rien non plus. Je pensais qu'en fait c'était parce que je ne peux plus utiliser la clé de la fenêtre d'origine pour trouver les handle sur les contrôles ce qui m?a amené à chercher une autre clé de fenêtre avec nvellecle=GetWindow(cledorigine, GW_XXX) et ensuite à essayer ces nouvelles clés pour trouver un handle sur mes contrôles, mais rien n'y fait !!
Help please.
Thanks

1 réponse

ArthurAuguste Messages postés 107 Date d'inscription lundi 7 février 2011 Statut Membre Dernière intervention 17 février 2018
8 avril 2011 à 14:01
Bon, cherchez plus, j'avais mal compris comment
fonctionnait la callback: DialogProc.
J'avais, donc à tort, imaginé qu'elle fonctionnait comme la callback:
WindowProc.
C'est à dire qu'à la callback WindowProc on lui passe comme paramètre
d'entrée le HWND qui nous a été fourni par la fonction CreateWindow, c'est
pour cela que je pensais qu'à la callback DialogProc aussi il fallait lui
fournir en paramètre d'entrée un HWND pris ailleurs (j'avais pris celui
donné par la fonction GetActiveWindow). Je réalise maintenant que c'est le
contraire, avec la fonction DialogProc c'est elle qui fournit le HWND en
paramètre de sortie !! Et effectivement en tout reprogrammant comme ça, ça
marche.
Merci.
0
Rejoignez-nous