API, fenêtre fille (focus)

La Guite Messages postés 45 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 novembre 2009 - 9 sept. 2005 à 00:19
La Guite Messages postés 45 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 novembre 2009 - 9 sept. 2005 à 15:24
Bonjour à tous,

En C++, API windows.
Voila, je développe un programme de traitement d'images (comme paint shop pro). Sauf que pour l'instant, le prog me permet d'ouvrir des images dans plusieurs fenêtres filles.
Mon prog se constitut d'une fenetre principale (appellé mère) et de fenêtres filles (qui sont dans la fenêtre mère). Chaque type de fenêtre possède un callback (fonction de rappelle des événements). On dira callbackMere pour la fenêtre principale et callbackFille pour les autres.
Ma question (enfin) est : comment connaitre la fenêtre fille sélectionné ?
Ma première idée était de réagir à l'événement WM_GETFOCUS et d'enregistrer le handle de la fenêtre fille (je n'ai besoin que de çà). Mais cela ne marche pas !!!
Si une personne a une idée sur comment obtenir le handle de la fenêtre fille activée, je suis tout ouïe...

Bon courage à tous.

2 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
9 sept. 2005 à 10:57
Essye ça :

GetActiveWindow()

ou

envoyer le message WM_MDIGETACTIVE à la fenêtre MDI cliente (si tu utilises le Multiple Document Interface)
0
La Guite Messages postés 45 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 27 novembre 2009
9 sept. 2005 à 15:24
çà marche pas, voila comment je construis les fenêtres filles :


HWND AddFile(
char* pName,
int largeur,
int hauteur){


HWND hwnd;
MDICREATESTRUCT mcs;
mcs.szTitle = pName;
mcs.szClass = "Child";
mcs.hOwner = InstancePrincipale;
mcs.x = CW_USEDEFAULT;
mcs.cx = largeur+8;
mcs.y = CW_USEDEFAULT;
mcs.cy = hauteur+34;
mcs.style = MDIS_ALLCHILDSTYLES;
hwnd = (HWND)SendMessage(HandleClient, WM_MDICREATE, 0, (LONG)(LPMDICREATESTRUCT) &mcs);

return hwnd;


}
0
Rejoignez-nous