Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Contesti di dispositivo: oggetti che rendono indipendente il dispositivo di disegno di Windows
Oggetti grafici: penne, pennelli, tipi di carattere, bitmap, tavolozze, aree