2009-05-08 6 views
1

je suis nouveau à C++, ainsi que pour la programmation de fenêtres ..Comment créer une fenêtre enfant dans win32 en programmant avec C++?

j'ai créé une fenêtre en utilisant la fonction msdn CreateWindow()

qui fonctionne correctly..now je voudrais créer une fenêtre enfant ... la fenêtre parent doit contrôler la fenêtre enfant ...

Tout aide à l'utilisation de l'exemple de code.

Merci à l'avance

Répondre

6

En gros, dans le gestionnaire pour le parent, où vous souhaitez créer l'enfant, vous appelez CreateWindow, en passant dans la fenêtre pour le parent comme hwndParent - probablement, vous voulez aussi définir certains styles sur l'enfant tels que WS_CHILD. Votre interaction avec la fenêtre enfant dépend alors du type de la fenêtre que vous avez créée. Certaines fenêtres (telles que les boutons) sont conçues pour fonctionner comme des fenêtres enfants. Elles envoient donc un grand nombre de messages de notification. Vous devez donc configurer votre parent pour qu'il écoute ces messages de notification.

4

Je recommande fortement d'avoir une lecture à travers Charles Petzold's "Programmation Windows" si vous pouvez obtenir une copie.

Sinon, pour répondre à votre question, passer la poignée de fenêtre parent comme parent lorsque vous créez la fenêtre enfant (en utilisant CreateWindow ou CreateWindowEx):

HWND CreateWindowEx 
(  
    DWORD dwExStyle, 
    LPCTSTR lpClassName, 
    LPCTSTR lpWindowName, 
    DWORD dwStyle, 
    int x, 
    int y, 
    int nWidth, 
    int nHeight, 
    HWND hWndParent,  /// pass the parent window handle here 
    HMENU hMenu, 
    HINSTANCE hInstance, 
    LPVOID lpParam 
); 

..As 1800 Infos a également déclaré, peut-être également définir le style WS_CHILD (plus d'oon Window Style s ici). Ceci est juste la plomberie rudimentaire, vraiment ..

Pouvez-vous être un peu plus précis quand vous dites "contrôler la fenêtre de l'enfant ..."?

Questions connexes