Pour mon info personnelle, j’aimerais savoir quels paramètres doit-on utiliser dans CreateWindow ou CreateWindowEx pour créer une boîte de dialogue modale ou non modale (peu importe) sans passer par CreateDialog ni DialogBox. Pour poser la question autrement j’aimerais savoir ce que font CreateDialog et DialogBox pour créer ces boîtes car en fait j’ai essayé et pour l’instant je n’arrive pas à un fonctionnement équivalent. Je m’explique quand je regarde le comportement par exemple de la boîte non modale « Rechercher » que l’on obtient par Edition>Rechercher sous Excel, il y a 3 comportements de cette boîte que je n’arrive pas à obtenir en même temps (sauf si je passe par CreateDialog), ces 3 comportements sont :
1.- la boîte rechercher reste au-dessus de la page Excel
2.- la boîte rechercher peut être déplacée en dehors de la page Excel (donc en dehors de la fenêtre qui l’appelle)
3.- la boîte rechercher est recouverte par les autres processus (si je lance Word, par exemple, la page de Word va recouvrir la boîte rechercher de Excel)
Dans ma fenêtre appelante j’ai fait plusieurs essais d’utilisation du paramètre WS_CHILD dans le CreateWindowEx ou CreateWindow d’appel de ma fenêtre dialogue, mais à ce moment là les coordonnées de la fenêtre dialogue sont relatives à la fenêtre appelante, c'est-à-dire que ça ne répond pas au point 2 ci-dessus.
J’ai fait plusieurs essais du paramètre WS_EX_TOPMOST sans le paramètre WS_CHILD ce qui répond aux points 1 et 2, mais ne répond pas au point 3 : si je lance un autre programme qui n’a rien à voir avec la fenêtre appelante, il ne recouvre pas ma fenêtre dialogue qui reste au-dessus de tout.
Quelqu’un a-t-il déjà essayé de simuler un CreateDialog ou un DialogBox avec la fonction CreateWindowEx ? Merci.
Partager