Oggetti finestra
MFC fornisce la classe CWnd per incapsulare l'handle HWND
di una finestra. L'oggetto CWnd
è un oggetto finestra di C++, distinto da HWND
che rappresenta una finestra di Windows, ma la prima finestra contiene la seconda. Utilizzare CWnd
per derivare le proprie classi di finestre figlie o utilizzare una delle varie classi MFC derivate da CWnd
. La classe CWnd
è la classe base per tutte le finestre, incluse le finestre cornice, le finestre di dialogo, le finestre figlio, i controlli e le barre di controllo come le 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 degli strumenti di gestione predefiniti per le finestre, ma è possibile derivare la propria classe da CWnd
e utilizzare le relative funzioni membro per personalizzare la funzionalità fornita. È possibile creare finestre figlio creando un CWnd
oggetto e chiamando la relativa funzione membro Create , quindi personalizzare le finestre figlio usando CWnd
le funzioni membro. È 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 di messaggi, tramite la quale è possibile eseguire il mapping dei messaggi o degli ID di comando di Windows ai propri gestori.
La letteratura generale sulla programmazione per Windows è una valida risorsa per imparare a utilizzare le funzioni membro CWnd
, che incapsulano le API HWND
.
Funzioni per l'esecuzione in un oggetto 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 incapsulatoHWND
. CWnd
fornisce inoltre funzioni membro che incapsulano le API di Windows per inviare messaggi, accedere allo stato della finestra, convertire le coordinate, aggiornare, scorrere, accedere agli Appunti e molte altre attività. La maggior parte delle API di Windows per la gestione delle finestre che accettano un argomento HWND
vengono incapsulate come funzioni membro di CWnd
. I nomi delle funzioni e dei relativi parametri vengono mantenuti nella funzione membro CWnd
. Per informazioni dettagliate sulle API di Windows incapsulate da CWnd
, vedere classe CWnd.
CWnd e messaggi di Windows
Uno degli scopi principali di CWnd
è fornire un'interfaccia per la gestione dei messaggi di Windows, ad esempio WM_PAINT o WM_MOUedizione Standard MOVE. 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 e il mapping dei messaggi illustrano in dettaglio i messaggi e la gestione dei messaggi. Le informazioni dell'argomento sono ugualmente applicabili alle finestre del framework e a quelle create dall'utente 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