2010-05-31 17 views
0

Je recherche une méthode pour spécifier la fenêtre parent dans le fichier * .rc.Spécifiez la fenêtre parent dans le fichier de script de ressources Windows (* .rc)

Dans le fichier * .rc, il contient la disposition et les commandes d'un dialogue. Tout nouveau contrôle ajouté deviendra automatiquement une fenêtre enfant de Dialog lui-même. Mais je veux ajouter une fenêtre de dessin personnalisée dans la boîte de dialogue, et d'autres contrôles qui ont cette "fenêtre de dessin personnalisé" en tant que fenêtre parent, pas de dialogue lui-même.

Je sais que je peux utiliser :: CreateWindow (...) API pour créer une fenêtre dynamique en code, et spécifier la fenêtre de dessin personnalisée en tant que HWND parent. Mais nous avons déjà la disposition des contrôles enfants dans le fichier * .rc, je veux juste les réutiliser, sans créer de nouveau HWND.

Merci,

William L.

+0

Vous ne pouvez pas spécifier de fenêtre parent dans un fichier de ressources. Quel est le but de la fenêtre de dessin personnalisée de toute façon? Vous n'avez peut-être pas besoin que la fenêtre de dessin personnalisée soit définie comme parent des contrôles. –

Répondre

0

Il est impossible de spécifier une fenêtre parent pour les contrôles définis dans le fichier de ressources. Tous les contrôles dans le fichier de ressources ont le jeu de dialogue en tant que parent lors de la création de la boîte de dialogue.

Vous pouvez déployer votre propre gestionnaire de dialogue - Raymond Chen a une série en 9 parties de messages de blog sur elle (Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8, Part 9) - mais il pourrait être exagéré pour cette situation.

En quoi consiste votre fenêtre de dessin personnalisée?

+0

Merci! Il semble qu'il n'y a aucun moyen de le faire dans le fichier * .rc. Je vais devoir utiliser :: SetParent (...) API pour changer la fenêtre parente dans la méthode init. – welemon

+0

Je dois vous avertir que certains contrôles ne doivent pas être réparés (voir http://blogs.msdn.com/b/oldnewthing/archive/2010/03/16/9979112.aspx) –