Condividi tramite


Oggetti Finestra

MFC fornisce la classe CWnd per incapsulare l'handle HWND di una finestra. L'oggetto CWnd è un oggetto finestra C++, distinto da HWND che rappresenta una finestra di Windows ma la contiene. Usare CWnd per derivare classi di finestre figlio personalizzate o usare una delle numerose classi MFC derivate da CWnd. La classe CWnd è la classe base per tutte le finestre, incluse finestre cornice, finestre di dialogo, finestre figlio, controlli e barre di controllo, ad esempio barre degli strumenti. Una buona comprensione della relazione tra un oggetto finestra C++ e un HWND è fondamentale per una programmazione efficace con MFC.

MFC fornisce alcune funzionalità predefinite e la gestione delle finestre, ma è possibile derivare la propria classe da CWnd e usare le funzioni membro per personalizzare la funzionalità fornita. È possibile creare finestre figlio creando un oggetto CWnd e chiamandone la funzione membro Create, quindi personalizzare le finestre figlio usando le funzioni membro CWnd. È possibile incorporare oggetti derivati da CView, ad esempio visualizzazioni modulo o viste ad albero, in una finestra cornice. È anche possibile supportare più visualizzazioni dei documenti tramite riquadri splitter, forniti dalla classe CSplitterWnd.

Ogni oggetto derivato dalla classe CWnd contiene una mappa dei messaggi, tramite la quale è possibile associare i messaggi di Windows o gli ID comando ai propri gestori.

La letteratura generale sulla programmazione per Windows è una buona risorsa per imparare a usare le CWnd funzioni membro, che incapsulano le HWND API.

Funzioni per operare su un CWnd

CWnd e le relative classi di finestre derivate forniscono costruttori, distruttori e funzioni membro per inizializzare l'oggetto, creare le strutture di Windows sottostanti e accedere all'oggetto incapsulato HWND. CWnd fornisce inoltre funzioni membro che incapsulano le API Windows per l'invio di messaggi, l'accesso allo stato della finestra, la conversione delle coordinate, l'aggiornamento, lo scorrimento, l'accesso agli Appunti e molte altre attività. La maggior parte delle API di gestione delle finestre di Windows che accettano un HWND argomento viene incapsulata come funzioni membro di CWnd. I nomi delle funzioni e dei relativi parametri vengono mantenuti nella CWnd funzione membro. Per informazioni dettagliate sulle API di Windows incapsulate da CWnd, vedere classe CWnd.

Messaggi CWnd e Windows

Uno degli scopi principali di CWnd è fornire un'interfaccia per la gestione dei messaggi di Windows, ad esempio WM_PAINT o WM_MOUSEMOVE. Molte delle funzioni membro di CWnd sono gestori per i messaggi standard, ovvero quelli che iniziano con l'identificatore afx_msg e il prefisso "On", ad esempio OnPaint e OnMouseMove. La gestione dei messaggi e il loro mapping trattano in dettaglio i messaggi e la gestione dei messaggi. Le informazioni si applicano allo stesso modo alle finestre del framework e a quelle create manualmente per scopi speciali.

Cosa vuoi sapere di più su

Vedere anche

Finestre