Condividi tramite


Classe CWnd

Fornisce la funzionalità di base di tutte le classi di finestre nella libreria Microsoft Foundation Class (MFC).

Sintassi

class CWnd : public CCmdTarget

Membri

Costruttori pubblici

Nome Descrizione
CWnd::CWnd Costruisce un oggetto CWnd.

Metodi pubblici

Nome Descrizione
CWnd::accDoDefaultAction Chiamata eseguita dal framework per eseguire l'azione predefinita dell'oggetto.
CWnd::accHitTest Chiamata eseguita dal framework per recuperare l'elemento figlio o l'oggetto figlio in un determinato punto dello schermo.
CWnd::accLocation Chiamata eseguita dal framework per recuperare la posizione sullo schermo corrente dell'oggetto specificato.
CWnd::accNavigate Chiamata eseguita dal framework per passare a un altro elemento dell'interfaccia utente all'interno di un contenitore e, se possibile, recuperare l'oggetto.
CWnd::accSelect Chiamata eseguita dal framework per modificare la selezione o per spostare lo stato attivo della tastiera dell'oggetto specificato.
CWnd::AnimateWindow Consente di animare l'oggetto finestra associato.
CWnd::ArrangeIconicWindows Dispone tutte le finestre figlio ridotte a icona.
CWnd::Attach Associa un handle di Windows a un oggetto CWnd.
CWnd::BeginModalState Chiamare questa funzione membro per impostare lo stato modale per una finestra cornice.
CWnd::BeginPaint Prepara CWnd per il disegno.
CWnd::BindDefaultProperty Associa la proprietà associata semplice predefinita dell'oggetto chiamante, come da contrassegno nella libreria dei tipi, a un cursore associato a un controllo origine dati.
CWnd::BindProperty Associa una proprietà con associazione al cursore per un controllo con associazione a dati a un controllo origine dati e registra tale relazione nel gestore delle associazioni MFC.
CWnd::BringWindowToTop Porta CWnd in cima a una pila di finestre sovrapposte.
CWnd::CalcWindowRect Chiamata eseguita per calcolare il rettangolo della finestra dal rettangolo client.
CWnd::CancelToolTips Disabilita il controllo ToolTip.
CWnd::CenterWindow Centra una finestra rispetto al padre.
CWnd::ChangeClipboardChain Rimuove CWnd dalla catena di visualizzatori degli Appunti.
CWnd::CheckDlgButton Inserisce un segno di spunta accanto a o rimuove un segno di spunta da un controllo pulsante.
CWnd::CheckRadioButton Seleziona il pulsante di opzione specificato e rimuove il segno di spunta da tutti gli altri pulsanti di opzione nel gruppo specificato di pulsanti.
CWnd::ChildWindowFromPoint Determina quale delle finestre figlio contiene eventualmente il punto specificato.
CWnd::ClientToScreen Converte le coordinate client di un determinato punto o rettangolo sullo schermo in coordinate dello schermo.
CWnd::CloseWindow Riduce a icona la finestra.
CWnd::ContinueModal Continua lo stato modale di una finestra.
CWnd::Create Crea e inizializza la finestra figlio associata all'oggetto CWnd.
CWnd::CreateAccessibleProxy Crea un proxy Active Accessibility per l'oggetto specificato.
CWnd::CreateCaret Crea una nuova forma per il cursore di sistema e ottiene la proprietà del cursore.
CWnd::CreateControl Crea un controllo ActiveX che verrà rappresentato in un programma MFC da un oggetto CWnd.
CWnd::CreateEx Crea una finestra di Windows sovrapposta, popup o figlio e la collega a un oggetto CWnd.
CWnd::CreateGrayCaret Crea un blocco grigio per il cursore di sistema e ottiene la proprietà del cursore.
CWnd::CreateSolidCaret Crea un blocco in tinta unita per il cursore di sistema e ottiene la proprietà del cursore.
CWnd::DeleteTempMap Chiamato automaticamente dal gestore del tempo di inattivitàCWinApp, consente di eliminare qualsiasi oggetto CWnd temporaneo creato da FromHandle.
CWnd::DestroyWindow Elimina definitivamente la finestra di Windows collegata.
CWnd::Detach Scollega un handle di Windows da un oggetto CWnd e restituisce l'handle.
CWnd::DlgDirList Compila una casella di riepilogo con un elenco di file o directory.
CWnd::DlgDirListComboBox Compila la casella di riepilogo di una casella combinata con un elenco di file o directory.
CWnd::DlgDirSelect Recupera la selezione corrente da una casella di riepilogo.
CWnd::DlgDirSelectComboBox Recupera la selezione corrente da una casella di riepilogo di una casella combinata.
CWnd::DragAcceptFiles Indica che la finestra accetterà file trascinati.
CWnd::DragDetect Acquisisce il mouse e tiene traccia del suo movimento fino a quando l'utente rilascia il pulsante sinistro, preme ESC o sposta il mouse all'esterno del rettangolo di trascinamento attorno al punto specificato.
CWnd::DrawAnimatedRects Disegna un rettangolo wireframe e aggiunge un'animazione in modo da indicare l'apertura di un'icona oppure la riduzione a icona o l'ingrandimento di una finestra.
CWnd::DrawCaption Disegna una didascalia.
CWnd::DrawMenuBar Ridisegna la barra dei menu.
CWnd::EnableActiveAccessibility Abilita le funzioni Active Accessibility definite dall'utente.
CWnd::EnableDynamicLayout Abilita l'adattamento automatico di posizione e dimensioni delle finestre figlio quando l'utente ridimensiona la finestra.
CWnd::EnableD2DSupport Abilita o disabilita il supporto D2D per la finestra. Chiamare questo metodo prima dell'inizializzazione della finestra principale.
CWnd::EnableScrollBar Abilita o disabilita una o entrambe le frecce di una barra di scorrimento.
CWnd::EnableScrollBarCtrl Abilita o disabilita un controllo barra di scorrimento di pari livello.
CWnd::EnableToolTips Abilita il controllo ToolTip.
CWnd::EnableTrackingToolTips Abilita il controllo ToolTip in modalità di rilevamento.
CWnd::EnableWindow Abilita o disabilita l'input da mouse e tastiera.
CWnd::EndModalLoop Termina lo stato modale di una finestra.
CWnd::EndModalState Chiamare questa funzione membro per cambiare lo stato di una finestra cornice da modale a non modale.
CWnd::EndPaint Contrassegna la fine del disegno.
CWnd::ExecuteDlgInit Inizializza una risorsa di una finestra di dialogo.
CWnd::FilterToolTipMessage Recupera il titolo o il testo associato a un controllo in una finestra di dialogo.
CWnd::FindWindow Restituisce l'handle della finestra, identificata in base al nome e alla classe.
CWnd::FindWindowEx Restituisce l'handle della finestra, identificata in base al nome e alla classe.
CWnd::FlashWindow Fa lampeggiare una volta la finestra.
CWnd::FlashWindowEx Fa lampeggiare la finestra con funzionalità aggiuntive.
CWnd::FromHandle Restituisce un puntatore a un oggetto CWnd quando viene specificato un handle di una finestra. Se un CWnd oggetto non è collegato all'handle, viene creato e collegato un oggetto temporaneo CWnd .
CWnd::FromHandlePermanent Restituisce un puntatore a un oggetto CWnd quando viene specificato un handle di una finestra.
CWnd::get_accChild Chiamata eseguita dal framework per recuperare l'indirizzo di un'interfaccia IDispatch per l'elemento figlio specificato.
CWnd::get_accChildCount Chiamata eseguita dal framework per recuperare il numero di elementi figlio appartenenti all'oggetto corrente.
CWnd::get_accDefaultAction Chiamata eseguita dal framework per recuperare una stringa che descrive l'azione predefinita dell'oggetto.
CWnd::get_accDescription Chiamata eseguita dal framework per recuperare una stringa che descrive l'aspetto visivo dell'oggetto specificato.
CWnd::get_accFocus Chiamata eseguita dal framework per recuperare l'oggetto con lo stato attivo della tastiera.
CWnd::get_accHelp Chiamato dal framework per recuperare la stringa di proprietà della Guida di un oggetto.
CWnd::get_accHelpTopic Chiamata eseguita dal framework per recuperare il percorso completo del file WinHelp associato all'oggetto specificato e l'identificatore dell'argomento appropriato all'interno del file.
CWnd::get_accKeyboardShortcut Chiamata eseguita dal framework per recuperare la combinazione di tasti o il tasto di scelta dell'oggetto specificato.
CWnd::get_accName Chiamata eseguita dal framework per recuperare il nome dell'oggetto specificato.
CWnd::get_accParent Chiamata eseguita dal framework per recuperare l'interfaccia IDispatch del padre dell'oggetto.
CWnd::get_accRole Chiamata eseguita dal framework per recuperare informazioni che descrivono il ruolo dell'oggetto specificato.
CWnd::get_accSelection Chiamata eseguita dal framework per recuperare gli elementi figlio selezionati dell'oggetto.
CWnd::get_accState Chiamata eseguita dal framework per recuperare lo stato corrente dell'oggetto specificato.
CWnd::get_accValue Chiamata eseguita dal framework per recuperare il valore dell'oggetto specificato.
CWnd::GetActiveWindow Recupera la finestra attiva.
CWnd::GetAncestor Recupera l'oggetto finestra predecessore della finestra specificata.
CWnd::GetCapture Recupera l'oggetto CWnd con il mouse capture.
CWnd::GetCaretPos Recupera le coordinate client della posizione corrente del cursore.
CWnd::GetCheckedRadioButton Restituisce l'ID del pulsante di opzione attualmente selezionato in un gruppo di pulsanti.
CWnd::GetClientRect Recupera le dimensioni dell'area client di CWnd.
CWnd::GetClipboardOwner Recupera un puntatore al proprietario corrente degli Appunti.
CWnd::GetClipboardViewer Recupera un puntatore alla prima finestra nella catena di visualizzatori degli Appunti.
CWnd::GetControlUnknown Recupera un puntatore a un controllo ActiveX sconosciuto.
CWnd::GetDC Recupera un contesto di visualizzazione per l'area client.
CWnd::GetDCEx Recupera un contesto di visualizzazione per l'area client e consente il ritaglio durante il disegno.
CWnd::GetDCRenderTarget Recupera la destinazione di rendering del contesto di dispositivo per la finestra CWnd.
CWnd::GetDescendantWindow Cerca tutte le finestre discendenti e restituisce la finestra con l'ID specificato.
CWnd::GetDesktopWindow Recupera la finestra del desktop di Windows.
CWnd::GetDlgCtrlID Se CWnd è una finestra figlio, chiamare questa funzione restituisce il valore ID.
CWnd::GetDlgItem Recupera il controllo con l'ID specificato dalla finestra di dialogo specificata.
CWnd::GetDlgItemInt Converte il testo di un controllo nella finestra di dialogo specificata in un valore Integer.
CWnd::GetDlgItemText Recupera la didascalia o il testo associato a un controllo.
CWnd::GetDSCCursor Recupera un puntatore al cursore sottostante definito dalle proprietà DataSource, UserName, Password e SQL di un controllo origine dati.
CWnd::GetDynamicLayout Recupera un puntatore all'oggetto di gestione del layout dinamico.
CWnd::GetExStyle Restituisce lo stile esteso della finestra.
CWnd::GetFocus Recupera l'oggetto CWnd che dispone attualmente dello stato attivo per l'input.
CWnd::GetFont Recupera il tipo di carattere corrente.
CWnd::GetForegroundWindow Restituisce un puntatore alla finestra in primo piano (finestra di primo livello attualmente usata dall'utente).
CWnd::GetIcon Recupera l'handle per un'icona.
CWnd::GetLastActivePopup Determina la finestra popup di proprietà di CWnd attiva più di recente.
CWnd::GetLayeredWindowAttributes Recupera la chiave di colore per trasparenza e opacità di una finestra a livelli.
CWnd::GetMenu Recupera un puntatore al menu specificato.
CWnd::GetNextDlgGroupItem Cerca il controllo successivo (o precedente) all'interno di un gruppo di controlli.
CWnd::GetNextDlgTabItem Recupera il primo controllo con lo WS_TABSTOP stile che segue (o precede) il controllo specificato.
CWnd::GetNextWindow Restituisce la finestra successiva (o precedente) nell'elenco del gestore delle finestre.
CWnd::GetOleControlSite Recupera il sito personalizzato per il controllo ActiveX specificato.
CWnd::GetOpenClipboardWindow Recupera un puntatore alla finestra con gli Appunti attualmente aperti.
CWnd::GetOwner Recupera un puntatore al proprietario di un oggetto CWnd.
CWnd::GetParent Recupera l'eventuale finestra padre dell'oggetto CWnd.
CWnd::GetParentFrame Recupera la finestra cornice padre dell'oggetto CWnd.
CWnd::GetParentOwner Restituisce un puntatore alla finestra padre di una finestra figlio.
CWnd::GetProperty Recupera una proprietà di un controllo ActiveX.
CWnd::GetRenderTarget Ottiene una destinazione di rendering associata alla finestra.
CWnd::GetSafeHwnd Restituisce m_hWnd, o NULL se il this puntatore è NULL.
CWnd::GetSafeOwner Recupera il proprietario sicuro della finestra specificata.
CWnd::GetScrollBarCtrl Restituisce un controllo barra di scorrimento di pari livello.
CWnd::GetScrollBarInfo Recupera le informazioni sulla barra di scorrimento specificata.
CWnd::GetScrollInfo Recupera le informazioni gestite dalla struttura SCROLLINFO su una barra di scorrimento.
CWnd::GetScrollLimit Recupera il limite della barra di scorrimento.
CWnd::GetScrollPos Recupera la posizione corrente di una casella di scorrimento.
CWnd::GetScrollRange Copia le posizioni della barra di scorrimento minima e massima correnti per la barra di scorrimento specificata.
CWnd::GetStyle Restituisce lo stile della finestra corrente.
CWnd::GetSystemMenu Consente all'applicazione di accedere al menu di controllo per la copia e la modifica.
CWnd::GetTitleBarInfo Recupera le informazioni sulla barra del titolo specificata.
CWnd::GetTopLevelFrame Recupera la finestra cornice di primo livello della finestra.
CWnd::GetTopLevelOwner Recupera la finestra di primo livello.
CWnd::GetTopLevelParent Recupera il padre di primo livello della finestra.
CWnd::GetTopWindow Restituisce la prima finestra figlio appartenente a CWnd.
CWnd::GetUpdateRect Recupera le coordinate del rettangolo più piccolo che racchiude completamente l'area di aggiornamento di CWnd.
CWnd::GetUpdateRgn Recupera l'area di aggiornamento di CWnd.
CWnd::GetWindow Restituisce la finestra con la relazione specificata con questa finestra.
CWnd::GetWindowContextHelpId Recupera l'identificatore di contesto della Guida.
CWnd::GetWindowDC Recupera il contesto di visualizzazione per l'intera finestra, inclusi la barra del titolo, i menu e le barre di scorrimento.
CWnd::GetWindowedChildCount Restituisce il numero di finestre figlio associate.
CWnd::GetWindowInfo Restituisce informazioni sulla finestra.
CWnd::GetWindowlessChildCount Restituisce il numero di finestre figlio senza finestra associate.
CWnd::GetWindowPlacement Recupera lo stato di visualizzazione e le posizioni normale (ripristinata), ridotta a icona e ingrandita di una finestra.
CWnd::GetWindowRect Ottiene le coordinate dello schermo di CWnd.
CWnd::GetWindowRgn Recupera una copia dell'area della finestra di una finestra.
CWnd::GetWindowText Restituisce il testo o il titolo della didascalia (se disponibile) della finestra.
CWnd::GetWindowTextLength Restituisce la lunghezza del testo o del titolo della didascalia della finestra.
CWnd::HideCaret Nasconde il cursore rimuovendolo dallo schermo.
CWnd::HiliteMenuItem Evidenzia o rimuove l'evidenziazione da una voce di menu di primo livello (barra dei menu).
CWnd::HtmlHelp Chiamata eseguita per avviare l'applicazione HTMLHelp
CWnd::Invalidate Invalida l'intera area client.
CWnd::InvalidateRect Invalida l'area client all'interno del rettangolo specificato mediante l'aggiunta di questo rettangolo all'area di aggiornamento corrente.
CWnd::InvalidateRgn Invalida l'area client all'interno dell'area specificata mediante l'aggiunta di questa area all'area di aggiornamento corrente.
CWnd::InvokeHelper Richiama un metodo o una proprietà di un controllo ActiveX.
CWnd::IsChild Indica se CWnd è una finestra figlio o un altro tipo di discendente diretto della finestra specificata.
CWnd::IsD2DSupportEnabled Determina se il supporto D2D è abilitato.
CWnd::IsDialogMessage Determina se il messaggio specificato è destinato alla finestra di dialogo non modale e, in caso affermativo, lo elabora.
CWnd::IsDlgButtonChecked Determina se un controllo pulsante è selezionato.
CWnd::IsDynamicLayoutEnabled Determina se il layout dinamico è abilitato in questa finestra. Se il layout dinamico è abilitato, la posizione e le dimensioni delle finestre figlio possono cambiare quando l'utente ridimensiona la finestra padre.
CWnd::IsIconic Determina se CWnd è ridotta a icona.
CWnd::IsTouchWindow Specifica se CWnd include il supporto del tocco.
CWnd::IsWindowEnabled Determina se la finestra è abilitata per l'input da tastiera e mouse.
CWnd::IsWindowVisible Determina se la finestra è visibile.
CWnd::IsZoomed Determina se CWnd è ingrandita.
CWnd::KillTimer Termina un timer di sistema.
CWnd::LockWindowUpdate Disabilita o riabilita il disegno nella finestra specificata.
CWnd::MapWindowPoints Converte (mappa) un set di punti dallo spazio delle coordinate di CWnd nello spazio delle coordinate di un'altra finestra.
CWnd::MessageBox Crea e visualizza una finestra che contiene un messaggio e una didascalia forniti dall'applicazione.
CWnd::ModifyStyle Modifica lo stile della finestra corrente.
CWnd::ModifyStyleEx Modifica lo stile esteso della finestra.
CWnd::MoveWindow Modifica la posizione e dimensioni di CWnd.
CWnd::NotifyWinEvent Segnala al sistema che si è verificato un evento predefinito.
CWnd::OnAmbientProperty Implementa i valori delle proprietà di ambiente.
CWnd::OnDrawIconicThumbnailOrLivePreview Chiamata eseguita dal framework quando è necessario ottenere una bitmap da visualizzare nell'anteprima della scheda di Windows 7 o nel client per l'anteprima dell'applicazione.
CWnd::OnHelp Gestisce F1 Guida all'interno dell'applicazione (usando il contesto corrente).
CWnd::OnHelpFinder Gestisce i ID_HELP_FINDER comandi e ID_DEFAULT_HELP .
CWnd::OnHelpIndex Gestisce il ID_HELP_INDEX comando e fornisce un argomento della Guida predefinito.
CWnd::OnHelpUsing Gestisce il comando ID_HELP_USING.
CWnd::OnToolHitTest Determina se un punto è incluso nel rettangolo che circoscrive lo strumento specificato e recupera informazioni sullo strumento stesso.
CWnd::OpenClipboard Apre gli Appunti. Altre applicazioni non saranno in grado di modificare gli Appunti finché non viene chiamata la funzione Windows CloseClipboard .
CWnd::PaintWindowlessControls Disegna controlli senza finestra nel contenitore del controllo.
CWnd::PostMessage Inserisce un messaggio nella coda dell'applicazione, quindi restituisce il controllo senza attendere che la finestra elabori il messaggio.
CWnd::PreCreateWindow Chiamata eseguita prima della creazione della finestra di Windows collegata a questo oggetto CWnd.
CWnd::PreSubclassWindow Consente l'esecuzione di altre sottoclassi necessarie prima SubclassWindow della chiamata.
CWnd::PreTranslateMessage Elemento usato da CWinApp per filtrare i messaggi della finestra prima che vengano inviati alle funzioni di Windows TranslateMessage e DispatchMessage.
CWnd::Print Disegna la finestra corrente nel contesto di dispositivo specificato.
CWnd::PrintClient Disegna qualsiasi finestra nel contesto di dispositivo specificato (in genere un contesto di dispositivo stampante).
CWnd::PrintWindow Copia una finestra visiva nel contesto di dispositivo specificato, in genere un contesto di dispositivo stampante.
CWnd::RedrawWindow Aggiorna il rettangolo o l'area specificati nell'area client.
CWnd::RegisterTouchWindow Registra/annulla la registrazione del supporto del tocco di Windows per la finestra.
CWnd::ReleaseDC Rilascia i contesti di dispositivo client e finestra, liberandoli per l'uso da parte di altre applicazioni.
CWnd::RepositionBars Riposiziona le barre di controllo nell'area client.
CWnd::RunModalLoop Recupera, converte o invia i messaggi per una finestra in stato modale.
CWnd::ScreenToClient Converte le coordinate dello schermo di un determinato punto o rettangolo sullo schermo in coordinate client.
CWnd::ScrollWindow Scorre il contenuto dell'area client.
CWnd::ScrollWindowEx Scorre il contenuto dell'area client. Simile a ScrollWindow, con funzionalità aggiuntive.
CWnd::SendChildNotifyLastMsg Fornisce un messaggio di notifica a una finestra figlio, dalla finestra padre, in modo che la finestra figlio possa gestire un'attività.
CWnd::SendDlgItemMessage Invia un messaggio al controllo specificato.
CWnd::SendMessage Invia un messaggio all'oggetto CWnd e non restituisce il controllo fino a quando non ha elaborato il messaggio.
CWnd::SendMessageToDescendants Invia un messaggio a tutte le finestre discendenti della finestra.
CWnd::SendNotifyMessage Invia il messaggio specificato alla finestra e restituisce il controllo il prima possibile, a seconda che il thread chiamante abbia creato la finestra.
CWnd::SetActiveWindow Attiva la finestra.
CWnd::SetCapture Determina l'invio di tutto l'input da mouse successivo a CWnd.
CWnd::SetCaretPos Sposta il cursore in una posizione specificata.
CWnd::SetClipboardViewer Aggiunge CWnd alla catena di finestre che ricevono notifica di ogni modifica del contenuto degli Appunti.
CWnd::SetDlgCtrlID Imposta l'ID di controllo o finestra per la finestra (che può essere qualsiasi finestra figlio e non solo un controllo in una finestra di dialogo).
CWnd::SetDlgItemInt Imposta il testo di un controllo su una stringa che rappresenta un valore Integer.
CWnd::SetDlgItemText Imposta la didascalia o il testo di un controllo nella finestra di dialogo specificata.
CWnd::SetFocus Richiede lo stato attivo per l'input.
CWnd::SetFont Imposta il tipo di carattere corrente.
CWnd::SetForegroundWindow Posiziona il thread che ha creato la finestra in primo piano e attiva la finestra.
CWnd::SetIcon Imposta l'handle su un'icona specifica.
CWnd::SetLayeredWindowAttributes Imposta la chiave di colore per trasparenza e opacità di una finestra a livelli.
CWnd::SetMenu Imposta il menu sul menu specificato.
CWnd::SetOwner Cambia il proprietario di un oggetto CWnd.
CWnd::SetParent Cambia la finestra padre.
CWnd::SetProperty Imposta una proprietà di un controllo ActiveX.
CWnd::SetRedraw Consente di ridisegnare le modifiche in CWnd oppure impedisce che vengano ridisegnate.
CWnd::SetScrollInfo Imposta informazioni sulla barra di scorrimento.
CWnd::SetScrollPos Imposta la posizione corrente di una casella di scorrimento e, se specificato, ridisegna la barra di scorrimento in base alla nuova posizione.
CWnd::SetScrollRange Imposta i valori di posizione minima e massima correnti per la barra di scorrimento specificata.
CWnd::SetTimer Installa un timer di sistema che invia un WM_TIMER messaggio quando viene attivato.
CWnd::SetWindowContextHelpId Imposta l'identificatore di contesto della Guida.
CWnd::SetWindowPlacement Imposta lo stato di visualizzazione e le posizioni normale (ripristinata), ridotta a icona e ingrandita per una finestra.
CWnd::SetWindowPos Modifica dimensioni, posizione e ordinamento delle finestre figlio, popup e di primo livello.
CWnd::SetWindowRgn Imposta l'area di una finestra.
CWnd::SetWindowText Imposta il testo o il titolo della didascalia (se disponibile) della finestra sul testo specificato.
CWnd::ShowCaret Mostra il cursore sullo schermo in corrispondenza della posizione corrente del cursore. Dopo la visualizzazione, il cursore inizia a lampeggiare automaticamente.
CWnd::ShowOwnedPopups Mostra o nasconde tutte le finestre popup appartenenti alla finestra.
CWnd::ShowScrollBar Visualizza o nasconde una barra di scorrimento.
CWnd::ShowWindow Mostra o nasconde la finestra.
CWnd::SubclassDlgItem Collega un controllo di Windows a un oggetto CWnd e lo imposta per l'indirizzamento dei messaggi tramite la mappa messaggi di CWnd.
CWnd::SubclassWindow Collega una finestra a un oggetto CWnd e lo imposta per l'indirizzamento dei messaggi tramite la mappa messaggi di CWnd.
CWnd::UnlockWindowUpdate Sblocca una finestra che è stata bloccata con CWnd::LockWindowUpdate.
CWnd::UnsubclassWindow Scollega una finestra da un CWnd oggetto
CWnd::UpdateData Inizializza o recupera dati da una finestra di dialogo.
CWnd::UpdateDialogControls Chiamata eseguita per aggiornare lo stato dei pulsanti e di altri controlli della finestra di dialogo.
CWnd::UpdateLayeredWindow Aggiorna posizione, dimensioni, forma, contenuto e traslucidità di una finestra a livelli.
CWnd::UpdateWindow Aggiorna l'area client.
CWnd::ValidateRect Convalida l'area client all'interno del rettangolo specificato mediante la rimozione del rettangolo dall'area di aggiornamento corrente.
CWnd::ValidateRgn Convalida l'area client all'interno dell'area specificata mediante la rimozione dell'area dall'area di aggiornamento corrente.
CWnd::WindowFromPoint Identifica la finestra che contiene il punto specificato.
CWnd::WinHelp Chiamata eseguita per avviare l'applicazione WinHelp.

Metodi protetti

Nome Descrizione
CWnd::Default Chiama la routine predefinita per la finestra, che fornisce l'elaborazione predefinita per gli eventuali messaggi della finestra non elaborati da un'applicazione.
CWnd::DefWindowProc Chiama la routine predefinita per la finestra, che fornisce l'elaborazione predefinita per gli eventuali messaggi della finestra non elaborati da un'applicazione.
CWnd::DoDataExchange Per inviare, ricevere e convalidare i dati della finestra di dialogo. Chiamato da UpdateData.
CWnd::GetCurrentMessage Restituisce un puntatore al messaggio che questa finestra sta elaborando. Deve essere chiamato solo quando si trova in una OnMessage funzione membro del gestore di messaggi.
CWnd::InitDynamicLayout Chiamata eseguita dal framework per inizializzare il layout dinamico per la finestra.
CWnd::LoadDynamicLayoutResource Carica le informazioni di layout dinamico dal file di risorse.
CWnd::OnActivate Chiamata eseguita quando è in corso l'attivazione o la disattivazione di CWnd.
CWnd::OnActivateApp Chiamata eseguita quando l'applicazione sta per essere attivata o disattivata.
CWnd::OnAppCommand Chiamata eseguita quando l'utente genera un evento di comando per l'applicazione.
CWnd::OnAskCbFormatName Chiamata eseguita da un'applicazione visualizzatore degli Appunti quando un proprietario degli Appunti visualizza il contenuto degli Appunti.
CWnd::OnCancelMode Chiamata eseguita per consentire a CWnd di annullare eventuali modalità interne, ad esempio mouse capture.
CWnd::OnCaptureChanged Invia un messaggio alla finestra che sta perdendo il mouse capture.
CWnd::OnChangeCbChain Invia notifica che una finestra specificata sta per essere rimossa dalla catena.
CWnd::OnChangeUIState Chiamata eseguita quando lo stato dell'interfaccia utente deve essere modificato.
CWnd::OnChar Chiamata eseguita quando una sequenza di tasti viene convertita in un carattere non di sistema.
CWnd::OnCharToItem Chiamato da una casella di riepilogo figlio con lo LBS_WANTKEYBOARDINPUT stile in risposta a un WM_CHAR messaggio.
CWnd::OnChildActivate Chiamata eseguita per più finestre figlio dell'interfaccia a documenti multipli (MDI) ogni volta che cambiano le dimensioni o la posizione di CWnd o viene attivato l'oggetto CWnd.
CWnd::OnChildNotify Chiamata eseguita da una finestra padre per offrire a un controllo di notifica la possibilità di rispondere a una notifica del controllo.
CWnd::OnClipboardUpdate Chiamata eseguita quando il contenuto degli Appunti viene modificato.
CWnd::OnClose Chiamata eseguita per segnalare che l'oggetto CWnd deve essere chiuso.
CWnd::OnColorizationColorChanged Chiamata eseguita quando i criteri di rendering per l'area non client vengono modificati.
CWnd::OnCommand Chiamata eseguita quando l'utente seleziona un comando.
CWnd::OnCompacting Chiamata eseguita quando Windows rileva la memoria di sistema è insufficiente.
CWnd::OnCompareItem Chiamata eseguita per determinare la posizione relativa di un nuovo elemento in una casella combinata o casella di riepilogo disegnata dal proprietario e ordinata in base agli elementi figlio.
CWnd::OnCompositionChanged Chiamata eseguita per tutte le finestre di primo livello quando la composizione di Gestione finestre desktop viene abilitata o disabilitata.
CWnd::OnContextMenu Chiamata eseguita quando l'utente fa clic con il pulsante destro del mouse nella finestra.
CWnd::OnCopyData Copia i dati da un'applicazione a un'altra.
CWnd::OnCreate Chiamata eseguita durante la creazione della finestra.
CWnd::OnCtlColor Chiamata eseguita se CWnd è l'elemento padre di un controllo quando il controllo sta per essere disegnato.
CWnd::OnDeadChar Chiamata eseguita quando una sequenza di tasti viene convertita in un carattere non utilizzato non di sistema (come i caratteri accentati).
CWnd::OnDeleteItem Chiamata eseguita quando viene eliminata definitivamente una casella di riepilogo o una casella combinata figlio disegnata dal proprietario o quando vengono rimossi elementi dal controllo.
CWnd::OnDestroy Chiamata eseguita quando viene eliminato in modo permanente l'oggetto CWnd.
CWnd::OnDestroyClipboard Viene chiamato quando gli Appunti vengono svuotati tramite una chiamata alla funzione Windows EmptyClipboard .
CWnd::OnDeviceChange Invia notifica a un'applicazione o driver di dispositivo di una modifica alla configurazione hardware di un dispositivo o del computer.
CWnd::OnDevModeChange Chiamata eseguita per tutte le finestre di primo livello quando l'utente modifica le impostazioni della modalità dispositivo.
CWnd::OnDrawClipboard Chiamata eseguita quando il contenuto degli Appunti viene modificato.
CWnd::OnDrawItem Chiamata eseguita quando deve essere disegnato un aspetto visivo di un controllo pulsante, controllo casella combinata, controllo casella di riepilogo o menu figlio disegnato dal proprietario.
CWnd::OnDropFiles Chiamata eseguita quando l'utente rilascia il pulsante sinistro del mouse su una finestra che si è registrata come destinatario dei file rilasciati.
CWnd::OnEnable Chiamata eseguita in caso di abilitazione o disabilitazione di CWnd.
CWnd::OnEndSession Chiamata eseguita al termine della sessione.
CWnd::OnEnterIdle Chiamata eseguita per informare la routine della finestra principale di un'applicazione che una finestra di dialogo modale o un menu sta entrando in uno stato di inattività.
CWnd::OnEnterMenuLoop Chiamata eseguita all'inizio di un ciclo modale di menu.
CWnd::OnEnterSizeMove Chiamata eseguita dopo che la finestra interessata entra in un ciclo modale di spostamento o di ridimensionamento.
CWnd::OnEraseBkgnd Chiamata eseguita quando lo sfondo della finestra deve essere cancellato.
CWnd::OnExitMenuLoop Chiamata eseguita all'uscita da un ciclo modale di menu.
CWnd::OnExitSizeMove Chiamata eseguita dopo che la finestra interessata esce da un ciclo modale di spostamento o di ridimensionamento.
CWnd::OnFontChange Chiamata eseguita quando viene modificato il pool di risorse di tipo di carattere.
CWnd::OnGetDlgCode Chiamata eseguita per un controllo in modo che il controllo possa elaborare esso stesso l'input con tasto di direzione e tasto TAB.
CWnd::OnGetMinMaxInfo Chiamata eseguita ogni volta che Windows deve conoscere la posizione o le dimensioni ingrandite oppure le dimensioni minime o massime di rilevamento.
CWnd::OnHelpInfo Chiamata eseguita dal framework quando l'utente preme F1.
CWnd::OnHotKey Chiamata eseguita quando l'utente preme un tasto di scelta rapida a livello di sistema.
CWnd::OnHScroll Chiamata eseguita quando l'utente fa clic sulla barra di scorrimento orizzontale di CWnd.
CWnd::OnHScrollClipboard Chiamata eseguita quando un proprietario degli Appunti deve scorrere l'immagine negli Appunti, invalidare la sezione appropriata e aggiornare i valori della barra di scorrimento.
CWnd::OnIconEraseBkgnd Chiamata eseguita quando CWnd è ridotta a icona ed è necessario riempire lo sfondo dell'icona prima di disegnarla.
CWnd::OnInitMenu Chiamata eseguita quando un menu sta per diventare attivo.
CWnd::OnInitMenuPopup Chiamata eseguita quando un menu popup sta per diventare attivo.
CWnd::OnInputDeviceChange Chiamata eseguita quando un dispositivo di I/O viene aggiunto o rimosso dal sistema.
CWnd::OnInputLangChange Chiamata eseguita dopo la modifica della lingua di input di un'applicazione.
CWnd::OnInputLangChangeRequest Chiamata eseguita quando l'utente sceglie una nuova lingua di input.
CWnd::OnKeyDown Chiamata eseguita quando viene premuto un tasto non di sistema.
CWnd::OnKeyUp Chiamata eseguita quando viene rilasciato un tasto non di sistema.
CWnd::OnKillFocus Chiamata eseguita immediatamente prima che CWnd perda lo stato attivo per l'input.
CWnd::OnLButtonDblClk Chiamata eseguita quando l'utente fa doppio clic con il pulsante sinistro del mouse.
CWnd::OnLButtonDown Chiamata eseguita quando l'utente preme il pulsante sinistro del mouse.
CWnd::OnLButtonUp Chiamata eseguita quando l'utente rilascia il pulsante sinistro del mouse.
CWnd::OnMButtonDblClk Chiamata eseguita quando l'utente fa doppio clic con il pulsante centrale del mouse.
CWnd::OnMButtonDown Chiamata eseguita quando l'utente preme il pulsante centrale del mouse.
CWnd::OnMButtonUp Chiamata eseguita quando l'utente rilascia il pulsante centrale del mouse.
CWnd::OnMDIActivate Chiamata eseguita quando una finestra figlio MDI viene attivata o disattivata.
CWnd::OnMeasureItem Chiamata eseguita per una casella combinata, una casella di riepilogo o una voce di menu figlio disegnata dal proprietario quando il controllo viene creato. CWnd informa Windows delle dimensioni del controllo.
CWnd::OnMenuChar Chiamata eseguita quando l'utente preme tasto di scelta di menu che non corrisponde ad alcuno dei tasti di scelta predefiniti nel menu corrente.
CWnd::OnMenuDrag Chiamata eseguita quando l'utente inizia a trascinare una voce di menu.
CWnd::OnMenuGetObject Chiamata eseguita quando il cursore del mouse passa su una voce di menu o viene spostato dal centro della voce verso la relativa parte superiore o inferiore.
CWnd::OnMenuRButtonUp Chiamata eseguita quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova su una voce di menu.
CWnd::OnMenuSelect Chiamata eseguita quando l'utente seleziona una voce di menu.
CWnd::OnMouseActivate Chiamata eseguita quando il cursore si trova in una finestra inattiva e l'utente preme un pulsante del mouse.
CWnd::OnMouseHover Chiamato quando il cursore passa il puntatore sull'area client della finestra per il periodo di tempo specificato in una chiamata precedente a TrackMouseEvent.
CWnd::OnMouseHWheel Viene chiamato quando la rotellina orizzontale del mouse è inclinata o ruotata.
CWnd::OnMouseLeave Chiamato quando il cursore lascia l'area client della finestra specificata in una chiamata precedente a TrackMouseEvent.
CWnd::OnMouseMove Chiamata eseguita alla spostamento del cursore del mouse.
CWnd::OnMouseWheel Chiamata eseguita quando un utente ruota la rotellina del mouse. Usa la gestione dei messaggi di Windows NT 4.0.
CWnd::OnMove Chiamata eseguita dopo la modifica della posizione di CWnd.
CWnd::OnMoving Indica che un utente sta spostando un oggetto CWnd.
CWnd::OnNcActivate Chiamata eseguita quando l'area non client deve essere modificata per indicare uno stato attivo o inattivo.
CWnd::OnNcCalcSize Chiamata eseguita quando devono essere calcolate le dimensioni e la posizione dell'area client.
CWnd::OnNcCreate Chiamato prima della OnCreate creazione dell'area non client.
CWnd::OnNcDestroy Chiamata eseguita quando l'area non client viene eliminata definitivamente.
CWnd::OnNcHitTest Chiamata eseguita da Windows ogni volta che il mouse viene spostato se CWnd contiene il cursore o ha acquisito l'input del mouse con SetCapture.
CWnd::OnNcLButtonDblClk Chiamata eseguita quando l'utente fa doppio clic sul pulsante sinistro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcLButtonDown Chiamata eseguita quando l'utente preme il pulsante sinistro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcLButtonUp Chiamata eseguita quando l'utente rilascia il pulsante sinistro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcMButtonDblClk Chiamata eseguita quando l'utente fa doppio clic sul pulsante centrale del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcMButtonDown Chiamata eseguita quando l'utente preme il pulsante centrale del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcMButtonUp Chiamata eseguita quando l'utente rilascia il pulsante centrale del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcMouseHover Chiamato quando il cursore passa il puntatore sull'area non client della finestra per il periodo di tempo specificato in una chiamata precedente a TrackMouseEvent.
CWnd::OnNcMouseLeave Il framework chiama questa funzione membro quando il cursore lascia l'area non client della finestra specificata in una chiamata precedente a TrackMouseEvent.
CWnd::OnNcMouseMove Chiamata eseguita quando il cursore viene spostato all'interno di un'area non client di CWnd.
CWnd::OnNcPaint Chiamata eseguita quando l'area non client deve essere disegnata.
CWnd::OnNcRButtonDblClk Chiamata eseguita quando l'utente fa doppio clic sul pulsante destro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcRButtonDown Chiamata eseguita quando l'utente preme il pulsante destro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcRButtonUp Chiamata eseguita quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova nell'area client di CWnd.
CWnd::OnNcRenderingChanged Chiamata eseguita quando i criteri di rendering per l'area non client vengono modificati.
CWnd::OnNcXButtonDblClk Viene chiamato quando l'utente fa doppio clic XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra.
CWnd::OnNcXButtonDown Viene chiamato quando l'utente preme XBUTTON1 o XBUTTON2 del mouse mentre il cursore si trova nell'area non client di una finestra.
CWnd::OnNcXButtonUp Viene chiamato quando l'utente rilascia XBUTTON1 o XBUTTON2 del mouse mentre il cursore si trova nell'area non client di una finestra.
CWnd::OnNextMenu Chiamata eseguita quando il tasto freccia DESTRA o freccia SINISTRA viene usato per passare dalla barra dei menu al menu di sistema e viceversa.
CWnd::OnNotify Chiamata eseguita dal framework per informare una finestra padre che si è verificato un evento in uno dei relativi controlli o che il controllo richiede informazioni.
CWnd::OnNotifyFormat Chiamato per determinare se la finestra corrente accetta strutture ANSI o Unicode nel messaggio di WM_NOTIFY notifica.
CWnd::OnPaint Chiamata eseguita per ridisegnare una parte della finestra.
CWnd::OnPaintClipboard Chiamata eseguita quando l'area client del visualizzatore degli Appunti deve essere ridisegnata.
CWnd::OnPaletteChanged Chiamata eseguita per consentire alle finestre che usano una tavolozza dei colori di realizzare le tavolozze logiche e aggiornare le rispettive aree client.
CWnd::OnPaletteIsChanging Informa altre applicazioni quando un'applicazione sta per realizzare la propria tavolozza logica.
CWnd::OnParentNotify Chiamata eseguita quando una finestra figlio viene creata o eliminata in modo permanente oppure quando l'utente fa clic su un pulsante del mouse mentre il cursore è posizionato sopra la finestra figlio.
CWnd::OnPowerBroadcast Chiamata eseguita quando si verifica un evento di risparmio energia.
CWnd::OnQueryDragIcon Chiamata eseguita quando un oggetto CWnd ridotto a icona sta per essere trascinato dall'utente.
CWnd::OnQueryEndSession Chiamata eseguita quando l'utente sceglie di terminare la sessione di Windows.
CWnd::OnQueryNewPalette Informa CWnd che sta per ricevere lo stato attivo per l'input.
CWnd::OnQueryOpen Chiamata eseguita quando CWnd è un'icona e l'utente richiede l'apertura dell'icona.
CWnd::OnQueryUIState Chiamata eseguita per recuperare lo stato dell'interfaccia utente per una finestra.
CWnd::OnRawInput Chiamata eseguita quando la finestra corrente riceve input non elaborato.
CWnd::OnRButtonDblClk Chiamata eseguita quando l'utente fa doppio clic con il pulsante destro del mouse.
CWnd::OnRButtonDown Chiamata eseguita quando l'utente preme il pulsante destro del mouse.
CWnd::OnRButtonUp Chiamata eseguita quando l'utente rilascia il pulsante destro del mouse.
CWnd::OnRenderAllFormats Chiamata eseguita quando l'applicazione proprietaria viene eliminata in modo permanente e deve eseguire il rendering di tutti i formati.
CWnd::OnRenderFormat Chiamata eseguita per il proprietario degli Appunti quando è necessario eseguire il rendering di un formato particolare con rendering ritardato.
CWnd::OnSessionChange Chiamata eseguita per notificare a un'applicazione una modifica nello stato della sessione.
CWnd::OnSetCursor Chiamato se l'input del mouse non viene acquisito e il mouse causa lo spostamento del cursore all'interno di una finestra.
CWnd::OnSetFocus Chiamata eseguita dopo che CWnd ottiene lo stato attivo per l'input.
CWnd::OnSettingChange Chiamata eseguita quando la funzione Win32 SystemParametersInfo modifica un'impostazione a livello di sistema.
CWnd::OnShowWindow Chiamata eseguita quando CWnd deve essere nascosto o visualizzato.
CWnd::OnSize Chiamata eseguita dopo la modifica delle dimensioni di CWnd.
CWnd::OnSizeClipboard Chiamata eseguita quando cambiano le dimensioni dell'area client della finestra del visualizzatore degli Appunti.
CWnd::OnSizing Indica che l'utente sta ridimensionando il rettangolo.
CWnd::OnSpoolerStatus Chiamata eseguita da Print Manager ogni volta che un processo viene aggiunto o rimosso dalla coda di Print Manager.
CWnd::OnStyleChanged Indica che la SetWindowLong funzione windows ha modificato uno o più stili della finestra.
CWnd::OnStyleChanging Indica che la SetWindowLong funzione di Windows sta per modificare uno o più stili della finestra.
CWnd::OnSysChar Chiamata eseguita quando una sequenza di tasti viene convertita in un carattere di sistema.
CWnd::OnSysColorChange Chiamata eseguita per tutte le finestre di primo livello in seguito alla modifica delle impostazioni di colore del sistema.
CWnd::OnSysCommand Chiamata eseguita quando l'utente seleziona un comando dal menu di controllo o quando l'utente seleziona il pulsante di ingrandimento o riduzione a icona.
CWnd::OnSysDeadChar Chiamata eseguita quando una sequenza di tasti viene convertita in un carattere non utilizzato di sistema (come i caratteri accentati).
CWnd::OnSysKeyDown Chiamata eseguita quando l'utente tiene premuto il tasto ALT e quindi ne preme un altro.
CWnd::OnSysKeyUp Chiamata eseguita quando l'utente rilascia un tasto premuto mentre il tasto ALT era premuto.
CWnd::OnTCard Chiamata eseguita quando l'utente fa clic su un pulsante modificabile.
CWnd::OnTimeChange Chiamata eseguita per tutte le finestre di primo livello dopo la modifica dell'ora di sistema.
CWnd::OnTimer Chiamato dopo ogni intervallo specificato in SetTimer.
CWnd::OnTouchInput Consente di elaborare singoli input tramite tocco di Windows.
CWnd::OnTouchInputs Consente di elaborare input tramite tocco di Windows.
CWnd::OnUniChar Chiamata eseguita alla pressione di un tasto. Ovvero, la finestra corrente ha lo stato attivo della tastiera e un WM_KEYDOWN messaggio viene convertito dalla TranslateMessage funzione.
CWnd::OnUnInitMenuPopup Chiamata eseguita quando un menu a discesa o un sottomenu viene eliminato in modo permanente.
CWnd::OnUpdateUIState Chiamata eseguita per cambiare lo stato dell'interfaccia utente per la finestra specificata e tutte le finestre figlio.
CWnd::OnUserChanged Chiamata eseguita dopo che l'utente ha effettuato l'accesso o la disconnessione.
CWnd::OnVKeyToItem Chiamato da una casella di riepilogo di proprietà CWnd di in risposta a un WM_KEYDOWN messaggio.
CWnd::OnVScroll Chiamata eseguita quando l'utente fa clic sulla barra di scorrimento verticale della finestra.
CWnd::OnVScrollClipboard Chiamata eseguita quando il proprietario deve scorrere l'immagine negli Appunti, invalidare la sezione appropriata e aggiornare i valori della barra di scorrimento.
CWnd::OnWindowPosChanged Chiamato quando le dimensioni, la posizione o l'ordine Z sono state modificate in seguito a una chiamata a o a SetWindowPos un'altra funzione di gestione delle finestre.
CWnd::OnWindowPosChanging Chiamato quando la dimensione, la posizione o l'ordine Z sta per cambiare in seguito a una chiamata a SetWindowPos o a un'altra funzione di gestione delle finestre.
CWnd::OnWinIniChange Chiamato per tutte le finestre di primo livello dopo la modifica del file di inizializzazione di Windows, WIN.INI, .
CWnd::OnWndMsg Indica se un messaggio della finestra è stato gestito.
CWnd::OnXButtonDblClk Viene chiamato quando l'utente fa doppio clic XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.
CWnd::OnXButtonDown Viene chiamato quando l'utente preme XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.
CWnd::OnXButtonUp Viene chiamato quando l'utente rilascia XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.
CWnd::PostNcDestroy Questa funzione virtuale viene chiamata dalla funzione OnNcDestroy predefinita dopo che la finestra è stata eliminata definitivamente.
CWnd::ReflectChildNotify Funzione helper, che riflette un messaggio nella relativa origine.
CWnd::ReflectLastMsg Esegue la reflection dell'ultimo messaggio alla finestra figlio.
CWnd::ResizeDynamicLayout Chiamata eseguita dal framework quando le dimensioni della finestra cambiano per adattare il layout delle finestre figlio, se il layout dinamico è abilitato per la finestra.
CWnd::WindowProc Fornisce una procedura di finestra per un oggetto CWnd. L'impostazione predefinita prevede l'invio dei messaggi tramite la mappa messaggi.

Operatori pubblici

Nome Descrizione
CWnd::operator HWND Chiamata eseguita per ottenere un handle per una finestra.
CWnd::operator != Determina se una finestra non corrisponde alla finestra il cui handle è m_hWnd.
CWnd::operator == Determina se una finestra è uguale alla finestra il cui handle è m_hWnd.

Membri dati pubblici

Nome Descrizione
CWnd::m_hWnd Indica l'oggetto HWND associato all'oggetto CWnd.

Osservazioni:

Un oggetto CWnd è diverso da una finestra di Windows, ma i due oggetti sono strettamente collegati. Un oggetto CWnd viene creato o eliminato definitivamente dal costruttore e distruttore CWnd. La finestra di Windows, invece, è una struttura di dati interna a Windows creata da una Create funzione membro e distrutta dal CWnd distruttore virtuale. La DestroyWindow funzione elimina definitivamente la finestra di Windows senza distruggere l'oggetto.

La CWnd classe e il meccanismo message-map nascondono la WndProc funzione. I messaggi di notifica di Windows in arrivo vengono indirizzati automaticamente tramite il mapping dei messaggi alle funzioni membro OnMessageCWnd appropriate. Si esegue l'override di una funzione membro OnMessage per gestire il messaggio specifico di un membro nelle classi derivate.

La classe CWnd consente inoltre di creare una finestra figlio di Windows per l'applicazione. Derivare una classe da CWnd e quindi aggiungere le variabili membro alla classe derivata per archiviare i dati specifici dell'applicazione. Implementare funzioni membro di gestione dei messaggi e una mappa messaggi nella classe derivata per specificare cosa succede quando i messaggi vengono indirizzati alla finestra.

È possibile creare una finestra figlio in due passaggi. Chiamare prima di tutto il costruttore CWnd per costruire l'oggetto CWnd , quindi chiamare la Create funzione membro per creare la finestra figlio e collegarla all'oggetto CWnd .

Quando l'utente termina la finestra figlio, eliminare l'oggetto CWnd in modo permanente oppure chiamare la funzione membro DestroyWindow per rimuovere la finestra ed eliminare in modo permanente le relative strutture dei dati.

All'interno della libreria Microsoft Foundation Class ulteriori classi sono derivate da CWnd per rendere disponibili tipi specifici di finestra. Molte di queste classi, tra cui CFrameWnd, CMDIFrameWndCMDIChildWnd, CView, e CDialog, sono progettate per un'ulteriore derivazione. Le classi di controllo derivate da CWnd, ad esempio CButton, possono essere usate direttamente o possono essere usate per un'ulteriore derivazione delle classi.

Per altre informazioni sull'uso CWnddi , vedere Frame Windows e Oggetti Window.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

Requisiti

Intestazione: afxwin.h

CWnd::accDoDefaultAction

Chiamata eseguita dal framework per eseguire l'azione predefinita dell'oggetto.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parametri

varChild
Specifica se l'azione predefinita da richiamare è quella dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_edizione Standard LF (per eseguire l'azione predefinita dell'oggetto) o un ID figlio (per eseguire l'azione predefinita di uno degli elementi figlio dell'oggetto).

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::accDoDefaultAction in Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per eseguire l'azione predefinita dell'oggetto. Per altre informazioni, vedere IAccessible::accDoDefaultAction in Windows SDK.

CWnd::accHitTest

Chiamata eseguita dal framework per recuperare l'elemento figlio o l'oggetto figlio in un determinato punto dello schermo.

virtual HRESULT accHitTest(
    long xLeft,
    long yTop,
    VARIANT* pvarChild);

Parametri

xLeft
Coordinata X del punto da testare (in unità schermo).

yTop
Coordinata Y del punto da testare (in unità schermo).

pvarChild
Riceve informazioni che identificano l'oggetto nel punto specificato da xLeft e yTop. Vedere pvarID in IAccessible::accHitTest Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::accHitTest Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::accHitTest in Windows SDK.

CWnd::accLocation

Chiamata eseguita dal framework per recuperare la posizione sullo schermo corrente dell'oggetto specificato.

virtual HRESULT accLocation(
    long* pxLeft,
    long* pyTop,
    long* pcxWidth,
    long* pcyHeight,
    VARIANT varChild);

Parametri

pxLeft
Riceve la coordinata x dell'angolo superiore sinistro dell'oggetto (in unità schermo).

pyTop
Riceve la coordinata y dell'angolo superiore sinistro dell'oggetto (in unità schermo).

pcxWidth
Riceve la larghezza dell'oggetto (in unità schermo).

pcyHeight
Riceve l'altezza dell'oggetto (in unità schermo).

varChild
Specifica se la posizione da recuperare è quella dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::accLocation Windows SDK.

Osservazioni:

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::accLocation in Windows SDK.

CWnd::accNavigate

Chiamata eseguita dal framework per passare a un altro elemento dell'interfaccia utente all'interno di un contenitore e, se possibile, recuperare l'oggetto.

virtual HRESULT accNavigate(
    long navDir,
    VARIANT varStart,
    VARIANT* pvarEndUpAt);

Parametri

navDir
Specifica la direzione di spostamento. Vedere navDir in IAccessible::accNavigate Windows SDK.

varStart
Specifica l'oggetto iniziale. Vedere varStart in IAccessible::accNavigate Windows SDK.

pvarEndUpAt
Riceve informazioni sull'oggetto interfaccia utente di destinazione. Vedere pvarEnd in IAccessible::accNavigate Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::accNavigate Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::accNavigate in Windows SDK.

CWnd::accSelect

Chiamata eseguita dal framework per modificare la selezione o per spostare lo stato attivo della tastiera dell'oggetto specificato.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Parametri

flagsSelect
Specifica come modificare la selezione o lo stato attivo correnti. Vedere flagsSelect in IAccessible::accSelect Windows SDK.

varChild
Specifica l'oggetto da selezionare. Questo parametro può essere CHILDID_SELF (per selezionare l'oggetto stesso) o un ID figlio (per selezionare uno degli elementi figlio dell'oggetto).

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::accSelect Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::accSelect in Windows SDK.

CWnd::AnimateWindow

Produce effetti speciali quando si visualizzano o si nascondono finestre.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parametri

dwTime
Specifica il tempo necessario per riprodurre l'animazione, in millisecondi. In genere, un'animazione richiede 200 millisecondi per la riproduzione.

dwFlags
Specifica il tipo di animazione. Per un elenco completo dei valori possibili, vedere AnimateWindow.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione AnimateWindow, come descritto in Windows SDK.

CWnd::ArrangeIconicWindows

Dispone tutte le finestre figlio ridotte a icona.

UINT ArrangeIconicWindows();

Valore restituito

Altezza di una riga di icone se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Questa funzione membro dispone anche le icone nella finestra desktop, che copre l'intero schermo. La GetDesktopWindow funzione membro recupera un puntatore all'oggetto finestra desktop.

Per disporre le finestre figlio MDI iconiche in una finestra del client MDI, chiamare CMDIFrameWnd::MDIIconArrange.

Esempio

// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
   UINT height = GetParent()->ArrangeIconicWindows();   
   TRACE(_T("height = %d\n"), height);
}

CWnd::Attach

Collega una finestra di Windows a un CWnd oggetto .

BOOL Attach(HWND hWndNew);

Parametri

hWndNew
Specifica un handle per una finestra di Windows.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

In questo esempio viene illustrato come usare Attach e Detach per eseguire il mapping alla finestra del client MDI.

// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;

 

// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();

 

// In CMainFrame::OnCreate, attach MDI client window

if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
   return -1;

// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
   TRACE(_T("Failed to attach MDIClient.\n"));
   return -1; // fail to create
}

CWnd::BeginModalState

Chiamare questa funzione membro per impostare lo stato modale per una finestra cornice.

virtual void BeginModalState();

CWnd::BeginPaint

Prepara la pittura e riempie CWnd una PAINTSTRUCT struttura di dati con informazioni sul disegno.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parametri

lpPaint
Punta alla PAINTSTRUCT struttura che deve ricevere informazioni di disegno.

Valore restituito

Identifica il contesto del dispositivo per CWnd. Il puntatore può essere temporaneo e non deve essere archiviato oltre l'ambito di EndPaint.

Osservazioni:

La struttura di disegno contiene una RECT struttura di dati con il rettangolo più piccolo che racchiude completamente l'area di aggiornamento e un flag che specifica se lo sfondo è stato cancellato.

L'area Invalidatedi aggiornamento viene impostata dalle funzioni membro , InvalidateRecto InvalidateRgn e dal sistema dopo le dimensioni, lo spostamento, la creazione, lo scorrimento o l'esecuzione di qualsiasi altra operazione che influisce sull'area client. Se l'area di aggiornamento è contrassegnata per la cancellazione, BeginPaint invia un WM_ONERASEBKGND messaggio.

Non chiamare la BeginPaint funzione membro tranne in risposta a un WM_PAINT messaggio. Ogni chiamata alla BeginPaint funzione membro deve avere una chiamata corrispondente alla EndPaint funzione membro. Se il cursore si trova nell'area da disegnare, la BeginPaint funzione membro nasconde automaticamente il cursore per evitare che venga cancellato.

Esempio

// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
   PAINTSTRUCT ps;
   CDC *pDC = BeginPaint(&ps);

   pDC->Rectangle(CRect(0, 0, 100, 100));

   EndPaint(&ps);

   // Do not call CView::OnPaint() for painting messages
}

CWnd::BindDefaultProperty

Associa la proprietà associata semplice predefinita dell'oggetto chiamante ,ad esempio un controllo di modifica, come contrassegnato nella libreria dei tipi, al cursore sottostante definito dalle DataSourceproprietà , UserNamePassword, e SQL del controllo origine dati.

void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Parametri

dwDispID
Specifica l'oggetto DISPID di una proprietà in un controllo associato a dati da associare a un controllo origine dati.

vtProp
Specifica il tipo della proprietà da associare. Ad esempio, VT_BSTR, VT_VARIANTe così via.

szFieldName
Specifica il nome della colonna, nel cursore fornito dal controllo origine dati, a cui verrà associata la proprietà.

pDSCWnd
Punta alla finestra che ospita il controllo origine dati a cui verrà associata la proprietà. Chiamare GetDlgItem con l'ID risorsa della finestra host di DCS per recuperare questo puntatore.

Osservazioni:

L'oggetto CWnd su cui si chiama questa funzione deve essere un controllo associato a dati.

Esempio

BindDefaultProperty potrebbe essere usato nel contesto seguente:

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
   pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
   return TRUE;
}

CWnd::BindProperty

Associa una proprietà associata a cursore su un controllo associato a dati ,ad esempio un controllo griglia, a un controllo origine dati e registra tale relazione con la gestione associazioni MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parametri

dwDispId
Specifica l'oggetto DISPID di una proprietà in un controllo associato a dati da associare a un controllo origine dati.

pWndDSC
Punta alla finestra che ospita il controllo origine dati a cui verrà associata la proprietà. Chiamare GetDlgItem con l'ID risorsa della finestra host di DCS per recuperare questo puntatore.

Osservazioni:

L'oggetto CWnd su cui si chiama questa funzione deve essere un controllo associato a dati.

Esempio

BindProperty potrebbe essere usato nel contesto seguente:

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
   pMyBound->BindProperty(0x1, pDSC);
   return TRUE;
}

CWnd::BringWindowToTop

Porta CWnd in cima a una pila di finestre sovrapposte.

void BringWindowToTop();

Osservazioni:

Inoltre, BringWindowToTop attiva le finestre popup, di livello superiore e figlio MDI. È necessario utilizzare la funzione membro BringWindowToTop per rivelare eventuali finestre parzialmente o completamente nascoste da finestre sovrapposte.

Questa funzione chiama solo la funzione Win32 BringWindowToTop . Chiamare la funzione per modificare la SetWindowPos posizione di una finestra nell'ordine Z. La funzione BringWindowToTop non modifica lo stile della finestra per renderla una finestra di livello superiore. Per altre informazioni, vedere Qual è la differenza tra HWND_TOP e HWND_TOPMOST

Esempio

// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point) 
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   GetParentFrame()->BringWindowToTop();
}

CWnd::CalcWindowRect

Calcola il rettangolo della finestra che può contenere il rettangolo client specificato.

virtual void CalcWindowRect(
    LPRECT lpClientRect,
    UINT nAdjustType = adjustBorder);

Parametri

lpClientRect
[in, out] Puntatore a una struttura rettangolo. All'input, questa struttura contiene il rettangolo client. Al termine del metodo, questa struttura contiene il rettangolo della finestra che può contenere il rettangolo client specificato.

nAdjustType
[in] Utilizzare CWnd::adjustBorder per calcolare le coordinate della finestra senza lo WS_EX_CLIENTEDGE stile; in caso contrario, utilizzare CWnd::adjustOutside.

Osservazioni:

Le dimensioni del rettangolo della finestra calcolata non includono lo spazio per una barra dei menu.

Per altre restrizioni di utilizzo, vedere AdjustWindowRectEx.

Esempio

// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
   CFrameWnd *pFrameWnd = new CFrameWnd;
   CRect myRect;
   GetClientRect(myRect);
   pFrameWnd->Create(NULL, _T("My Frame"));
   pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
   pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
   pFrameWnd->ShowWindow(SW_SHOW);
}

CWnd::CancelToolTips

Chiamare questa funzione membro per rimuovere una descrizione comando dalla schermata se è attualmente visualizzata una descrizione comando.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parametri

bKeys
TRUE per annullare i suggerimenti degli strumenti quando viene premuto un tasto e impostare il testo della barra di stato sul valore predefinito; in caso contrario FALSE, .

Osservazioni:

Nota

L'uso di questa funzione membro non ha alcun effetto sui suggerimenti degli strumenti gestiti dal codice. Influisce solo sul controllo della descrizione comando gestito da CWnd::EnableToolTips.

Esempio

// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
   CRect corner(0, 0, 10, 10);
   if (corner.PtInRect(point))
      CancelToolTips();
   CEdit::OnMouseMove(nFlags, point);
}

CWnd::CenterWindow

Centra una finestra rispetto al padre.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parametri

pAlternateOwner
Puntatore a una finestra alternativa rispetto alla quale verrà centrata (diversa dalla finestra padre).

Osservazioni:

In genere vengono chiamate dalle CDialog::OnInitDialog finestre di dialogo al centro rispetto alla finestra principale dell'applicazione. Per impostazione predefinita, la funzione centra le finestre figlio rispetto alla finestra padre e le finestre popup relative al proprietario. Se la finestra popup non è di proprietà, viene allineata al centro rispetto allo schermo. Per allineare al centro una finestra relativa a una finestra specifica che non è il proprietario o l'elemento padre, il pAlternateOwner parametro può essere impostato su una finestra valida. Per forzare il centro rispetto allo schermo, passare il valore restituito da CWnd::GetDesktopWindow come pAlternateOwner.

Esempio

BOOL CAboutDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

Rimuove dalla CWnd catena di visualizzatori degli Appunti e imposta la finestra specificata dal hWndNext discendente del CWnd predecessore nella catena.

BOOL ChangeClipboardChain(HWND hWndNext);

Parametri

hWndNext
Identifica la finestra che segue CWnd nella catena del visualizzatore appunti.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CWnd::CheckDlgButton

Seleziona (posiziona un segno di spunta accanto a) o cancella (rimuove un segno di spunta da) un pulsante oppure modifica lo stato di un pulsante a tre stati.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Parametri

nIDButton
Specifica il pulsante da modificare.

nCheck
Specifica l'azione da eseguire. Se nCheck è diverso da zero, la CheckDlgButton funzione membro inserisce un segno di spunta accanto al pulsante; se 0, il segno di spunta viene rimosso. Per i pulsanti a tre stati, se nCheck è 2, lo stato del pulsante è indeterminato.

Osservazioni:

La CheckDlgButton funzione invia un BM_SETCHECK messaggio al pulsante specificato.

Esempio

// Sets 3 check buttons in various ways.  Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
   CheckDlgButton(IDC_CHECK1, BST_UNCHECKED);     // 0
   CheckDlgButton(IDC_CHECK2, BST_CHECKED);       // 1
   CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}

CWnd::CheckRadioButton

Seleziona (aggiunge un segno di spunta a) un determinato pulsante di opzione in un gruppo e cancella (rimuove un segno di spunta da) tutti gli altri pulsanti di opzione del gruppo.

void CheckRadioButton(
    int nIDFirstButton,
    int nIDLastButton,
    int nIDCheckButton);

Parametri

nIDFirstButton
Specifica l'identificatore intero del primo pulsante di opzione nel gruppo.

nIDLastButton
Specifica l'identificatore intero dell'ultimo pulsante di opzione nel gruppo.

nIDCheckButton
Specifica l'identificatore intero del pulsante di opzione da controllare.

Osservazioni:

La CheckRadioButton funzione invia un BM_SETCHECK messaggio al pulsante di opzione specificato.

Esempio

// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
   CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}

CWnd::ChildWindowFromPoint

Determina quale, se presente, delle finestre figlio appartenenti a CWnd contiene il punto specificato.

CWnd* ChildWindowFromPoint(POINT point) const;

CWnd* ChildWindowFromPoint(
    POINT point,
    UINT nFlags) const;

Parametri

point
Specifica le coordinate client del punto da testare.

nflags
Specifica le finestre figlio da ignorare. Questo parametro può essere una combinazione dei valori seguenti:

Valore Significato
CWP_ALL Non ignorare alcuna finestra figlio
CWP_SKIPINVISIBLE Ignora finestre figlio invisibili
CWP_SKIPDISABLED Ignorare le finestre figlio disabilitate
CWP_SKIPTRANSPARENT Ignorare le finestre figlio trasparenti

Valore restituito

Identifica la finestra figlio che contiene il punto. È NULL se il punto specificato si trova all'esterno dell'area client. Se il punto si trova all'interno dell'area client ma non è contenuto in alcuna finestra figlio, CWnd viene restituito .

Questa funzione membro restituirà una finestra figlio nascosta o disabilitata che contiene il punto specificato.

Più finestre possono contenere il punto specificato. Tuttavia, questa funzione restituisce solo il CWnd* della prima finestra rilevata che contiene il punto.

Il CWnd* restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Esempio

void CMyDlg::OnFindCenterChild() 
{
   CRect rect;
   GetClientRect(&rect);
   CWnd* pWnd = ChildWindowFromPoint(
      CPoint(rect.Width()/2, rect.Height()/2), 
      // Top left is always 0, 0.
      CWP_SKIPINVISIBLE);
   TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}

CWnd::ClientToScreen

Converte le coordinate client di un determinato punto o rettangolo sullo schermo in coordinate dello schermo.

void ClientToScreen(LPPOINT lpPoint) const;  void ClientToScreen(LPRECT lpRect) const;

Parametri

lpPoint
Punta a una struttura o CPoint a un POINT oggetto che contiene le coordinate client da convertire.

lpRect
Punta a una struttura o CRect a un RECT oggetto che contiene le coordinate client da convertire.

Osservazioni:

La ClientToScreen funzione membro utilizza le coordinate client nella POINT struttura o RECT o nell'oggetto CPoint o CRect a lpPoint cui punta o lpRect per calcolare nuove coordinate dello schermo, quindi sostituisce le coordinate nella struttura con le nuove coordinate. Le nuove coordinate dello schermo sono relative all'angolo superiore sinistro della visualizzazione del sistema.

La ClientToScreen funzione membro presuppone che il punto o il rettangolo specificato si trova nelle coordinate client.

Esempio

// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
   CRect myRect;
   GetClientRect(&myRect);

   ClientToScreen(myRect);
   MoveWindow(myRect.left, myRect.top,
              myRect.Width(), myRect.Height());
}

CWnd::CloseWindow

Riduce a icona la finestra.

void CloseWindow();

Osservazioni:

Questa funzione membro emula la funzionalità della funzione CloseWindow, come descritto in Windows SDK.

CWnd::ContinueModal

Questa funzione membro viene chiamata da RunModalLoop per determinare quando deve essere chiuso lo stato modale.

virtual BOOL ContinueModal();

Valore restituito

Diverso da zero se il ciclo modale deve essere continuato; 0 quando EndModalLoop viene chiamato.

Osservazioni:

Per impostazione predefinita, restituisce un valore diverso da zero finché EndModalLoop non viene chiamato .

CWnd::Create

Crea la finestra figlio specificata e la collega all'oggetto CWnd .

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    Const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext = NULL);

Parametri

lpszClassName
[in] Puntatore a una stringa con terminazione Null contenente il nome di una classe della finestra di sistema registrata; o il nome di una classe della finestra di sistema predefinita.

lpszWindowName
[in] Puntatore a una stringa con terminazione Null che contiene il nome visualizzato della finestra; in caso contrario NULL , per nessun nome visualizzato della finestra.

dwStyle
[in] Combinazione bit per bit (OR) degli stili di finestra. L'opzione WS_POPUP non è uno stile valido.

rect
[in] Dimensioni e posizione della finestra rispetto all'angolo superiore sinistro della finestra padre.

pParentWnd
[in] Puntatore alla finestra padre.

nID
[in] ID della finestra.

pContext
[in] Puntatore a una CCreateContext struttura utilizzata per personalizzare l'architettura di visualizzazione documento per l'applicazione.

Valore restituito

TRUE se il metodo ha avuto esito positivo; in caso contrario FALSE, .

Osservazioni:

Avviso

CWnd::PreCreateWindow assegna ora il hMenu membro del parametro CREATESTRUCT al this puntatore se il menu è NULL e lo stile contiene WS_CHILD. Per una funzionalità appropriata, assicurarsi che il controllo della finestra di dialogo abbia un ID che non NULLè .

Questa modifica corregge un arresto anomalo in scenari di interoperabilità gestiti/nativi. Un'istruzione TRACE in CWnd::Create avvisa lo sviluppatore del problema.

Usare la AfxRegisterWndClass funzione per registrare le classi di finestre. Le classi di finestre definite dall'utente sono disponibili nel modulo in cui sono registrate.

Il metodo viene chiamato prima della CWnd::OnCreate restituzione del Create metodo e prima che la finestra diventi visibile.

Esempio

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

CWnd::CreateAccessibleProxy

Crea un proxy Active Accessibility per l'oggetto specificato.

virtual HRESULT CreateAccessibleProxy(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametri

wParam
Identifica l'oggetto a cui si accede dal proxy di accessibilità attiva. Può essere uno dei valori seguenti

Valore Significato
OBJID_CLIENT Fa riferimento all'area client della finestra.

lParam
Fornisce informazioni aggiuntive dipendenti dai messaggi.

pResult
Puntatore a un oggetto LRESULT che archivia il codice del risultato.

Osservazioni:

Crea un proxy Active Accessibility per l'oggetto specificato.

CWnd::CreateCaret

Crea una nuova forma per il cursore di sistema e dichiara la proprietà del cursore.

void CreateCaret(CBitmap* pBitmap);

Parametri

pBitmap
Identifica la bitmap che definisce la forma del cursore.

Osservazioni:

La bitmap deve essere stata creata in precedenza dalla CBitmap::CreateBitmap funzione membro, dalla CreateDIBitmap funzione Windows o dalla CBitmap::LoadBitmap funzione membro.

CreateCaret elimina automaticamente la forma del cursore precedente, se presente, indipendentemente dalla finestra che possiede il cursore. Una volta creato, il cursore viene inizialmente nascosto. Per visualizzare il cursore, è necessario chiamare la ShowCaret funzione membro.

Il cursore di sistema è una risorsa condivisa. CWnd deve creare un cursore solo quando ha lo stato attivo o è attivo. Deve distruggere il cursore prima di perdere lo stato attivo dell'input o diventa inattivo.

Esempio

// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
   m_pBitmapCaret = new CBitmap;
   m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
   m_MyEdit.CreateCaret(m_pBitmapCaret);
   m_MyEdit.ShowCaret();
}

CWnd::CreateControl

Utilizzare questa funzione membro per creare un controllo ActiveX che verrà rappresentato nel programma MFC da un CWnd oggetto .

BOOL CreateControl(
    LPCTSTR pszClass,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Parametri

pszClass
Questa stringa può contenere il "nome breve" OLE (ProgID) per la classe . Ad esempio, "CIRC3.Circ3Ctrl.1". Il nome deve corrispondere allo stesso nome registrato dal controllo . In alternativa, la stringa può contenere la forma stringa di un CLSIDoggetto , contenuto tra parentesi graffe. Ad esempio, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". In entrambi i casi, CreateControl converte la stringa nell'ID della classe corrispondente.

pszWindowName
Puntatore al testo da visualizzare nel controllo . Imposta il valore della proprietà Caption o Text del controllo (se presente). Se NULL, la proprietà Caption o Text del controllo non viene modificata.

dwStyle
Stili di Windows. Gli stili disponibili sono elencati in Osservazioni.

rect
Specifica le dimensioni e la posizione del controllo. Può essere un CRect oggetto o una RECT struttura.

ppt
Punta a una struttura o CPoint a un POINT oggetto che contiene l'angolo superiore sinistro del controllo.

pSize
Punta a una struttura o CSize a un SIZE oggetto che contiene le dimensioni del controllo

*pParentWnd*
Specifica la finestra padre del controllo. Non deve essere NULL.

nID
Specifica l'ID del controllo.

pPersist
Puntatore a un oggetto CFile contenente lo stato permanente per il controllo . Il valore predefinito è NULL, che indica che il controllo si inizializza senza ripristinarne lo stato da alcuna risorsa di archiviazione permanente. In caso contrario NULL, deve essere un puntatore a un CFileoggetto derivato da che contiene i dati persistenti del controllo, sotto forma di flusso o di archiviazione. Questi dati potrebbero essere stati salvati in un'attivazione precedente del client. CFile Può contenere altri dati, ma deve avere il puntatore di lettura/scrittura impostato sul primo byte di dati persistenti al momento della chiamata a CreateControl.

bStorage
Indica se i dati in pPersist devono essere interpretati come IStorage o IStream dati. Se i dati in pPersist sono una risorsa di archiviazione, bStorage deve essere TRUE. Se i dati in pPersist sono un flusso, bStorage deve essere FALSE. Il valore predefinito è FALSE.

bstrLicKey
Dati facoltativi della chiave di licenza. Questi dati sono necessari solo per la creazione di controlli che richiedono un codice di licenza di runtime. Se il controllo supporta le licenze, è necessario fornire un codice di licenza per la creazione del controllo per avere esito positivo. Il valore predefinito è NULL.

clsid
ID univoco della classe del controllo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

CreateControl è un analogico diretto della CWnd::Create funzione , che crea la finestra per un oggetto CWnd. CreateControl crea un controllo ActiveX anziché una finestra normale.

Per sono supportati solo un subset dei flag di Windows dwStyle per CreateControl:

  • WS_VISIBLE Crea una finestra inizialmente visibile. Obbligatorio se si desidera che il controllo sia visibile immediatamente, ad esempio le finestre normali.

  • WS_DISABLED Crea una finestra inizialmente disabilitata. Una finestra disabilitata non può ricevere input dall'utente. Può essere impostato se il controllo dispone di una proprietà Enabled.

  • WS_BORDER Crea una finestra con un bordo sottile. Può essere impostato se il controllo dispone di una BorderStyle proprietà .

  • WS_GROUP Specifica il primo controllo di un gruppo di controlli. L'utente può modificare lo stato attivo della tastiera da un controllo del gruppo al successivo usando i tasti di direzione. Tutti i controlli definiti con lo WS_GROUP stile dopo il primo controllo appartengono allo stesso gruppo. Il controllo successivo con lo stile termina il WS_GROUP gruppo e avvia il gruppo successivo.

  • WS_TABSTOP Specifica un controllo che può ricevere lo stato attivo della tastiera quando l'utente preme il tasto TAB. Premendo TAB lo stato attivo della tastiera viene impostato sul controllo successivo dello WS_TABSTOP stile.

Esempio

class CGenocx : public CWnd
{
protected:
   DECLARE_DYNCREATE(CGenocx)
public:
   CLSID const &GetClsid()
   {
      static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
      return clsid;
   }

   // This code is generated by the Control Wizard.
   // It wraps the call to CreateControl in the call to Create.
   virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
                       const RECT &rect, CWnd *pParentWnd, UINT nID,
                       CCreateContext *pContext = NULL)
   {
      UNREFERENCED_PARAMETER(pContext);
      UNREFERENCED_PARAMETER(lpszClassName);

      return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
   }

   // remainder of class declaration omitted...

CWnd::CreateEx

Crea la finestra specificata e la collega all'oggetto CWnd .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU nIDorHMenu,
    LPVOID lpParam = NULL);

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    LPVOID lpParam = NULL);

Parametri

dwExStyle
Combinazione bit per bit (OR) di stili di finestra estesi; in caso contrario NULL , per lo stile predefinito della finestra estesa.

lpszClassName
Puntatore a una stringa con terminazione Null contenente il nome di una classe della finestra di sistema registrata; o il nome di una classe della finestra di sistema predefinita.

lpszWindowName
Puntatore a una stringa con terminazione Null che contiene il nome visualizzato della finestra; in caso contrario NULL , per nessun nome visualizzato della finestra.

dwStyle
Combinazione bit per bit (OR) degli stili di finestra; in caso contrarioNULL, per lo stile della finestra predefinito.

x
Distanza orizzontale iniziale della finestra dal lato sinistro dello schermo o dalla finestra padre.

y
Distanza verticale iniziale della finestra dalla parte superiore dello schermo o dalla finestra padre.

nWidth
Larghezza, in pixel, della finestra.

nHeight
Altezza, in pixel, della finestra.

hwndParent
Per una finestra figlio, l'handle per la finestra padre; in caso contrario, l'handle della finestra del proprietario se la finestra ha un proprietario.

nIDorHMenu
Per una finestra figlio, l'ID finestra; in caso contrario, l'ID di un menu per la finestra.

lpParam
Puntatore ai dati utente passati al CWnd::OnCreate metodo nel lpCreateParams campo .

rect
Dimensioni e posizione della finestra rispetto allo schermo o alla finestra padre.

pParentWnd
Per una finestra figlio, puntatore alla finestra padre; in caso contrario, puntatore alla finestra del proprietario se la finestra ha un proprietario.

nID
Per una finestra figlio, l'ID finestra; in caso contrario, l'ID di un menu per la finestra.

Valore restituito

TRUE se il metodo ha avuto esito positivo; in caso contrario FALSE, .

Osservazioni:

Avviso

CWnd::PreCreateWindow assegna ora il hMenu membro del parametro CREATESTRUCT al this puntatore se il menu è NULL e lo stile contiene WS_CHILD. Per una funzionalità appropriata, assicurarsi che il controllo della finestra di dialogo abbia un ID che non NULLè .

Questa modifica corregge un arresto anomalo in scenari di interoperabilità gestiti/nativi. Un'istruzione TRACE in CWnd::Create avvisa lo sviluppatore del problema.

Lo stile predefinito della finestra estesa è WS_EX_LEFT. Lo stile della finestra predefinito è WS_OVERLAPPED.

Usare la AfxRegisterWndClass funzione per registrare le classi di finestre. Le classi di finestre definite dall'utente sono disponibili nel modulo in cui sono registrate.

Le dimensioni per le finestre figlio sono relative all'angolo superiore sinistro dell'area client della finestra padre. Le dimensioni per le finestre di primo livello sono relative all'angolo superiore sinistro dello schermo.

Il metodo viene chiamato prima della CWnd::OnCreate restituzione del CreateEx metodo e prima che la finestra diventi visibile.

Esempio

void CMyDlg::OnCreateExtendedControl() 
{
   // m_pWndStaticEx is a CWnd* member of CMyDlg
   m_pWndStaticEx = new CStatic;
   m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
      _T("STATIC"), _T("Hi"),
      WS_CHILD | WS_TABSTOP | WS_VISIBLE,
      5, 5, 30, 30, m_hWnd, (HMENU)2345);
}

CWnd::CreateGrayCaret

Crea un rettangolo grigio per il cursore di sistema e la proprietà delle attestazioni del cursore.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parametri

nWidth
Specifica la larghezza del cursore (in unità logiche). Se questo parametro è 0, la larghezza viene impostata sulla larghezza del bordo della finestra definita dal sistema.

nHeight
Specifica l'altezza del cursore (in unità logiche). Se questo parametro è 0, l'altezza viene impostata sull'altezza del bordo finestra definita dal sistema.

Osservazioni:

La forma del cursore può essere una linea o un blocco.

I parametri nWidth e nHeight specificano la larghezza e l'altezza del cursore (in unità logiche); la larghezza e l'altezza esatte (in pixel) dipendono dalla modalità di mapping.

La larghezza o l'altezza GetSystemMetrics del bordo della finestra del sistema possono essere recuperate dalla funzione Windows con gli SM_CXBORDER indici e SM_CYBORDER . L'uso della larghezza o dell'altezza del bordo della finestra garantisce che il cursore sia visibile su uno schermo ad alta risoluzione.

La CreateGrayCaret funzione membro elimina automaticamente la forma del cursore precedente, se presente, indipendentemente dalla finestra proprietaria del cursore. Una volta creato, il cursore viene inizialmente nascosto. Per visualizzare il cursore, è necessario chiamare la ShowCaret funzione membro.

Il cursore di sistema è una risorsa condivisa. CWnd deve creare un cursore solo quando ha lo stato attivo o è attivo. Deve distruggere il cursore prima di perdere lo stato attivo dell'input o diventa inattivo.

Esempio

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
   m_MyEdit.CreateGrayCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CreateSolidCaret

Crea un rettangolo solido per il cursore di sistema e la proprietà delle attestazioni del cursore.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parametri

nWidth
Specifica la larghezza del cursore (in unità logiche). Se questo parametro è 0, la larghezza viene impostata sulla larghezza del bordo della finestra definita dal sistema.

nHeight
Specifica l'altezza del cursore (in unità logiche). Se questo parametro è 0, l'altezza viene impostata sull'altezza del bordo finestra definita dal sistema.

Osservazioni:

La forma del cursore può essere una linea o un blocco.

I parametri nWidth e nHeight specificano la larghezza e l'altezza del cursore (in unità logiche); la larghezza e l'altezza esatte (in pixel) dipendono dalla modalità di mapping.

La larghezza o l'altezza GetSystemMetrics del bordo della finestra del sistema possono essere recuperate dalla funzione Windows con gli SM_CXBORDER indici e SM_CYBORDER . L'uso della larghezza o dell'altezza del bordo della finestra garantisce che il cursore sia visibile su uno schermo ad alta risoluzione.

La CreateSolidCaret funzione membro elimina automaticamente la forma del cursore precedente, se presente, indipendentemente dalla finestra proprietaria del cursore. Una volta creato, il cursore viene inizialmente nascosto. Per visualizzare il cursore, è necessario chiamare la ShowCaret funzione membro.

Il cursore di sistema è una risorsa condivisa. CWnd deve creare un cursore solo quando ha lo stato attivo o è attivo. Deve distruggere il cursore prima di perdere lo stato attivo dell'input o diventa inattivo.

Esempio

// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
   m_MyEdit.CreateSolidCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CWnd

Costruisce un oggetto CWnd.

CWnd();

Osservazioni:

La finestra di Windows non viene creata e collegata fino a quando non viene chiamata la CreateEx funzione membro o Create .

CWnd::Default

Chiama la routine della finestra predefinita.

LRESULT Default();

Valore restituito

Dipende dal messaggio inviato.

Osservazioni:

La procedura predefinita della finestra fornisce l'elaborazione predefinita per qualsiasi messaggio di finestra che un'applicazione non elabora. Questa funzione membro garantisce che ogni messaggio venga elaborato.

Esempio

// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   CWnd::Default();
}

CWnd::DefWindowProc

Chiama la procedura di finestra predefinita, che fornisce l'elaborazione predefinita per qualsiasi messaggio di finestra che un'applicazione non elabora.

virtual LRESULT DefWindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parametri

message
Specifica il messaggio di Windows da elaborare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

Valore restituito

Dipende dal messaggio inviato.

Osservazioni:

Questa funzione membro garantisce che ogni messaggio venga elaborato. Deve essere chiamato con gli stessi parametri ricevuti dalla procedura della finestra.

CWnd::DeleteTempMap

Chiamato automaticamente dal gestore tempo di inattività dell'oggetto CWinApp .

static void PASCAL DeleteTempMap();

Osservazioni:

Elimina tutti gli oggetti temporanei CWnd creati dalla FromHandle funzione membro.

Esempio

// DeleteTempMap() is a static member and does not need 
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();

CWnd::DestroyWindow

Elimina definitivamente la finestra di Windows collegata all'oggetto CWnd .

virtual BOOL DestroyWindow();

Valore restituito

Diverso da zero se la finestra viene distrutta; in caso contrario, 0.

Osservazioni:

La DestroyWindow funzione membro invia messaggi appropriati alla finestra per disattivarla e rimuovere lo stato attivo di input. Elimina inoltre il menu della finestra, scarica la coda dell'applicazione, elimina i timer in sospeso, rimuove la proprietà degli Appunti e interrompe la catena del visualizzatore appunti se CWnd si trova nella parte superiore della catena del visualizzatore. WM_DESTROY Invia messaggi e WM_NCDESTROY alla finestra. Non distrugge l'oggetto CWnd .

DestroyWindow è un segnaposto per eseguire la pulizia. Poiché DestroyWindow è una funzione virtuale, viene visualizzata in qualsiasi CWndclasse derivata in Visualizzazione classi. Ma anche se si esegue l'override di questa funzione nella CWndclasse derivata da , DestroyWindow non viene necessariamente chiamata. Se DestroyWindow non viene chiamato nel codice MFC, è necessario chiamarlo in modo esplicito nel proprio codice se si vuole chiamarlo.

Si supponga, ad esempio, di aver eseguito l'override DestroyWindow in una CViewclasse derivata da . Poiché il codice sorgente MFC non chiama DestroyWindow in alcuna delle relative CFrameWndclassi derivate, l'override DestroyWindow non verrà chiamato a meno che non venga chiamato in modo esplicito.

Se la finestra è l'elemento padre di qualsiasi finestra, queste finestre figlio vengono eliminate automaticamente quando la finestra padre viene eliminata definitivamente. La DestroyWindow funzione membro elimina innanzitutto le finestre figlio e quindi la finestra stessa.

La DestroyWindow funzione membro elimina inoltre le finestre di dialogo senza modalità create da CDialog::Create.

Se l'oggetto CWnd eliminato è una finestra figlio e non dispone del WS_EX_NOPARENTNOTIFY set di stili, il WM_PARENTNOTIFY messaggio viene inviato all'elemento padre.

Esempio

// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in 
// OnOK() & OnCancel() handlers
void CModeless::OnOK() 
{ 
   if (!UpdateData(TRUE)) 
   {
      TRACE(_T("UpdateData failed during dialog termination\n"));
      // The UpdateData routine will set focus to correct item
      return;
   }
   DestroyWindow();
}

void CModeless::OnCancel()
{
   DestroyWindow();
}

CWnd::Detach

Scollega un handle di Windows da un oggetto CWnd e restituisce l'handle.

HWND Detach();

Valore restituito

Oggetto HWND per l'oggetto Windows.

Esempio

Vedere l'esempio per CWnd::Attach.

CWnd::DlgDirList

Compila una casella di riepilogo con un elenco di file o directory.

int DlgDirList(
    LPTSTR lpPathSpec,
    int nIDListBox,
    int nIDStaticPath,
    UINT nFileType);

Parametri

lpPathSpec
Punta a una stringa con terminazione Null contenente il percorso o il nome file. DlgDirList modifica questa stringa, che deve essere sufficientemente lunga da contenere le modifiche. Per altre informazioni, vedere la sezione "Osservazioni" seguente.

nIDListBox
Specifica l'identificatore di una casella di riepilogo. Se nIDListBox è 0, DlgDirList si presuppone che non esista alcuna casella di riepilogo e non tenti di riempirne uno.

nIDStaticPath
Specifica l'identificatore del controllo statico-testo utilizzato per visualizzare l'unità e la directory correnti. Se nIDStaticPath è 0, DlgDirList si presuppone che non sia presente alcun controllo di testo di questo tipo.

nFileType
Specifica gli attributi dei file da visualizzare. Può essere una qualsiasi combinazione dei valori seguenti:

  • DDL_READWRITE File di dati di lettura/scrittura senza attributi aggiuntivi.

  • DDL_READONLY File di sola lettura.

  • DDL_HIDDEN File nascosti.

  • DDL_SYSTEM File di sistema.

  • DDL_DIRECTORY Directory.

  • DDL_ARCHIVE Archivi.

  • DDL_POSTMSGSLB_DIR Bandiera. Se il LB_DIR flag è impostato, Windows inserisce i messaggi generati da DlgDirList nella coda dell'applicazione; in caso contrario, vengono inviati direttamente alla routine della finestra di dialogo.

  • DDL_DRIVES Unità. Se il DDL_DRIVES flag è impostato, il DDL_EXCLUSIVE flag viene impostato automaticamente. Pertanto, per creare un elenco di directory che include unità e file, è necessario chiamare DlgDirList due volte: una volta con il DDL_DRIVES flag impostato e una volta con i flag per il resto dell'elenco.

  • DDL_EXCLUSIVE Bit esclusivo. Se il bit esclusivo è impostato, vengono elencati solo i file del tipo specificato; in caso contrario, vengono elencati file e file normali del tipo specificato.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

DlgDirList invia LB_RESETCONTENT messaggi e LB_DIR alla casella di riepilogo. Riempie la casella di riepilogo specificata da nIDListBox con i nomi di tutti i file che corrispondono al percorso specificato da lpPathSpec.

Il lpPathSpec parametro ha il formato seguente:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

In questo esempio, drive è una lettera di unità, directory è un nome di directory valido ed filename è un nome file valido che deve contenere almeno un carattere jolly. I caratteri jolly sono un punto interrogativo (?), ovvero corrispondono a qualsiasi carattere e un asterisco (*), ovvero corrispondono a un numero qualsiasi di caratteri.

Se si specifica una stringa di lunghezza 0 per lpPathSpeco se si specifica solo un nome di directory ma non si include alcuna specifica di file, la stringa verrà modificata in "*.*".

Se lpPathSpec include un'unità e/o un nome di directory, l'unità e la directory correnti vengono modificate nell'unità e nella directory designata prima che la casella di riepilogo venga riempita. Il controllo di testo identificato da nIDStaticPath viene aggiornato anche con la nuova unità e/o il nome della directory.

Dopo aver compilato la casella di riepilogo, lpPathSpec viene aggiornata rimuovendo l'unità e/o la parte della directory del percorso.

Esempio

// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

CWnd::DlgDirListComboBox

Compila la casella di riepilogo di una casella combinata con un elenco di file o directory.

int DlgDirListComboBox(
    LPTSTR lpPathSpec,
    int nIDComboBox,
    int nIDStaticPath,
    UINT nFileType);

Parametri

lpPathSpec
Punta a una stringa con terminazione Null contenente il percorso o il nome file. DlgDirListComboBox modifica questa stringa, quindi questi dati non devono essere sotto forma di valore letterale stringa. Vedere la sezione "Osservazioni" seguente.

nIDComboBox
Specifica l'identificatore di una casella combinata in una finestra di dialogo. Se nIDComboBox è 0, DlgDirListComboBox si presuppone che non esista alcuna casella combinata e non tenti di riempirne uno.

nIDStaticPath
Specifica l'identificatore del controllo statico-testo utilizzato per visualizzare l'unità e la directory correnti. Se nIDStaticPath è 0, DlgDirListComboBox si presuppone che non sia presente alcun controllo di testo di questo tipo.

nFileType
Specifica gli attributi del file DOS da visualizzare. Può essere una qualsiasi combinazione dei valori seguenti:

  • DDL_READWRITE File di dati di lettura/scrittura senza attributi aggiuntivi.

  • DDL_READONLY File di sola lettura.

  • DDL_HIDDEN File nascosti.

  • DDL_SYSTEM File di sistema.

  • DDL_DIRECTORY Directory.

  • DDL_ARCHIVE Archivi.

  • DDL_POSTMSGSCB_DIR Bandiera. Se il CB_DIR flag è impostato, Windows inserisce i messaggi generati da DlgDirListComboBox nella coda dell'applicazione; in caso contrario, vengono inviati direttamente alla routine della finestra di dialogo.

  • DDL_DRIVES Unità. Se il DDL_DRIVES flag è impostato, il DDL_EXCLUSIVE flag viene impostato automaticamente. Pertanto, per creare un elenco di directory che include unità e file, è necessario chiamare DlgDirListComboBox due volte: una volta con il DDL_DRIVES flag impostato e una volta con i flag per il resto dell'elenco.

  • DDL_EXCLUSIVE Bit esclusivo. Se il bit esclusivo è impostato, vengono elencati solo i file del tipo specificato; in caso contrario, vengono elencati file e file normali del tipo specificato.

Valore restituito

Specifica il risultato della funzione. È diverso da zero se è stato fatto un elenco, anche un elenco vuoto. Un valore restituito 0 implica che la stringa di input non contiene un percorso di ricerca valido.

Osservazioni:

DlgDirListComboBox invia CB_RESETCONTENT messaggi e CB_DIR alla casella combinata. Riempie la casella di riepilogo della casella combinata specificata da nIDComboBox con i nomi di tutti i file che corrispondono al percorso specificato da lpPathSpec.

Il lpPathSpec parametro ha il formato seguente:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

In questo esempio, drive è una lettera di unità, directory è un nome di directory valido ed filename è un nome file valido che deve contenere almeno un carattere jolly. I caratteri jolly sono un punto interrogativo (?), ovvero corrispondono a qualsiasi carattere e un asterisco (*), il che significa che corrisponde a un numero qualsiasi di caratteri.

Se si specifica una stringa di lunghezza zero per lpPathSpec, verrà usata la directory corrente e lpPathSpec non verrà modificata. Se si specifica solo un nome di directory ma non si include alcuna specifica di file, la stringa verrà modificata in "*".

Se lpPathSpec include un'unità e/o un nome di directory, l'unità e la directory correnti vengono modificate nell'unità e nella directory designata prima che la casella di riepilogo venga riempita. Il controllo di testo identificato da nIDStaticPath viene aggiornato anche con la nuova unità e/o il nome della directory.

Dopo aver compilato la casella di riepilogo casella combinata, lpPathSpec viene aggiornata rimuovendo l'unità e/o la parte della directory del percorso.

Esempio

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.

CWnd::DlgDirSelect

Recupera la selezione corrente da una casella di riepilogo.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parametri

lpString
Punta a un buffer che deve ricevere la selezione corrente nella casella di riepilogo.

nIDListBox
Specifica l'ID intero di una casella di riepilogo nella finestra di dialogo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Si presuppone che la casella di riepilogo sia stata compilata dalla DlgDirList funzione membro e che la selezione sia una lettera di unità, un file o un nome di directory.

La DlgDirSelect funzione membro copia la selezione nel buffer specificato da lpString. Se non è presente alcuna selezione, lpString non cambia.

DlgDirSelect invia LB_GETCURSEL messaggi e LB_GETTEXT alla casella di riepilogo.

Non consente la restituzione di più nomi di file da una casella di riepilogo. La casella di riepilogo non deve essere una casella di riepilogo a selezione multipla.

CWnd::DlgDirSelectComboBox

Recupera la selezione corrente da una casella di riepilogo di una casella combinata.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parametri

lpString
Punta a un buffer che deve ricevere il percorso selezionato.

nIDComboBox
Specifica l'ID intero della casella combinata nella finestra di dialogo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Si presuppone che la casella di riepilogo sia stata compilata dalla DlgDirListComboBox funzione membro e che la selezione sia una lettera di unità, un file o un nome di directory.

La DlgDirSelectComboBox funzione membro copia la selezione nel buffer specificato. Se non è presente alcuna selezione, il contenuto del buffer non viene modificato.

DlgDirSelectComboBox invia CB_GETCURSEL messaggi e CB_GETLBTEXT alla casella combinata.

Non consente la restituzione di più nomi di file da una casella combinata.

CWnd::DoDataExchange

Chiamato dal framework per scambiare e convalidare i dati delle finestre di dialogo.

virtual void DoDataExchange(CDataExchange* pDX);

Parametri

pDX
Puntatore a un oggetto CDataExchange.

Osservazioni:

Non chiamare mai direttamente questa funzione. Viene chiamato dalla UpdateData funzione membro. Chiamare UpdateData per inizializzare i controlli di una finestra di dialogo o recuperare i dati da una finestra di dialogo.

Quando si deriva una classe di dialogo specifica dell'applicazione da CDialog, è necessario eseguire l'override di questa funzione membro se si desidera utilizzare lo scambio e la convalida automatica del framework. La procedura guidata Aggiungi variabile scriverà una versione sottoposta a override di questa funzione membro contenente la "mappa dati" desiderata delle chiamate di funzione globali DDX (Dialog Data Exchange) e convalida (DDV).

Per generare automaticamente una versione sottoposta a override di questa funzione membro, creare prima una risorsa di dialogo con l'editor di dialoghi, quindi derivare una classe di dialogo specifica dell'applicazione. Usare quindi la procedura guidata Aggiungi variabile per associare variabili, dati e intervalli di convalida a vari controlli nella nuova finestra di dialogo. La procedura guidata scrive quindi l'oggetto sottoposto DoDataExchangea override che contiene una mappa dati. Di seguito è riportato un esempio di blocco di codice DDX/DDV generato dalla procedura guidata Aggiungi variabile:

void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
   CDialog::DoDataExchange(pDX);
   DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
   DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
   DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
   DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}

La DoDataExchange funzione membro sottoposta a override deve precedere le istruzioni macro nel file di origine.

Per altre informazioni sullo scambio e la convalida dei dati delle finestre di dialogo, vedere Visualizzazione e modifica dei dati in un modulo e scambio di dati di dialogo e convalida. Per una descrizione delle macro DDX_ e DDV_ generate dalla procedura guidata Aggiungi variabile, vedere La nota tecnica 26.

CWnd::DragAcceptFiles

Chiamare questa funzione membro dall'interno di una finestra, usando un CWnd puntatore, nella funzione dell'applicazione CWinApp::InitInstance per indicare che la finestra accetta file eliminati da Gestione file di Windows o Esplora file.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parametri

BAccept
Flag che indica se i file trascinati vengono accettati.

Osservazioni:

Solo la finestra che chiama DragAcceptFiles con il bAccept parametro impostato su TRUE ha identificato se stessa come in grado di elaborare il messaggio WM_DROPFILESdi Windows . Ad esempio, in un'applicazione MDI, se il puntatore della CMDIFrameWnd finestra viene usato nella chiamata di DragAcceptFiles funzione, solo la CMDIFrameWnd finestra ottiene il WM_DROPFILES messaggio. Questo messaggio non viene inviato a tutte le finestre aperte CMDIChildWnd . Affinché una CMDIChildWnd finestra riceva questo messaggio, è necessario chiamare DragAcceptFiles con il puntatore della CMDIChildWnd finestra.

Per interrompere la ricezione di file trascinati, chiamare la funzione membro con bAccept impostato su FALSE.

CWnd::DragDetect

Acquisisce il mouse e tiene traccia del suo movimento fino a quando l'utente rilascia il pulsante sinistro, preme ESC o sposta il mouse all'esterno del rettangolo di trascinamento attorno al punto specificato.

BOOL DragDetect(POINT pt) const;

Parametri

pt
Posizione iniziale del mouse, nelle coordinate dello schermo. La funzione determina le coordinate del rettangolo di trascinamento usando questo punto.

Valore restituito

Se l'utente ha spostato il mouse all'esterno del rettangolo di trascinamento tenendo premuto il pulsante sinistro, il valore restituito è diverso da zero.

Se l'utente non ha spostato il mouse all'esterno del rettangolo di trascinamento tenendo premuto il pulsante sinistro, il valore restituito è zero.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione DragDetect, come descritto in Windows SDK.

CWnd::DrawAnimatedRects

Disegna un rettangolo wireframe e aggiunge un'animazione in modo da indicare l'apertura di un'icona oppure la riduzione a icona o l'ingrandimento di una finestra.

BOOL DrawAnimatedRects(
    int idAni,
    CONST RECT* lprcFrom,
    CONST RECT* lprcTo);

Parametri

idAni
Specifica il tipo di animazione. Se si specifica IDANI_CAPTION, la finestra didascalia verrà animata dalla posizione specificata da lprcFrom alla posizione specificata da lprcTo. L'effetto è simile alla riduzione al minimo o all'ottimizzazione di una finestra.

lprcFrom
Puntatore a una RECT struttura che specifica la posizione e le dimensioni dell'icona o della finestra ridotta a icona.

lprcTo
Puntatore a una RECT struttura che specifica la posizione e le dimensioni della finestra ripristinata

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione DrawAnimatedRects, come descritto in Windows SDK.

CWnd::DrawCaption

Disegna una finestra didascalia.

BOOL DrawCaption(
    CDC* pDC,
    LPCRECT lprc,
    UINT uFlags);

Parametri

pDC
Puntatore a un contesto di dispositivo. La funzione disegna la finestra didascalia in questo contesto di dispositivo.

lprc
Puntatore a una RECT struttura che specifica il rettangolo di delimitazione per la finestra didascalia.

uFlags
Specifica le opzioni di disegno. Per un elenco completo dei valori, vedere DrawCaption.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione DrawCaption, come descritto in Windows SDK.

CWnd::DrawMenuBar

Ridisegna la barra dei menu.

void DrawMenuBar();

Osservazioni:

Se una barra dei menu viene modificata dopo che Windows ha creato la finestra, chiamare questa funzione per disegnare la barra dei menu modificata.

Esempio

Vedere l'esempio per CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Abilita le funzioni di accessibilità attiva definite dall'utente.

void EnableActiveAccessibility();

Osservazioni:

Il supporto predefinito di Active Accessibility di MFC è sufficiente per le finestre e i controlli standard, inclusi i controlli ActiveX; Tuttavia, se la CWndclasse derivata da -contiene elementi dell'interfaccia utente non windows, MFC non ha modo di conoscerli. In tal caso, è necessario eseguire l'override delle funzioni membro Active Accessibility appropriate nella classe ed è necessario chiamare EnableActiveAccessibility nel costruttore della classe.

CWnd::EnableDynamicLayout

Abilita o disabilita il gestore del layout dinamico. Se il layout dinamico è abilitato, la posizione e le dimensioni delle finestre figlio vengono adeguate in modo dinamico quando l'utente ridimensiona la finestra padre.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parametri

bEnable
TRUE per abilitare il layout dinamico; FALSE per disabilitare il layout dinamico.

Osservazioni:

Se si vuole abilitare il layout dinamico, non è sufficiente semplicemente chiamare questo metodo. È anche necessario fornire informazioni sul layout dinamico che specifichino come devono rispondere i controlli nella finestra alle modifiche delle dimensioni. È possibile specificare queste informazioni nell'Editor risorse, o a livello di codice, per ogni controllo. Vedere Layout dinamico.

CWnd::EnableD2DSupport

Abilita o disabilita il supporto D2D per la finestra. Chiamare questo metodo prima dell'inizializzazione della finestra principale.

void EnableD2DSupport(
    BOOL bEnable = TRUE,
    BOOL bUseDCRenderTarget = FALSE);

Parametri

bEnable
Specifica se attivare o disattivare il supporto D2D.

bUseDCRenderTarget
Specifica se usare la destinazione di rendering del contesto di dispositivo ( CDCRenderTargetDC), . Se FALSE, viene usato CHwndRenderTarget.

CWnd::EnableScrollBar

Abilita o disabilita una o entrambe le frecce di una barra di scorrimento.

BOOL EnableScrollBar(
    int nSBFlags,
    UINT nArrowFlags = ESB_ENABLE_BOTH);

Parametri

nSBFlags
Specifica il tipo di barra di scorrimento. I valori consentiti sono i seguenti:

  • SB_BOTH Abilita o disabilita le frecce delle barre di scorrimento orizzontali e verticali associate alla finestra.

  • SB_HORZ Abilita o disabilita le frecce della barra di scorrimento orizzontale associata alla finestra.

  • SB_VERT Abilita o disabilita le frecce della barra di scorrimento verticale associata alla finestra.

nArrowFlags
Specifica se le frecce della barra di scorrimento sono abilitate o disabilitate e quali frecce sono abilitate o disabilitate. I valori consentiti sono i seguenti:

  • ESB_ENABLE_BOTH Abilita entrambe le frecce di una barra di scorrimento (impostazione predefinita).

  • ESB_DISABLE_LTUP Disabilita la freccia sinistra di una barra di scorrimento orizzontale o la freccia su di una barra di scorrimento verticale.

  • ESB_DISABLE_RTDN Disabilita la freccia destra di una barra di scorrimento orizzontale o la freccia giù di una barra di scorrimento verticale.

  • ESB_DISABLE_BOTH Disabilita entrambe le frecce di una barra di scorrimento.

Valore restituito

Diverso da zero se le frecce sono abilitate o disabilitate come specificato. In caso contrario, è 0, che indica che le frecce sono già nello stato richiesto o che si è verificato un errore.

CWnd::EnableScrollBarCtrl

Abilita o disabilita la barra di scorrimento per questa finestra.

void EnableScrollBarCtrl(
    int nBar,
    BOOL bEnable = TRUE);

Parametri

nBar
Identificatore della barra di scorrimento.

bEnable
Specifica se la barra di scorrimento deve essere abilitata o disabilitata.

Osservazioni:

Se la finestra dispone di un controllo barra di scorrimento di pari livello, viene utilizzata la barra di scorrimento; in caso contrario, viene utilizzata la barra di scorrimento della finestra.

CWnd::EnableToolTips

Abilita i suggerimenti per gli strumenti per la finestra specificata.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parametri

bEnable
Specifica se il controllo della descrizione comando è abilitato o disabilitato. TRUE abilita il controllo; FALSE disabilita il controllo .

Valore restituito

TRUE se i suggerimenti degli strumenti sono abilitati; in caso contrario FALSE, .

Osservazioni:

Eseguire l'override OnToolHitTest per fornire lo TOOLINFO struct o gli struct per la finestra.

Nota

Alcune finestre, ad esempio CToolBar, forniscono un'implementazione predefinita di OnToolHitTest.

Per altre informazioni su questa struttura, vedere TOOLINFO in Windows SDK.

La semplice chiamata EnableToolTips non è sufficiente per visualizzare i suggerimenti degli strumenti per i controlli figlio, a meno che la finestra padre non sia derivata da CFrameWnd. Ciò è dovuto al fatto che CFrameWnd fornisce un gestore predefinito per la TTN_NEEDTEXT notifica. Se la finestra padre non è derivata da CFrameWnd, ovvero se si tratta di una finestra di dialogo o di una visualizzazione modulo, i suggerimenti per gli strumenti per i controlli figlio non verranno visualizzati correttamente a meno che non si fornisca un gestore per la notifica della TTN_NEEDTEXT descrizione comando. Vedere Strumenti Suggerimenti.

I suggerimenti predefiniti per gli strumenti forniti per le finestre EnableToolTips non dispongono di testo associato. Per recuperare il testo della descrizione comando da visualizzare, la TTN_NEEDTEXT notifica viene inviata alla finestra padre del controllo descrizione comando appena prima che venga visualizzata la finestra della descrizione comando. Se non esiste alcun gestore per questo messaggio per assegnare un valore al pszText membro della TOOLTIPTEXT struttura, non verrà visualizzato alcun testo per la descrizione comando.

Esempio

// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)

 

void CMdiView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
                 CRect(10, 10, 100, 100), this, IDC_TTEDIT);
   EnableToolTips(TRUE); // enable tool tips for view
}

//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);
   UNREFERENCED_PARAMETER(pResult);

   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
   TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
   CStringA strTipText;
   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
       pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
   }

   if (nID != 0) // will be zero on a separator
      strTipText.Format("Control ID = %d", nID);

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
      strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
                strTipText.GetLength() + 1);
   }
   else
   {
      ::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
                            pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
   }

   return TRUE; // message was handled
}

CWnd::EnableTrackingToolTips

Abilita o disabilita le descrizioni comando di rilevamento.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parametri

bEnable
Specifica se i suggerimenti degli strumenti di rilevamento sono abilitati o disabilitati. Se questo parametro è TRUE, verranno abilitati i suggerimenti degli strumenti di rilevamento. Se questo parametro è FALSE, i suggerimenti degli strumenti di rilevamento verranno disabilitati.

Valore restituito

Indica lo stato prima della chiamata della EnableWindow funzione membro. Il valore restituito è diverso da zero se la finestra è stata disabilitata in precedenza. Il valore restituito è 0 se la finestra è stata abilitata in precedenza o si è verificato un errore.

Osservazioni:

I suggerimenti per gli strumenti di rilevamento sono finestre della descrizione comando che è possibile posizionare dinamicamente sullo schermo. Aggiornando rapidamente la posizione, la finestra della descrizione comando sembra spostarsi senza problemi o "traccia". Questa funzionalità può essere utile se è necessario il testo della descrizione comando per seguire la posizione del puntatore mentre si sposta.

CWnd::EnableWindow

Abilita o disabilita l'input da mouse e tastiera.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parametri

bEnable
Specifica se la finestra specificata deve essere abilitata o disabilitata. Se questo parametro è TRUE, la finestra verrà abilitata. Se questo parametro è FALSE, la finestra verrà disabilitata.

Valore restituito

Indica lo stato prima della chiamata della EnableWindow funzione membro. Il valore restituito è diverso da zero se la finestra è stata disabilitata in precedenza. Il valore restituito è 0 se la finestra è stata abilitata in precedenza o si è verificato un errore.

Osservazioni:

Quando l'input è disabilitato, l'input, ad esempio i clic del mouse e le sequenze di tasti, viene ignorato. Quando l'input è abilitato, la finestra elabora tutti gli input.

Se lo stato abilitato cambia, il messaggio viene inviato prima che WM_ENABLE venga restituita questa funzione.

Se disabilitato, tutte le finestre figlio vengono disabilitate in modo implicito, anche se non vengono inviati WM_ENABLE messaggi.

Prima di poter essere attivata, è necessario abilitare una finestra. Ad esempio, se un'applicazione visualizza una finestra di dialogo senza modalità e ha disabilitato la finestra principale, è necessario abilitare la finestra principale prima che la finestra di dialogo venga eliminata definitivamente. In caso contrario, un'altra finestra otterrà lo stato attivo di input e verrà attivato. Se una finestra figlio è disabilitata, viene ignorata quando Windows tenta di determinare quale finestra deve ricevere messaggi del mouse.

Per impostazione predefinita, una finestra viene abilitata quando viene creata. Un'applicazione può specificare lo WS_DISABLED stile nella Create funzione membro o CreateEx per creare una finestra inizialmente disabilitata. Dopo aver creato una finestra, un'applicazione può anche usare la EnableWindow funzione membro per abilitare o disabilitare la finestra.

Un'applicazione può usare questa funzione per abilitare o disabilitare un controllo in una finestra di dialogo. Un controllo disabilitato non può ricevere lo stato attivo dell'input né può accedervi.

Esempio

//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
   CFileDialog::OnInitDialog();

   CWnd *pWndParent = GetParent();

   //make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'

   //disables the 'file name' edit and static control
   //of the standard file open dialog

   //get handle of 'file name' combobox control & disable it
   CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
   pWnd->EnableWindow(FALSE);

   //get handle of 'file name' static control & disable it
   pWnd = pWndParent->GetDlgItem(stc3);
   pWnd->EnableWindow(FALSE);

   return TRUE;
}

CWnd::EndModalLoop

Termina una chiamata a RunModalLoop.

virtual void EndModalLoop(int nResult);

Parametri

nResult
Contiene il valore da restituire al chiamante di RunModalLoop.

Osservazioni:

Il nResult parametro viene propagato al valore restituito da RunModalLoop.

CWnd::EndModalState

Chiamare questa funzione membro per cambiare lo stato di una finestra cornice da modale a non modale.

virtual void EndModalState();

CWnd::EndPaint

Contrassegna la fine del dipinto nella finestra specificata.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parametri

lpPaint
Punta a una PAINTSTRUCT struttura che contiene le informazioni di disegno recuperate dalla BeginPaint funzione membro.

Osservazioni:

La EndPaint funzione membro è necessaria per ogni chiamata alla funzione membro, ma solo dopo il completamento del BeginPaint disegno.

Se il cursore è stato nascosto dalla BeginPaint funzione membro, EndPaint ripristina il cursore sullo schermo.

Esempio

Vedere l'esempio per CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Inizializza una risorsa di una finestra di dialogo.

BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);

Parametri

lpszResourceName
Puntatore a una stringa con terminazione Null che specifica il nome della risorsa.

lpResource
Puntatore a una risorsa.

Valore restituito

TRUE se viene eseguita una risorsa di dialogo; in caso contrario FALSE, .

Osservazioni:

ExecuteDlgInit userà le risorse associate al modulo in esecuzione o alle risorse di altre origini. A tale scopo, ExecuteDlgInit trova un handle di risorsa chiamando AfxFindResourceHandle. Se l'applicazione MFC non usa la DLL condivisa (MFCx0[U][D].DLL), AfxFindResourceHandle chiama AfxGetResourceHandle, che restituisce l'handle di risorsa corrente per l'eseguibile. Se l'applicazione MFC che usa MFCx0[U][D].DLL, AfxFindResourceHandle attraversa l'elenco CDynLinkLibrary di oggetti delle DLL di estensione condivise e MFC alla ricerca dell'handle di risorse corretto.

CWnd::FilterToolTipMessage

Chiamato dal framework per visualizzare i messaggi della descrizione comando.

void FilterToolTipMessage(MSG* pMsg);

Parametri

pMsg
Puntatore al messaggio della descrizione comando.

Osservazioni:

Nella maggior parte delle applicazioni MFC questo metodo viene chiamato dal framework da PreTranslateMessage e EnableToolTipse non è necessario chiamarlo manualmente.

Tuttavia, in alcune applicazioni, ad esempio alcuni controlli ActiveX, questi metodi potrebbero non essere richiamati dal framework e sarà necessario chiamare FilterToolTipMessage se stessi. Per altre informazioni, vedere Metodi di creazione degli strumenti Suggerimenti.

CWnd::FindWindow

Restituisce il primo livello CWnd la cui classe di finestra viene specificata da lpszClassName e il cui nome della finestra, o titolo, viene assegnato da lpszWindowName.

static CWnd* PASCAL FindWindow(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName);

Parametri

lpszClassName
Punta a una stringa con terminazione Null che specifica il nome della classe della finestra (una WNDCLASS struttura). Se lpClassName è NULL, tutti i nomi di classe corrispondono.

lpszWindowName
Punta a una stringa con terminazione Null che specifica il nome della finestra (titolo della finestra). Se lpWindowName è NULL, tutti i nomi delle finestre corrispondono.

Valore restituito

Identifica la finestra con il nome e il nome della finestra specificati. È NULL se non viene trovata alcuna finestra di questo tipo.

* CWndpuò essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Questa funzione non esegue ricerche nelle finestre figlio.

Esempio

// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
   CWnd *pWndPrev, *pWndChild;

   // Determine if a window with the class name exists...
   pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
   if (NULL != pWndPrev)
   {
      // If so, does it have any popups?
      pWndChild = pWndPrev->GetLastActivePopup();

      // If iconic, restore the main window
      if (pWndPrev->IsIconic())
         pWndPrev->ShowWindow(SW_RESTORE);

      // Bring the main window or its popup to the foreground
      pWndChild->SetForegroundWindow();

      // and you are done activating the other application
      return FALSE;
   }

   return TRUE;
}

CWnd::FindWindowEx

Recupera l'oggetto finestra il cui nome della classe e il nome della finestra corrispondono alle stringhe specificate.

static CWnd* FindWindowEx(
    HWND hwndParent,
    HWND hwndChildAfter,
    LPCTSTR lpszClass,
    LPCTSTR lpszWindow);

Parametri

hwndParent
Handle nella finestra padre di cui eseguire la ricerca nelle finestre figlio.

hwndChildAfter
Handle in una finestra figlio. La ricerca inizia con la finestra figlio successiva nell'ordine Z. La finestra figlio deve essere una finestra figlio diretta di hwndParent, non solo una finestra discendente.

lpszClass
Puntatore a una stringa con terminazione Null che specifica il nome della classe o un atomo di classe creato da una chiamata precedente a RegisterClass o RegisterClassEx.

lpszWindow
Puntatore a una stringa con terminazione Null che specifica il nome della finestra (titolo della finestra). Se questo parametro è NULL, tutti i nomi di finestra corrispondono.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un puntatore all'oggetto finestra con i nomi di classe e finestra specificati. Se la funzione ha esito negativo, il valore restituito è NULL.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione FindWindowEx, come descritto in Windows SDK.

CWnd::FlashWindow

Lampeggia la finestra specificata una volta.

BOOL FlashWindow(BOOL bInvert);

Parametri

bInvert
Specifica se deve CWnd essere lampeggiato o restituito allo stato originale. l'oggetto CWnd viene lampeggiato da uno stato all'altro se bInvert è TRUE. Se bInvert è FALSE, la finestra viene restituita allo stato originale (attivo o inattivo).

Valore restituito

Diverso da zero se la finestra era attiva prima della FlashWindow chiamata alla funzione membro; in caso contrario, 0.

Osservazioni:

Per il flashing successivo, creare un timer di sistema e chiamare FlashWindowripetutamente . Lampeggiando significa CWnd modificare l'aspetto della barra del titolo come se l'oggetto CWnd cambiasse da stato inattivo a attivo o viceversa. Una barra del titolo inattiva passa a una barra del titolo attiva; una barra del titolo attiva passa a una barra del titolo inattiva.

In genere, una finestra viene lampeggiata per informare l'utente che richiede attenzione, ma che attualmente non ha lo stato attivo per l'input.

Il bInvert parametro deve essere FALSE solo quando la finestra riceve lo stato attivo per l'input e non viene più lampeggiata. Dovrebbe essere TRUE in caso di chiamate successive durante l'attesa di ottenere lo stato attivo dell'input.

Questa funzione restituisce sempre un valore diverso da zero per le finestre ridotte a icona. Se la finestra è ridotta a icona, FlashWindow lampeggia l'icona della finestra; bInvert viene ignorata per le finestre ridotte a icona.

Esempio

BOOL CPenWidthsDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   // set timer to cause dialog to flash
   SetTimer(1, 500, NULL);
   return TRUE; // return TRUE unless you set the focus to a control
}

void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
   // cause the dialog to flash
   FlashWindow(TRUE);
   CDialog::OnTimer(nIDEvent);
}

CWnd::FlashWindowEx

Lampeggia la finestra specificata.

BOOL FlashWindowEx(
    DWORD dwFlags,
    UINT uCount,
    DWORD dwTimeout);

Parametri

*dwFlags*
Specifica lo stato del flash. Per un elenco completo dei valori, vedere la FLASHWINFO struttura.

uCount
Specifica il numero di volte in cui lampeggiare la finestra.

dwTimeout
Specifica la frequenza, espressa in millisecondi, in cui la finestra verrà lampeggiata. Se dwTimeout è zero, la funzione usa la frequenza di lampeggiazione del cursore predefinita.

Valore restituito

Il valore restituito specifica lo stato della finestra prima della chiamata alla FlashWindowEx funzione. Se la finestra didascalia è stata disegnata come attiva prima della chiamata, il valore restituito è diverso da zero. In caso contrario, il valore restituito è zero.

Osservazioni:

Questo metodo emula la funzionalità della funzione FlashWindowEx, come descritto in Windows SDK.

CWnd::FromHandle

Restituisce un puntatore a un oggetto CWnd quando viene specificato un handle di una finestra. Se un CWnd oggetto non è collegato all'handle, viene creato e collegato un oggetto temporaneo CWnd .

static CWnd* PASCAL FromHandle(HWND hWnd);

Parametri

hWnd
Oggetto HWND di una finestra di Windows.

Valore restituito

Restituisce un puntatore a un oggetto CWnd quando viene specificato un handle di una finestra. Se un CWnd oggetto non è collegato all'handle, viene creato e collegato un oggetto temporaneo CWnd .

Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

CWnd::FromHandlePermanent

Restituisce un puntatore a un oggetto CWnd quando viene specificato un handle di una finestra.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parametri

hWnd
Oggetto HWND di una finestra di Windows.

Valore restituito

Puntatore a un oggetto CWnd.

Osservazioni:

Se un CWnd oggetto non è collegato all'handle, NULL viene restituito .

Questa funzione, a differenza di FromHandle, non crea oggetti temporanei.

CWnd::get_accChild

Chiamata eseguita dal framework per recuperare l'indirizzo di un'interfaccia IDispatch per l'elemento figlio specificato.

virtual HRESULT get_accChild(
    VARIANT varChild,
    IDispatch** ppdispChild);

Parametri

varChild
Identifica l'elemento figlio di cui IDispatch recuperare l'interfaccia.

ppdispChild
Riceve l'indirizzo dell'interfaccia dell'oggetto IDispatch figlio.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accChild Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accChild in Windows SDK.

CWnd::get_accChildCount

Chiamata eseguita dal framework per recuperare il numero di elementi figlio appartenenti all'oggetto corrente.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parametri

pcountChildren
Riceve il numero di elementi figlio.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accChildCount Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC). Chiamare la versione della classe base e quindi aggiungere gli elementi figlio nonwindowed.

Per altre informazioni, vedere IAccessible::get_accChildCount in Windows SDK.

CWnd::get_accDefaultAction

Chiamata eseguita dal framework per recuperare una stringa che descrive l'azione predefinita dell'oggetto.

virtual HRESULT get_accDefaultAction(
    VARIANT varChild,
    BSTR* pszDefaultAction);

Parametri

varChild
Specifica se l'azione predefinita da recuperare è quella dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszDefaultAction
Indirizzo di un oggetto BSTR che riceve una stringa localizzata che descrive l'azione predefinita per l'oggetto specificato o NULL se questo oggetto non ha alcuna azione predefinita.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accDefaultAction in Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per descrivere l'azione predefinita dell'oggetto.

Per altre informazioni, vedere IAccessible::get_accDefaultAction in Windows SDK.

CWnd::get_accDescription

Chiamata eseguita dal framework per recuperare una stringa che descrive l'aspetto visivo dell'oggetto specificato.

virtual HRESULT get_accDescription(
    VARIANT varChild,
    BSTR* pszDescription);

Parametri

varChild
Specifica se la descrizione da recuperare è quella dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszDescription
Indirizzo di un oggetto BSTR che riceve una stringa localizzata che descrive l'oggetto specificato o NULL se non è disponibile alcuna descrizione per questo oggetto.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accDescription Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per descrivere l'oggetto. Chiamare la versione della classe base e aggiungere la descrizione.

Per altre informazioni, vedere IAccessible::get_accDescription in Windows SDK.

CWnd::get_accFocus

Chiamata eseguita dal framework per recuperare l'oggetto con lo stato attivo della tastiera.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Parametri

pvarChild
Riceve informazioni sull'oggetto con lo stato attivo. Vedere pvarID in IAccessible::get_accFocus Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accFocus Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accFocus in Windows SDK.

CWnd::get_accHelp

Chiamato dal framework per recuperare la stringa di proprietà della Guida di un oggetto.

virtual HRESULT get_accHelp(
    VARIANT varChild,
    BSTR* pszHelp);

Parametri

varChild
Specifica se le informazioni della Guida da recuperare sono l'oggetto dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszHelp
Indirizzo di un oggetto BSTR che riceve la stringa localizzata contenente le informazioni della Guida per l'oggetto specificato o NULL se non sono disponibili informazioni della Guida.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accHelp Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per fornire il testo della Guida per l'oggetto.

Per altre informazioni, vedere IAccessible::get_accHelp in Windows SDK.

CWnd::get_accHelpTopic

Chiamato dal framework per recuperare il percorso completo del file WinHelp associato all'oggetto specificato e all'identificatore dell'argomento appropriato all'interno del file.

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

Parametri

pszHelpFile
Indirizzo di un oggetto BSTR che riceve il percorso completo del WinHelp file associato all'oggetto specificato, se presente.

varChild
Specifica se l'argomento della Guida da recuperare è quello dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere un argomento della Guida per l'oggetto) o un ID figlio (per ottenere un argomento della Guida per uno degli elementi figlio dell'oggetto).

pidTopic
Identifica l'argomento del file della Guida associato all'oggetto specificato. Vedere pidTopic in IAccessible::get_accHelpTopic Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accHelpTopic Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per fornire informazioni della Guida sull'oggetto.

Per altre informazioni, vedere IAccessible::get_accHelpTopic in Windows SDK.

CWnd::get_accKeyboardShortcut

Chiamata eseguita dal framework per recuperare la combinazione di tasti o il tasto di scelta dell'oggetto specificato.

virtual HRESULT get_accKeyboardShortcut(
    VARIANT varChild,
    BSTR* pszKeyboardShortcut);

Parametri

varChild
Specifica se il tasto di scelta rapida da recuperare è quello dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszKeyboardShortcut
Indirizzo di un oggetto BSTR che riceve una stringa localizzata che identifica la scelta rapida da tastiera o NULL se non è associata alcuna scelta rapida da tastiera all'oggetto specificato.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accKeyboardShortcut Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto di Active Accessibility MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da -per identificare i tasti di scelta rapida per l'oggetto.

Per altre informazioni, vedere IAccessible::get_accKeyboardShortcut in Windows SDK.

CWnd::get_accName

Chiamata eseguita dal framework per recuperare il nome dell'oggetto specificato.

virtual HRESULT get_accName(
    VARIANT varChild,
    BSTR* pszName);

Parametri

varChild
Specifica se il nome da recuperare è quello dell'oggetto o uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszName
Indirizzo di un oggetto BSTR che riceve una stringa contenente il nome dell'oggetto specificato.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accName Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da per restituire il nome dell'oggetto.

Per altre informazioni, vedere IAccessible::get_accName in Windows SDK.

CWnd::get_accParent

Chiamata eseguita dal framework per recuperare l'interfaccia IDispatch del padre dell'oggetto.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Parametri

ppdispParent
Riceve l'indirizzo dell'interfaccia dell'oggetto IDispatch padre. La variabile è impostata su NULL se non esiste alcun elemento padre o se l'elemento figlio non può accedere al relativo elemento padre.

Valore restituito

Restituisce S_OK in caso di esito positivo, un COM codice di errore in caso di errore. Vedere Valori restituiti in IAccessible::get_accParent Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Nella maggior parte dei casi non è necessario eseguire l'override di questa funzione.

Per altre informazioni, vedere IAccessible::get_accParent in Windows SDK.

CWnd::get_accRole

Chiamata eseguita dal framework per recuperare informazioni che descrivono il ruolo dell'oggetto specificato.

virtual HRESULT get_accRole(
    VARIANT varChild,
    VARIANT* pvarRole);

Parametri

varChild
Specifica se le informazioni sul ruolo da recuperare sono relative all'oggetto o a uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pvarRole
Riceve le informazioni sul ruolo. Vedere pvarRole in IAccessible::get_accRole Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accRole Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accRole in Windows SDK.

CWnd::get_accSelection

Chiamata eseguita dal framework per recuperare gli elementi figlio selezionati dell'oggetto.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parametri

pvarChildren
Riceve informazioni sugli elementi figlio selezionati. Vedere pvarChildren in IAccessible::get_accSelection Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accSelection Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accSelection in Windows SDK.

CWnd::get_accState

Chiamata eseguita dal framework per recuperare lo stato corrente dell'oggetto specificato.

virtual HRESULT get_accState(
    VARIANT varChild,
    VARIANT* pvarState);

Parametri

varChild
Specifica se le informazioni sullo stato da recuperare sono relative all'oggetto o a uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pvarState
Riceve informazioni sullo stato dell'oggetto. Vedere pvarState in IAccessible::get_accState Windows SDK.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accState Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accState in Windows SDK.

CWnd::get_accValue

Chiamata eseguita dal framework per recuperare il valore dell'oggetto specificato.

virtual HRESULT get_accValue(
    VARIANT varChild,
    BSTR* pszValue);

Parametri

varChild
Specifica se le informazioni sul valore da recuperare sono relative all'oggetto o a uno degli elementi figlio dell'oggetto. Questo parametro può essere CHILDID_SELF (per ottenere informazioni sull'oggetto) o un ID figlio (per ottenere informazioni sull'elemento figlio dell'oggetto).

pszValue
Indirizzo dell'oggetto BSTR che riceve una stringa localizzata contenente il valore corrente dell'oggetto.

Valore restituito

Restituisce S_OK in caso di esito positivo, un codice di errore COM in caso di errore. Vedere Valori restituiti in IAccessible::get_accValue Windows SDK.

Osservazioni:

Questa funzione fa parte del supporto per l'accessibilità attiva di MFC.

Eseguire l'override di questa funzione nella CWndclasse derivata da se sono presenti elementi dell'interfaccia utente nonwindowed (diversi dai controlli ActiveX senza finestra, gestiti da MFC).

Per altre informazioni, vedere IAccessible::get_accValue in Windows SDK.

CWnd::GetActiveWindow

Recupera un puntatore alla finestra attiva.

static CWnd* PASCAL GetActiveWindow();

Valore restituito

Finestra attiva o NULL se nessuna finestra era attiva al momento della chiamata. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

La finestra attiva è la finestra con lo stato attivo dell'input corrente o la finestra attivata in modo esplicito dalla SetActiveWindow funzione membro.

CWnd::GetAncestor

Recupera l'oggetto finestra predecessore della finestra specificata.

CWnd* GetAncestor(UINT gaFlags) const;

Parametri

gaFlags
Specifica il predecessore da recuperare. Per un elenco completo dei valori possibili, vedere GetAncestor.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un puntatore all'oggetto finestra predecessore. Se la funzione ha esito negativo, il valore restituito è NULL.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetAncestor, come descritto in Windows SDK.

CWnd::GetCapture

Recupera la finestra con acquisizione del mouse.

static CWnd* PASCAL GetCapture();

Valore restituito

Identifica la finestra con acquisizione del mouse. È NULL se nessuna finestra ha l'acquisizione del mouse.

Il valore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Una sola finestra ha l'acquisizione del mouse in qualsiasi momento. Una finestra riceve l'acquisizione del mouse quando viene chiamata la SetCapture funzione membro. Questa finestra riceve l'input del mouse indipendentemente dal fatto che il cursore si trova all'interno dei bordi.

CWnd::GetCaretPos

Recupera le coordinate client della posizione corrente del cursore e le restituisce come .CPoint

static CPoint PASCAL GetCaretPos();

Valore restituito

CPoint oggetto contenente le coordinate della posizione del cursore.

Osservazioni:

La posizione del cursore viene specificata nelle coordinate client della CWnd finestra.

CWnd::GetCheckedRadioButton

Recupera l'ID del pulsante di opzione attualmente selezionato nel gruppo specificato.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parametri

nIDFirstButton
Specifica l'identificatore intero del primo pulsante di opzione nel gruppo.

nIDLastButton
Specifica l'identificatore intero dell'ultimo pulsante di opzione nel gruppo.

Valore restituito

ID del pulsante di opzione selezionato o 0 se non è selezionato nessuno.

CWnd::GetClientRect

Copia le coordinate client dell'area CWnd client nella struttura a lpRectcui punta .

void GetClientRect(LPRECT lpRect) const;

Parametri

lpRect
Punta a una RECT struttura o a un CRect oggetto per ricevere le coordinate client. I left membri e top saranno 0. I right membri e bottom conterranno la larghezza e l'altezza della finestra.

Osservazioni:

Le coordinate client specificano gli angoli superiore sinistro e inferiore destro dell'area client. Poiché le coordinate client sono relative agli angoli superiori sinistro dell'area CWnd client, le coordinate dell'angolo superiore sinistro sono (0,0).

Esempio

Vedere l'esempio per CWnd::IsIconic.

CWnd::GetClipboardOwner

Recupera il proprietario corrente degli Appunti.

static CWnd* PASCAL GetClipboardOwner();

Valore restituito

Identifica la finestra proprietaria degli Appunti se la funzione ha esito positivo. In caso contrario, è NULL.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Gli Appunti possono comunque contenere dati anche se non sono attualmente di proprietà.

CWnd::GetClipboardViewer

Recupera la prima finestra della catena del visualizzatore Appunti.

static CWnd* PASCAL GetClipboardViewer();

Valore restituito

Identifica la finestra attualmente responsabile della visualizzazione degli Appunti in caso di esito positivo; in caso contrario NULL (ad esempio, se non è presente alcun visualizzatore).

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

CWnd::GetControlUnknown

Chiamare questa funzione membro per recuperare un puntatore a un controllo OLE sconosciuto.

LPUNKNOWN GetControlUnknown();

Valore restituito

Puntatore all'interfaccia IUnknown del controllo OLE rappresentato da questo CWnd oggetto. Se questo oggetto non rappresenta un controllo OLE, il valore restituito è NULL.

Osservazioni:

Non è consigliabile rilasciare questo IUnknown puntatore. In genere, è possibile usare per ottenere un'interfaccia specifica del controllo .

Il puntatore di interfaccia restituito da GetControlUnknown non viene conteggiato come riferimento. Non chiamare IUnknown::Release sul puntatore, a meno che non sia stato chiamato IUnknown::AddRef in precedenza.

Esempio

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.

// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);

// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();

// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);

// use IDispatch method to invoke the control's functionality

CWnd::GetCurrentMessage

Restituisce un puntatore al messaggio che questa finestra sta elaborando. Deve essere chiamato solo quando si trova in una funzione membro del gestore messaggi on message.

static const MSG* PASCAL GetCurrentMessage();

Valore restituito

Restituisce un puntatore alla MSG struttura che contiene il messaggio in cui è in corso l'elaborazione della finestra. Deve essere chiamato solo quando si trova in un gestore messaggi on.

Esempio

Vedere l'esempio per CMDIFrameWnd::MDICascade.

CWnd::GetDC

Recupera un puntatore a un contesto di dispositivo comune, di classe o privato per l'area client a seconda dello stile di classe specificato per .CWnd

CDC* GetDC();

Valore restituito

Identifica il contesto di dispositivo per l'area CWnd client se ha esito positivo; in caso contrario, il valore restituito è NULL. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Per i contesti di dispositivo comuni, GetDC assegna gli attributi predefiniti al contesto ogni volta che viene recuperato. Per i contesti di classe e privati, GetDC lascia invariati gli attributi assegnati in precedenza. Il contesto di dispositivo può essere usato nelle funzioni GDI (Graphics Device Interface) successive per disegnare nell'area client.

A meno che il contesto del dispositivo non appartenga a una classe window, la ReleaseDC funzione membro deve essere chiamata per rilasciare il contesto dopo il disegno.

Un contesto di dispositivo appartenente alla CWnd classe viene restituito dalla GetDC funzione membro se CS_CLASSDC, CS_OWNDCo CS_PARENTDC è stato specificato come stile nella WNDCLASS struttura quando la classe è stata registrata.

CWnd::GetDCEx

Recupera l'handle di un contesto di dispositivo per la CWnd finestra.

CDC* GetDCEx(
    CRgn* prgnClip,
    DWORD flags);

Parametri

prgnClip
Identifica un'area di ritaglio che può essere combinata con l'area visibile della finestra client.

flags
Può avere uno dei valori predefiniti seguenti:

  • DCX_CACHE Restituisce un contesto di dispositivo dalla cache anziché dalla OWNDC finestra o CLASSDC . Esegue l'override di CS_OWNDC e CS_CLASSDC.

  • DCX_CLIPCHILDREN Esclude le aree visibili di tutte le finestre figlio sotto la CWnd finestra.

  • DCX_CLIPSIBLINGS Esclude le aree visibili di tutte le finestre di pari livello sopra la CWnd finestra.

  • DCX_EXCLUDERGN Esclude l'area di ritaglio identificata dall'area prgnClip visibile del contesto di dispositivo restituito.

  • DCX_INTERSECTRGN Interseca l'area di ritaglio identificata dall'area prgnClip visibile del contesto di dispositivo restituito.

  • DCX_LOCKWINDOWUPDATE Consente il disegno anche se esiste una LockWindowUpdate chiamata in vigore che altrimenti escluderebbe questa finestra. Questo valore viene utilizzato per disegnare durante il rilevamento.

  • DCX_PARENTCLIPUsa l'area visibile della finestra padre e ignora i bit di stile e WS_PARENTDC della WS_CLIPCHILDREN finestra padre. Questo valore imposta l'origine del contesto di dispositivo sull'angolo superiore sinistro della CWnd finestra.

  • DCX_WINDOW Restituisce un contesto di dispositivo che corrisponde al rettangolo della finestra anziché al rettangolo client.

Valore restituito

Contesto del dispositivo per la finestra specificata se la funzione ha esito positivo; in caso contrario NULL, .

Osservazioni:

Il contesto di dispositivo può essere usato nelle funzioni GDI successive per disegnare nell'area client.

Questa funzione, che è un'estensione della GetDC funzione, fornisce un'applicazione più controllo su come e se un contesto di dispositivo per una finestra viene ritagliato.

A meno che il contesto di dispositivo non appartenga a una classe window, la ReleaseDC funzione deve essere chiamata per rilasciare il contesto dopo il disegno. Poiché solo cinque contesti di dispositivo comuni sono disponibili in un determinato momento, l'impossibilità di rilasciare un contesto di dispositivo può impedire ad altre applicazioni di accedere a un contesto di dispositivo.

Per ottenere un contesto di dispositivo memorizzato nella cache, un'applicazione deve specificare DCX_CACHE. Se DCX_CACHE non è specificato e la finestra non è né CS_OWNDCCS_CLASSDC, questa funzione restituisce NULL.

Un contesto di dispositivo con caratteristiche speciali viene restituito dalla GetDCEx funzione se lo CS_CLASSDCstile , CS_OWNDCo CS_PARENTDC è stato specificato nella WNDCLASS struttura quando la classe è stata registrata.

Per altre informazioni su queste caratteristiche, vedere la descrizione della WNDCLASS struttura in Windows SDK.

CWnd::GetDCRenderTarget

Recupera la destinazione di rendering del contesto di dispositivo per la finestra CWnd.

CDCRenderTarget* GetDCRenderTarget();

Valore restituito

Destinazione di rendering del contesto di dispositivo per la finestra specificata se la funzione ha esito positivo; in caso contrario NULL, .

Osservazioni:

CWnd::GetDescendantWindow

Chiamare questa funzione membro per trovare la finestra discendente specificata dall'ID specificato.

CWnd* GetDescendantWindow(
    int nID,
    BOOL bOnlyPerm = FALSE) const;

Parametri

nID
Specifica l'identificatore del controllo o della finestra figlio da recuperare.

bOnlyPerm
Specifica se la finestra da restituire può essere temporanea. Se TRUE, è possibile restituire solo una finestra permanente; se FALSE, la funzione può restituire una finestra temporanea. Per altre informazioni sulle finestre temporanee, vedere La nota tecnica 3.

Valore restituito

Puntatore a un CWnd oggetto o NULL se non viene trovata alcuna finestra figlio.

Osservazioni:

Questa funzione membro cerca l'intero albero delle finestre figlio, non solo le finestre che sono elementi figlio immediati.

CWnd::GetDesktopWindow

Restituisce la finestra desktop di Windows.

static CWnd* PASCAL GetDesktopWindow();

Valore restituito

Identifica la finestra desktop di Windows. Questo puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

La finestra desktop copre l'intero schermo ed è l'area in cui vengono dipinte tutte le icone e altre finestre.

CWnd::GetDlgCtrlID

Restituisce il valore dell'ID finestra o del controllo per qualsiasi finestra figlio, non solo per quello di un controllo in una finestra di dialogo.

int GetDlgCtrlID() const;

Valore restituito

Identificatore numerico della CWnd finestra figlio se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Poiché le finestre di primo livello non hanno un valore ID, il valore restituito di questa funzione non è valido se CWnd è una finestra di primo livello.

Esempio

Vedere l'esempio per CWnd::OnCtlColor.

CWnd::GetDlgItem

Recupera un puntatore al controllo o alla finestra figlio specificata in una finestra di dialogo o in un'altra finestra.

CWnd* GetDlgItem(int nID) const;

void GetDlgItem(
    int nID,
    HWND* phWnd) const;

Parametri

nID
Specifica l'identificatore del controllo o della finestra figlio da recuperare.

phWnd
Puntatore a una finestra figlio.

Valore restituito

Puntatore al controllo o alla finestra figlio specificata. Se non esiste alcun controllo con l'ID intero specificato dal nID parametro , il valore è NULL.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Il puntatore restituito viene in genere sottoposto a cast al tipo di controllo identificato da nID.

Esempio

// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);

CWnd::GetDlgItemInt

Recupera il testo del controllo identificato da nID.

UINT GetDlgItemInt(
    int nID,
    BOOL* lpTrans = NULL,
    BOOL bSigned = TRUE) const;

Parametri

nID
Specifica l'identificatore integer del controllo della finestra di dialogo da convertire.

lpTrans
Punta alla variabile booleana che deve ricevere il flag convertito.

bSigned
Specifica se il valore da recuperare è firmato.

Valore restituito

Specifica il valore tradotto del testo dell'elemento della finestra di dialogo. Poiché 0 è un valore restituito valido, lpTrans deve essere usato per rilevare gli errori. Se si desidera un valore restituito con segno, eseguirne il cast come int tipo.

La funzione restituisce 0 se il numero convertito è maggiore di INT_MAX (per i numeri con segno) o UINT_MAX (per non firmato).

Quando si verificano errori, ad esempio l'incontro di caratteri non numerici e il superamento del valore massimo, GetDlgItemInt copia 0 nella posizione a lpTranscui punta . Se non sono presenti errori, lpTrans riceve un valore diverso da zero. Se lpTrans è NULL, GetDlgItemInt non avvisa gli errori.

Osservazioni:

Converte il testo del controllo specificato nella finestra di dialogo specificata in un valore intero rimuovendo gli spazi aggiuntivi all'inizio del testo e convertendo cifre decimali. Interrompe la traduzione quando raggiunge la fine del testo o incontra qualsiasi carattere non numerico.

Se bSigned è TRUE, GetDlgItemInt cerca un segno meno (-) all'inizio del testo e converte il testo in un numero firmato. In caso contrario, crea un valore senza segno.

Invia un WM_GETTEXT messaggio al controllo .

CWnd::GetDlgItemText

Chiamare questa funzione membro per recuperare il titolo o il testo associato a un controllo in una finestra di dialogo.

int GetDlgItemText(
    int nID,
    LPTSTR lpStr,
    int nMaxCount) const;

int GetDlgItemText(
    int nID,
    CString& rString) const;

Parametri

nID
Specifica l'identificatore integer del controllo il cui titolo deve essere recuperato.

lpStr
Punta al buffer per ricevere il titolo o il testo del controllo.

nMaxCount
Specifica la lunghezza massima, espressa in caratteri, della stringa da copiare in lpStr. Se la stringa è più lunga di nMaxCount, viene troncata.

rString
Riferimento a un oggetto CString.

Valore restituito

Specifica il numero effettivo di caratteri copiati nel buffer, senza includere il carattere Null di terminazione. Il valore è 0 se non viene copiato alcun testo.

Osservazioni:

La GetDlgItemText funzione membro copia il testo nella posizione a lpStr cui punta e restituisce un conteggio del numero di byte copiato.

CWnd::GetDSCCursor

Chiamare questa funzione membro per recuperare un puntatore al cursore sottostante definito dalle DataSourceproprietà , UserNamePassword, e SQL del controllo origine dati.

IUnknown* GetDSCCursor();

Valore restituito

Puntatore a un cursore definito da un controllo origine dati. MFC si occupa di chiamare AddRef il puntatore.

Osservazioni:

Utilizzare il puntatore restituito per impostare la ICursor proprietà di un controllo complesso associato a dati, ad esempio il controllo griglia associato a dati. Un controllo origine dati non diventerà attivo fino a quando il primo controllo associato non richiede il cursore. Ciò può verificarsi in modo esplicito tramite una chiamata a GetDSCCursor o in modo implicito dalla gestione associazioni MFC. In entrambi i casi, è possibile forzare un controllo origine dati a diventare attivo chiamando GetDSCCursor e quindi chiamando Release sul puntatore restituito a IUnknown. L'attivazione causerà il tentativo di connessione del controllo origine dati all'origine dati sottostante. Il puntatore restituito può essere usato nel contesto seguente:

Esempio

BOOL CMyDlg::OnInitDialog()
{
   // Find the child controls on the dialog
   HRESULT hr = E_FAIL;
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
   IUnknown *punkList = pListWnd->GetControlUnknown();
   IDBList *pList = NULL;

   if (NULL != punkList)
   {
      hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
   }

   if (SUCCEEDED(hr))
   {
      // Tell the MFC binding manager that we are
      // binding DISPID 3 to the data-source control.
      pListWnd->BindProperty(0x3, pDSC);

      // Tell the listbox which field to expose as its bound column
      pList->put_BoundColumn(_T("ContactFirstName"));

      // Tell the listbox which cursor and column to populate its list from
      pList->put_ListField(_T("ContactFirstName"));

      IUnknown *punkCursor = pDSC->GetDSCCursor();
      if (NULL != punkCursor)
      {
         punkCursor->Release();
      }

      pList->Release();
      return TRUE;
   }

CWnd::GetDynamicLayout

Recupera un puntatore all'oggetto di gestione del layout dinamico.

CMFCDynamicLayout* GetDynamicLayout();

Valore restituito

Puntatore all'oggetto di gestione layout dinamico o NULL se il layout dinamico non è abilitato.

Osservazioni:

L'oggetto finestra possiede e gestisce la durata del puntatore restituito. Per tale motivo, deve essere usato solo per accedere all'oggetto. Non eliminare o archiviare definitivamente il puntatore.

CWnd::GetExStyle

Restituisce lo stile esteso della finestra.

DWORD GetExStyle() const;

Valore restituito

Stile esteso della finestra. Per altre informazioni sugli stili delle finestre estese usati in MFC, vedere Stili di finestra estesa.

CWnd::GetFocus

Recupera un puntatore all'oggetto CWnd che ha attualmente lo stato attivo per l'input.

static CWnd* PASCAL GetFocus();

Valore restituito

Puntatore alla finestra con lo stato attivo corrente o NULL se non è presente alcuna finestra messa a fuoco.

Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

CWnd::GetFont

Invia il WM_GETFONT messaggio alla finestra per recuperare il tipo di carattere corrente.

CFont* GetFont() const;

Valore restituito

Puntatore a un CFont oggetto associato al tipo di carattere corrente per la finestra.

Osservazioni:

Questo metodo non ha alcun effetto a meno che la finestra non elabori il WM_GETFONT messaggio. Molte classi MFC che derivano dal CWnd processo di questo messaggio perché sono associate a una classe finestra predefinita che include un gestore messaggi per il WM_GETFONT messaggio. Per usare questo metodo, le classi derivate da CWnd devono definire un gestore di metodi per il WM_GETFONT messaggio.

CWnd::GetForegroundWindow

Restituisce un puntatore alla finestra in primo piano (la finestra con cui l'utente sta attualmente lavorando).

static CWnd* PASCAL GetForegroundWindow();

Valore restituito

Puntatore alla finestra in primo piano. Può trattarsi di un oggetto temporaneo CWnd .

Osservazioni:

La finestra in primo piano si applica solo alle finestre di primo livello (finestre cornice o finestre di dialogo).

CWnd::GetIcon

Chiamare questa funzione membro per ottenere l'handle su un'icona grande (32x32) o su un'icona piccola (16x16), come indicato da bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parametri

bBigIcon
Specifica un'icona da 32 pixel a 32 pixel se TRUE; specifica un'icona da 16 pixel a 16 pixel se FALSE.

Valore restituito

Handle di un'icona. Se ha esito negativo, restituisce NULL.

CWnd::GetLastActivePopup

Determina la finestra popup di proprietà di CWnd attiva più di recente.

CWnd* GetLastActivePopup() const;

Valore restituito

Identifica la finestra popup attiva più di recente. Il valore restituito sarà la finestra stessa se vengono soddisfatte le condizioni seguenti:

  • La finestra stessa è stata attiva più di recente.

  • La finestra non possiede finestre popup.

  • La finestra non è una finestra di primo livello o è di proprietà di un'altra finestra.

Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Esempio

Vedere l'esempio per CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Recupera la chiave di colore per trasparenza e opacità di una finestra a livelli.

BOOL GetLayeredWindowAttributes(
    COLORREF* pcrKey,
    BYTE* pbAlpha,
    DWORD* pdwFlags) const;

Parametri

pcrKey
Puntatore a un COLORREF valore che riceve la chiave del colore di trasparenza da utilizzare durante la composizione della finestra a più livelli. Tutti i pixel dipinti dalla finestra in questo colore saranno trasparenti. Questo può essere NULL se l'argomento non è necessario.

pbAlpha
Puntatore a un BYTE oggetto che riceve il valore Alfa usato per descrivere l'opacità della finestra a più livelli. Quando la variabile a pbAlpha cui fa riferimento è 0, la finestra è completamente trasparente. Quando la variabile a pbAlpha cui fa riferimento è 255, la finestra è opaca. Questo può essere NULL se l'argomento non è necessario.

pdwFlags
Puntatore a un oggetto DWORD che riceve un flag di layering. Questo può essere NULL se l'argomento non è necessario. Per un elenco completo dei valori possibili, vedere 'GetLayeredWindowAttributes.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetLayeredWindowAttributes, come descritto in Windows SDK.

CWnd::GetMenu

Recupera un puntatore al menu per questa finestra.

CMenu* GetMenu() const;

Valore restituito

Identifica il menu. Il valore è NULL se CWnd non è presente alcun menu. Il valore restituito non è definito se CWnd è una finestra figlio.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Questa funzione non deve essere usata per le finestre figlio perché non hanno un menu.

Esempio

void CMainFrame::OnCwndDeletefilemenu()
{
   // This example deletes the leftmost popup menu or leftmost
   // popup menu item from the application's main window.
   CWnd *pMain = AfxGetMainWnd();

   // The main window _can_ be NULL, so this code
   // doesn't ASSERT and actually tests.
   if (pMain != NULL)
   {
      // Get the main window's menu
      CMenu *pMenu = pMain->GetMenu();

      // If there is a menu and it has items, we'll
      // delete the first one.
      if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
      {
         pMenu->DeleteMenu(0, MF_BYPOSITION);
         // force a redraw of the menu bar
         pMain->DrawMenuBar();
      }

      // No need to delete pMenu because it is an MFC
      // temporary object.
   }
}

CWnd::GetMenuBarInfo

Recupera informazioni sulla barra dei menu specificata.

BOOL GetMenuBarInfo(
    LONG idObject,
    LONG idItem,
    PMENUBARINFO pmbi) const;

Parametri

idObject
Specifica l'oggetto menu. Per un elenco dei valori possibili, vedere GetMenuBarInfo.

idItem
Specifica l'elemento per il quale recuperare le informazioni. Se questo parametro è zero, la funzione recupera informazioni sul menu stesso. Se questo parametro è 1, la funzione recupera informazioni sulla prima voce del menu e così via.

pmbi
Puntatore a una MENUBARINFO struttura che riceve le informazioni.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetMenuBarInfo, come descritto in Windows SDK.

CWnd::GetNextDlgGroupItem

Cerca il controllo precedente o successivo all'interno di un gruppo di controlli in una finestra di dialogo.

CWnd* GetNextDlgGroupItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgGroupItem(
    COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;

Parametri

pWndCtl
Identifica il controllo da utilizzare come punto di partenza per la ricerca.

bPrevious
Specifica il modo in cui la funzione deve cercare il gruppo di controlli nella finestra di dialogo. Se TRUE, la funzione cerca il controllo precedente nel gruppo; se FALSE, cerca il controllo successivo nel gruppo.

pCurSiteOrWnd
Identifica il COleControlSiteOrWnd controllo . Per altre informazioni su COleControlSiteOrWnd, vedere Osservazioni.

Valore restituito

Puntatore al controllo precedente o successivo nel gruppo se la funzione membro ha esito positivo.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Un gruppo di controlli inizia con un controllo creato con lo WS_GROUP stile e termina con l'ultimo controllo che non è stato creato con lo WS_GROUP stile .

Per impostazione predefinita, la GetNextDlgGroupItem funzione membro restituisce un puntatore al controllo successivo nel gruppo. Se pWndCtl identifica il primo controllo nel gruppo e bPrevious è TRUE, GetNextDlgGroupItem restituisce un puntatore all'ultimo controllo del gruppo.

Nota

Poiché MFC supporta controlli ActiveX senza finestra, controlli ActiveX standard e finestre, facendo riferimento a un controllo solo da un elemento HWND non è più sufficiente. L'oggetto COleControlSiteOrWnd include informazioni che identificano l'oggetto come controllo ActiveX finestrato, un controllo ActiveX senza finestra o una finestra, come indicato di seguito:

Tipo di controllo o finestra Identificazione delle informazioni
Controllo ActiveX finestrato Contiene un oggetto HWND e associa a esso un oggetto COleControlSite . Il m_hWnd membro di COleControlSiteOrWnd è impostato sull'oggetto HWND del controllo e il m_pSite membro punta al controllo .COleControlSite
Controllo ActiveX senza finestra Non contiene .HWND Il m_pSite membro di COleControlSiteOrWnd punta al controllo COleControlSitee il m_hWnd membro è NULL.
Finestra standard Contiene solo un oggetto HWND. Il m_hWnd membro di COleControlSiteOrWnd è impostato su HWND della finestra e il m_pSite membro è NULL.

CWnd::GetNextDlgTabItem

Recupera un puntatore al primo controllo creato con lo WS_TABSTOP stile e che precede o segue il controllo specificato.

CWnd* GetNextDlgTabItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgTabItem(
    COleControlSiteOrWnd* pCurSiteOrWnd,
    BOOL bPrevious) const;

Parametri

pWndCtl
Identifica il controllo da utilizzare come punto di partenza per la ricerca.

pCurSiteOrWnd
Identifica il COleControlSiteOrWnd controllo . Per altre informazioni su COleControlSiteOrWnd, vedere CWnd::GetNextDlgGroupItem.

bPrevious
Specifica la modalità di ricerca della funzione nella finestra di dialogo. Se TRUE, la funzione cerca il controllo precedente nella finestra di dialogo; se FALSE, cerca il controllo successivo.

Valore restituito

Puntatore al controllo precedente o successivo con lo WS_TABSTOP stile , se la funzione membro ha esito positivo.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Per altre informazioni su COleControlSiteOrWnd, vedere CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Cerca la finestra successiva (o precedente) nell'elenco del gestore finestre.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parametri

nFlag
Specifica se la funzione restituisce un puntatore alla finestra successiva o alla finestra precedente. Può essere GW_HWNDNEXT, che restituisce la finestra che segue l'oggetto CWnd nell'elenco di Gestione finestre oppure GW_HWNDPREV, che restituisce la finestra precedente nell'elenco di Gestione finestre.

Valore restituito

Identifica la finestra successiva (o precedente) nell'elenco del gestore finestre se la funzione membro ha esito positivo.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

L'elenco di Gestione finestre contiene voci per tutte le finestre di primo livello, le finestre figlio associate e le finestre figlio di qualsiasi finestra figlio.

Se è una finestra di primo livello, la funzione cerca la finestra di primo livello successiva (o precedente). Se CWndCWnd è una finestra figlio, la funzione cerca la finestra figlio successiva (o precedente).

CWnd::GetOleControlSite

Recupera il sito personalizzato per il controllo ActiveX specificato.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parametri

idControl
ID del controllo ActiveX.

CWnd::GetOpenClipboardWindow

Recupera l'handle della finestra in cui sono attualmente aperti gli Appunti.

static CWnd* PASCAL GetOpenClipboardWindow();

Valore restituito

Handle della finestra che ha attualmente aperto gli Appunti se la funzione ha esito positivo; in caso contrario NULL, .

CWnd::GetOwner

Recupera un puntatore al proprietario della finestra.

CWnd* GetOwner() const;

Valore restituito

Puntatore a un oggetto CWnd.

Osservazioni:

Se la finestra non ha proprietario, per impostazione predefinita viene restituito un puntatore all'oggetto finestra padre. Si noti che la relazione tra il proprietario e la proprietà differisce dall'aspetto padre-figlio in diversi aspetti importanti. Ad esempio, una finestra con un elemento padre è limitata all'area client della finestra padre. Le finestre di proprietà possono essere disegnate in qualsiasi posizione sul desktop.

Il concetto di proprietà di questa funzione è diverso dal concetto di proprietà di GetWindow.

CWnd::GetParent

Chiamare questa funzione per ottenere un puntatore alla finestra padre di una finestra figlio (se presente).

CWnd* GetParent() const;

Valore restituito

Vedere la sezione Valori restituiti in GetParent Windows SDK.

Osservazioni:

La GetParent funzione restituisce un puntatore all'elemento padre immediato (se esistente). Al contrario, la GetParentOwner funzione restituisce un puntatore alla finestra padre o proprietario più immediata che non è una finestra figlio (non ha lo WS_CHILD stile). Se si dispone di una finestra figlio all'interno di una finestra GetParent figlio e GetParentOwner si restituiscono risultati diversi.

CWnd::GetParentFrame

Chiamare questa funzione membro per recuperare la finestra cornice padre.

CFrameWnd* GetParentFrame() const;

Valore restituito

Puntatore a una finestra cornice in caso di esito positivo; in caso contrario NULL, .

Osservazioni:

La funzione membro cerca nella catena padre fino a quando non viene trovato un CFrameWnd oggetto (o una classe derivata).

CWnd::GetParentOwner

Chiamare questa funzione membro per ottenere un puntatore alla finestra padre o al proprietario di una finestra figlio della finestra.

CWnd* GetParentOwner() const;

Valore restituito

Puntatore a un oggetto CWnd. Se un CWnd oggetto non è collegato all'handle, viene creato e collegato un oggetto temporaneo CWnd . Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

GetParentOwner restituisce un puntatore alla finestra padre o proprietario più immediata che non è una finestra figlio (non ha lo WS_CHILD stile). La finestra del proprietario corrente può essere impostata con SetOwner. Per impostazione predefinita, l'elemento padre di una finestra è il proprietario.

Al contrario, la GetParent funzione restituisce un puntatore all'elemento padre immediato, indipendentemente dal fatto che si tratti di una finestra figlio o meno. Se si dispone di una finestra figlio all'interno di una finestra GetParent figlio e GetParentOwner si restituiscono risultati diversi.

CWnd::GetProperty

Chiamare questa funzione membro per ottenere la proprietà del controllo ActiveX specificata da dwDispID.

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

Parametri

dwDispID
Identifica la proprietà da recuperare.

vtProp
Specifica il tipo della proprietà da recuperare. Per i valori possibili, vedere la sezione Osservazioni per COleDispatchDriver::InvokeHelper.

pvProp
Indirizzo della variabile che riceverà il valore della proprietà. Deve corrispondere al tipo specificato da vtProp.

Osservazioni:

GetProperty restituisce il valore tramite pvProp.

Nota

Questa funzione deve essere chiamata solo su un CWnd oggetto che rappresenta un controllo ActiveX.

Per altre informazioni sull'uso di questa funzione membro con contenitori di controlli ActiveX, vedere l'articolo Contenitori di controlli ActiveX: Programmazione di controlli ActiveX in un contenitore di controlli ActiveX.

CWnd::GetRenderTarget

Ottiene una destinazione di rendering associata alla finestra.

CHwndRenderTarget* GetRenderTarget();

Valore restituito

Puntatore alla destinazione di rendering o NULL.

CWnd::GetSafeHwnd

Restituisce m_hWndo NULL se il this puntatore è NULL.

HWND GetSafeHwnd() const;

Valore restituito

Restituisce l'handle di finestra per una finestra. Restituisce NULL se l'oggetto CWnd non è collegato a una finestra o se viene utilizzato con un NULLCWnd puntatore.

Esempio

Vedere l'esempio per CWnd::SubclassWindow.

CWnd::GetSafeOwner

Chiamare questa funzione membro per recuperare la finestra del proprietario che deve essere utilizzata per le finestre di dialogo o altre finestre modali.

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

Parametri

pParent
Puntatore a una finestra padre CWnd . Può essere NULL.

pWndTop
Puntatore alla finestra attualmente in alto. Può essere NULL.

Valore restituito

Puntatore al proprietario sicuro per la finestra specificata.

Osservazioni:

Il proprietario sicuro è la prima finestra padre non figlio di pParent. Se pParent è NULL, la finestra principale del thread (recuperata tramite AfxGetMainWnd) viene usata per trovare un proprietario.

Nota

Il framework stesso usa questa funzione per determinare la finestra di proprietario corretta per finestre di dialogo e finestre di proprietà in cui il proprietario non è specificato.

CWnd::GetScrollBarCtrl

Chiamare questa funzione membro per ottenere un puntatore alla barra di scorrimento o alla finestra di divisione di pari livello specificata.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parametri

nBar
Specifica il tipo di barra di scorrimento. Il parametro può accettare uno dei valori seguenti:

  • SB_HORZ Recupera la posizione della barra di scorrimento orizzontale.

  • SB_VERT Recupera la posizione della barra di scorrimento verticale.

Valore restituito

Controllo barra di scorrimento di pari livello o NULL se nessuno.

Osservazioni:

Questa funzione membro non opera sulle barre di scorrimento create quando i WS_HSCROLL bit o WS_VSCROLL vengono impostati durante la creazione di una finestra. L'implementazione CWnd di questa funzione restituisce NULLsemplicemente . Le classi derivate, ad esempio CView, implementano la funzionalità descritta.

CWnd::GetScrollBarInfo

Recupera le informazioni sulla barra di scorrimento specificata.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parametri

idObject
Specifica l'oggetto menu. Per un elenco dei valori possibili, vedere GetScrollBarInfo.

psbi
Puntatore a una SCROLLBARINFO struttura che riceve le informazioni.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetScrollBarInfo, come descritto in Windows SDK.

CWnd::GetScrollInfo

Chiamare questa funzione membro per recuperare le informazioni che la SCROLLINFO struttura gestisce su una barra di scorrimento.

BOOL GetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

Parametri

nBar
Specifica se la barra di scorrimento è un controllo o una parte dell'area non client di una finestra. Se fa parte dell'area non client, nBar indica anche se la barra di scorrimento è posizionata orizzontalmente, verticalmente o entrambe. Deve essere uno dei seguenti:

  • SB_CTL Recupera i parametri per un controllo barra di scorrimento. Il m_hWnd membro dati deve essere l'handle del controllo barra di scorrimento.

  • SB_HORZ Recupera i parametri per la barra di scorrimento orizzontale standard della finestra.

  • SB_VERT Recupera i parametri per la barra di scorrimento verticale standard della finestra.

lpScrollInfo
Puntatore a una SCROLLINFO struttura. Per altre informazioni su questa struttura, vedere Windows SDK.

nMask
Specifica i parametri della barra di scorrimento da recuperare. Il valore predefinito specifica una combinazione di SIF_PAGE, SIF_POS, SIF_TRACKPOSe SIF_RANGE. Per altre informazioni sui nMask valori, vedere SCROLLINFO .

Valore restituito

Se il messaggio ha recuperato valori, il valore restituito è TRUE. In caso contrario, è FALSE.

Osservazioni:

GetScrollInfo consente alle applicazioni di usare posizioni di scorrimento a 32 bit.

La SCROLLINFO struttura contiene informazioni su una barra di scorrimento, incluse le posizioni di scorrimento minime e massime, le dimensioni della pagina e la posizione della casella di scorrimento (il pollice). Per altre informazioni sulla modifica delle impostazioni predefinite della struttura, vedere l'argomento SCROLLINFO relativo alla struttura in Windows SDK.

I gestori di messaggi di Windows MFC che indicano la posizione della barra di scorrimento, CWnd::OnHScroll e CWnd::OnVScroll, forniscono solo 16 bit di dati di posizione. GetScrollInfo e SetScrollInfo forniscono 32 bit di dati di posizione barra di scorrimento. Pertanto, un'applicazione può chiamare GetScrollInfo durante l'elaborazione CWnd::OnHScroll o CWnd::OnVScroll per ottenere dati sulla posizione della barra di scorrimento a 32 bit.

CWnd::GetScrollLimit

Chiamare questa funzione membro per recuperare la posizione di scorrimento massima della barra di scorrimento.

int GetScrollLimit(int nBar);

Parametri

nBar
Specifica il tipo di barra di scorrimento. Il parametro può accettare uno dei valori seguenti:

  • SB_HORZ Recupera il limite di scorrimento della barra di scorrimento orizzontale.

  • SB_VERT Recupera il limite di scorrimento della barra di scorrimento verticale.

Valore restituito

Specifica la posizione massima di una barra di scorrimento se ha esito positivo; in caso contrario, 0.

CWnd::GetScrollPos

Recupera la posizione corrente della casella di scorrimento di una barra di scorrimento.

int GetScrollPos(int nBar) const;

Parametri

nBar
Specifica la barra di scorrimento da esaminare. Il parametro può accettare uno dei valori seguenti:

  • SB_HORZ Recupera la posizione della barra di scorrimento orizzontale.

  • SB_VERT Recupera la posizione della barra di scorrimento verticale.

Valore restituito

Specifica la posizione corrente della casella di scorrimento nella barra di scorrimento se ha esito positivo; in caso contrario, 0.

Osservazioni:

La posizione corrente è un valore relativo che dipende dall'intervallo di scorrimento corrente. Ad esempio, se l'intervallo di scorrimento è compreso tra 50 e 100 e la casella di scorrimento si trova al centro della barra, la posizione corrente è 75.

CWnd::GetScrollRange

Copia le posizioni della barra di scorrimento minima e massima correnti per la barra di scorrimento specificata nelle posizioni specificate da lpMinPos e lpMaxPos.

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

Parametri

nBar
Specifica la barra di scorrimento da esaminare. Il parametro può accettare uno dei valori seguenti:

  • SB_HORZ Recupera la posizione della barra di scorrimento orizzontale.

  • SB_VERT Recupera la posizione della barra di scorrimento verticale.

lpMinPos
Punta alla variabile integer che deve ricevere la posizione minima.

lpMaxPos
Punta alla variabile integer che deve ricevere la posizione massima.

Osservazioni:

Se CWnd non dispone di una barra di scorrimento, la GetScrollRange funzione membro copia 0 in lpMinPos e lpMaxPos.

L'intervallo predefinito per una barra di scorrimento standard è compreso tra 0 e 100. L'intervallo predefinito per un controllo barra di scorrimento è vuoto (entrambi i valori sono 0).

CWnd::GetStyle

Restituisce lo stile della finestra corrente.

DWORD GetStyle() const;

Valore restituito

Stile della finestra. Per altre informazioni sugli stili di finestra usati in MFC, vedere Stili finestra.

CWnd::GetSystemMenu

Consente all'applicazione di accedere al menu di controllo per la copia e la modifica.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parametri

bRevert
Specifica l'azione da eseguire. Se bRevert è FALSE, GetSystemMenu restituisce un handle a una copia del menu Controllo attualmente in uso. Questa copia è inizialmente identica al menu Controllo, ma può essere modificata. Se bRevert è TRUE, GetSystemMenu ripristina lo stato predefinito del menu Controllo. Il menu controllo precedente, eventualmente modificato, viene eliminato definitivamente. In questo caso, il valore restituito non è definito.

Valore restituito

Identifica una copia del menu Controllo se bRevert è FALSE. Se bRevert è TRUE, il valore restituito non è definito.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Qualsiasi finestra che non usa GetSystemMenu per creare una propria copia del menu Controllo riceve il menu Controllo standard.

Il puntatore restituito dalla GetSystemMenu funzione membro può essere usato con le CMenu::AppendMenufunzioni , CMenu::InsertMenuo CMenu::ModifyMenu per modificare il menu Controllo.

Il menu Controllo contiene inizialmente elementi identificati con vari valori ID, ad SC_CLOSEesempio , SC_MOVEe SC_SIZE. Gli elementi del menu Controllo generano WM_SYSCOMMAND messaggi. Tutte le voci predefinite del menu Di controllo hanno numeri ID maggiori di 0xF000. Se un'applicazione aggiunge elementi al menu Controllo, deve usare numeri ID minori di F000.

Windows può rendere automaticamente gli elementi non disponibili nel menu Controllo standard. CWnd può eseguire la propria selezione o indisponibilità rispondendo ai WM_INITMENU messaggi, che vengono inviati prima che venga visualizzato qualsiasi menu.

Esempio

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
   CString strAboutMenu;
   strAboutMenu.LoadString(IDS_ABOUT);
   if (!strAboutMenu.IsEmpty())
   {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
   }
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);  // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

CWnd::GetTitleBarInfo

Recupera le informazioni sulla barra del titolo specificata.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Parametri

pti
Puntatore a una TITLEBARINFO struttura che riceve le informazioni.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetTitleBarInfo, come descritto in Windows SDK.

CWnd::GetTopLevelFrame

Chiamare questa funzione membro per recuperare la finestra cornice di primo livello della finestra, se presente.

CFrameWnd* GetTopLevelFrame() const;

Valore restituito

Identifica la finestra cornice di primo livello della finestra.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Se CWnd non ha una finestra associata o il padre di primo livello non è un CFrameWndoggetto derivato da , questa funzione restituisce NULL.

CWnd::GetTopLevelOwner

Chiamare questa funzione membro per recuperare la finestra di primo livello.

CWnd* GetTopLevelOwner() const;

Valore restituito

Identifica la finestra di primo livello. Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

La finestra di primo livello è la finestra figlio del desktop. Se CWnd non ha una finestra associata, questa funzione restituisce NULL.

CWnd::GetTopLevelParent

Chiamare questa funzione membro per recuperare l'elemento padre di primo livello della finestra.

CWnd* GetTopLevelParent() const;

Valore restituito

Identifica la finestra padre di primo livello della finestra.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

GetTopLevelParent è simile a GetTopLevelFrame e GetTopLevelOwner, tuttavia ignora il valore impostato come finestra del proprietario corrente.

CWnd::GetTopWindow

Cerca la finestra figlio di primo livello che appartiene a CWnd.

CWnd* GetTopWindow() const;

Valore restituito

Identifica la finestra figlio di primo livello in un CWnd elenco collegato di finestre figlio. Se non esistono finestre figlio, il valore è NULL.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Se CWnd non ha elementi figlio, questa funzione restituisce NULL.

CWnd::GetUpdateRect

Recupera le coordinate del rettangolo più piccolo che racchiude completamente l'area di aggiornamento di .

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

Parametri

lpRect
Punta a un oggetto o RECT a una CRect struttura che deve ricevere le coordinate client dell'aggiornamento che racchiude l'area di aggiornamento.

Impostare questo parametro su NULL per determinare se esiste un'area di aggiornamento all'interno di CWnd. Se lpRect è NULL, la GetUpdateRect funzione membro restituisce un valore diverso da zero se esiste un'area di aggiornamento e 0 in caso contrario. In questo modo è possibile determinare se un WM_PAINT messaggio è stato generato da un'area non valida. Non impostare questo parametro su NULL in Windows versione 3.0 e precedenti.

bErase
Specifica se lo sfondo nell'area di aggiornamento deve essere cancellato.

Valore restituito

Specifica lo stato dell'area di aggiornamento. Il valore è diverso da zero se l'area di aggiornamento non è vuota; in caso contrario, 0.

Se il lpRect parametro è impostato su NULL, il valore restituito è diverso da zero se esiste un'area di aggiornamento; in caso contrario, 0.

Osservazioni:

Se CWnd è stato creato con lo CS_OWNDC stile e la modalità di mapping non MM_TEXTè , la GetUpdateRect funzione membro fornisce il rettangolo nelle coordinate logiche. In caso contrario, GetUpdateRect assegna il rettangolo nelle coordinate client. Se non è presente alcuna area di aggiornamento, GetUpdateRect imposta il rettangolo su vuoto (imposta tutte le coordinate su 0).

Il bErase parametro specifica se GetUpdateRect cancellare lo sfondo dell'area di aggiornamento. Se bErase è TRUE e l'area di aggiornamento non è vuota, lo sfondo viene cancellato. Per cancellare lo sfondo, GetUpdateRect invia il WM_ERASEBKGND messaggio.

Il rettangolo di aggiornamento recuperato dalla BeginPaint funzione membro è identico a quello recuperato dalla GetUpdateRect funzione membro.

La BeginPaint funzione membro convalida automaticamente l'area di aggiornamento, quindi qualsiasi chiamata a GetUpdateRect effettuata immediatamente dopo una chiamata per BeginPaint recuperare un'area di aggiornamento vuota.

CWnd::GetUpdateRgn

Recupera l'area di aggiornamento in un'area identificata da pRgn.

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Parametri

pRgn
Identifica l'area di aggiornamento.

bErase
Specifica se lo sfondo verrà cancellato e le aree non client delle finestre figlio verranno disegnate. Se il valore è FALSE, non viene eseguito alcun disegno.

Valore restituito

Specifica un flag short-integer che indica il tipo di area risultante. Il valore può accettare uno dei seguenti elementi:

  • SIMPLEREGION L'area non ha bordi sovrapposti.

  • COMPLEXREGION L'area ha bordi sovrapposti.

  • NULLREGION L'area è vuota.

  • ERROR Nessuna area creata.

Osservazioni:

Le coordinate di questa area sono relative all'angolo superiore sinistro (coordinate client).

La BeginPaint funzione membro convalida automaticamente l'area di aggiornamento, quindi qualsiasi chiamata a GetUpdateRgn effettuata immediatamente dopo una chiamata per BeginPaint recuperare un'area di aggiornamento vuota.

CWnd::GetWindow

Restituisce un puntatore alla finestra richiesta o NULL se nessuno.

CWnd* GetWindow(UINT nCmd) const;

Parametri

*nCmd*
Specifica la relazione tra CWnd e la finestra restituita. Può accettare uno dei valori seguenti:

  • GW_CHILD Identifica la CWnd prima finestra figlio.

  • GW_HWNDFIRST Se CWnd è una finestra figlio, restituisce la prima finestra di pari livello. In caso contrario, restituisce la prima finestra di primo livello nell'elenco.

  • GW_HWNDLAST Se CWnd è una finestra figlio, restituisce l'ultima finestra di pari livello. In caso contrario, restituisce l'ultima finestra di primo livello nell'elenco.

  • GW_HWNDNEXT Restituisce la finestra successiva dell'elenco di Gestione finestre.

  • GW_HWNDPREV Restituisce la finestra precedente nell'elenco di Gestione finestre.

  • GW_OWNER Identifica il CWnd proprietario.

Valore restituito

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

CWnd::GetWindowContextHelpId

Chiamare questa funzione membro per recuperare l'identificatore del contesto della Guida, se presente, associato alla finestra.

DWORD GetWindowContextHelpId() const;

Valore restituito

Identificatore del contesto della Guida. Restituisce 0 se la finestra non ha alcun valore.

CWnd::GetWindowedChildCount

Chiamare questa funzione membro per recuperare il numero di finestre figlio associate.

long GetWindowedChildCount();

Valore restituito

Numero di finestre figlio associate all'oggetto CWnd .

CWnd::GetWindowDC

Recupera il contesto di visualizzazione per l'intera finestra, inclusi didascalia barra, menu e barre di scorrimento.

CDC* GetWindowDC();

Valore restituito

Identifica il contesto di visualizzazione per la finestra specificata se la funzione ha esito positivo; in caso contrario NULL, .

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo. ReleaseDC deve essere chiamato una volta per ogni chiamata riuscita a GetWindowDC.

Osservazioni:

Un contesto di visualizzazione della finestra consente di disegnare ovunque in CWnd, poiché l'origine del contesto è l'angolo superiore sinistro di CWnd anziché l'area client.

Gli attributi predefiniti vengono assegnati al contesto di visualizzazione ogni volta che recupera il contesto. Gli attributi precedenti vengono persi.

GetWindowDC è progettato per essere utilizzato per effetti di pittura speciali all'interno dell'area CWnd non client. La pittura in aree non client di qualsiasi finestra non è consigliata.

La GetSystemMetrics funzione Windows può essere utilizzata per recuperare le dimensioni di varie parti dell'area non client, ad esempio la barra didascalia, il menu e le barre di scorrimento.

Al termine del disegno, è necessario chiamare la ReleaseDC funzione membro per rilasciare il contesto di visualizzazione. Il mancato rilascio del contesto di visualizzazione influirà seriamente sul disegno richiesto dalle applicazioni a causa di limitazioni sul numero di contesti di dispositivo che possono essere aperti contemporaneamente.

CWnd::GetWindowInfo

Recupera informazioni sulla finestra.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Parametri

pwi
Puntatore a una WINDOWINFO struttura.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione GetWindowInfo, come descritto in Windows SDK.

CWnd::GetWindowlessChildCount

Recupera il numero di finestre figlio senza finestra associate.

long GetWindowlessChildCount();

Valore restituito

Numero di finestre figlio senza finestra associate all'oggetto CWnd .

CWnd::GetWindowPlacement

Recupera lo stato di visualizzazione e le posizioni normale (ripristinata), ridotta a icona e ingrandita di una finestra.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Parametri

lpwndpl
Punta alla WINDOWPLACEMENT struttura che riceve le informazioni sullo stato di visualizzazione e sulla posizione.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Il flags membro della WINDOWPLACEMENT struttura recuperata da questa funzione è sempre 0. Se CWnd è ingrandita, il showCmd membro di WINDOWPLACEMENT è SW_SHOWMAXIMIZED. Se la finestra è ridotta a icona, è SW_SHOWMINIMIZED. SW_SHOWNORMAL In caso contrario,

CWnd::GetWindowRect

Copia le dimensioni del rettangolo di delimitazione dell'oggetto CWnd nella struttura a lpRectcui punta .

void GetWindowRect(LPRECT lpRect) const;

Parametri

lpRect
Punta a un CRect oggetto o a una RECT struttura che riceverà le coordinate dello schermo degli angoli superiore sinistro e inferiore destro.

Osservazioni:

Le dimensioni vengono specificate nelle coordinate dello schermo rispetto all'angolo superiore sinistro dello schermo. Le dimensioni della didascalia, del bordo e delle barre di scorrimento, se presenti, sono incluse.

CWnd::GetWindowRgn

Chiamare questa funzione membro per ottenere l'area della finestra di una finestra.

int GetWindowRgn(HRGN hRgn)const;

Parametri

hRgn
Handle in un'area della finestra.

Valore restituito

Il valore restituito specifica il tipo dell'area ottenuta dalla funzione. Può essere uno dei valori seguenti:

  • NULLREGION L'area è vuota.

  • SIMPLEREGION L'area è un singolo rettangolo.

  • COMPLEXREGION L'area è più di un rettangolo.

  • ERROR Si è verificato un errore; l'area non è interessata.

Osservazioni:

L'area della finestra determina l'area all'interno della finestra in cui il sistema operativo consente il disegno. Il sistema operativo non visualizza alcuna parte di una finestra che si trova all'esterno dell'area della finestra.

Le coordinate dell'area della finestra di una finestra sono relative all'angolo superiore sinistro della finestra, non all'area client della finestra.

Per impostare l'area della finestra di una finestra, chiamare CWnd::SetWindowRgn.

CWnd::GetWindowText

Copia il CWnd titolo didascalia (se presente) nel buffer a lpszStringBuf cui punta o nella stringa rStringdi destinazione .

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parametri

lpszStringBuf
Punta al buffer che deve ricevere la stringa copiata del titolo della finestra.

nMaxCount
Specifica il numero massimo di caratteri da copiare nel buffer, incluso il carattere Null di terminazione. Se la stringa è più lunga del numero di caratteri specificato in nMaxCount, viene troncata.

rString
Oggetto CString che deve ricevere la stringa copiata del titolo della finestra.

Valore restituito

Specifica la lunghezza, espressa in caratteri, della stringa copiata, senza includere il carattere Null di terminazione. È 0 se CWnd non ha didascalia o se il didascalia è vuoto.

Osservazioni:

Se l'oggetto CWnd è un controllo, la GetWindowText funzione membro copia il testo all'interno del controllo anziché copiare il didascalia.

Questa funzione membro fa sì che il WM_GETTEXT messaggio venga inviato all'oggetto CWnd .

Esempio

Vedere l'esempio per CWnd::SetWindowText.

CWnd::GetWindowTextLength

Restituisce la lunghezza dell'oggetto CWnd didascalia titolo.

int GetWindowTextLength() const;

Valore restituito

Specifica la lunghezza del testo in caratteri, senza includere alcun carattere di terminazione Null. Il valore è 0 se non esiste alcun testo di questo tipo.

Osservazioni:

Se CWnd è un controllo, la GetWindowTextLength funzione membro restituisce la lunghezza del testo all'interno del controllo anziché la didascalia.

Questa funzione membro fa sì che il WM_GETTEXTLENGTH messaggio venga inviato all'oggetto CWnd .

Esempio

Vedere l'esempio per CWnd::SetWindowText.

CWnd::HideCaret

Nasconde il cursore rimuovendolo dallo schermo.

void HideCaret();

Osservazioni:

Anche se il cursore non è più visibile, può essere visualizzato di nuovo usando la ShowCaret funzione membro. Nascondere il cursore non distrugge la forma corrente.

Nascondere è cumulativo. Se HideCaret è stato chiamato cinque volte in una riga, la ShowCaret funzione membro deve essere chiamata cinque volte prima che venga visualizzato il cursore.

CWnd::HiliteMenuItem

Evidenzia o rimuove l'evidenziazione da una voce di menu di primo livello (barra dei menu).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parametri

pMenu
Identifica il menu di primo livello che contiene l'elemento da evidenziare.

nIDHiliteItem
Specifica la voce di menu da evidenziare, a seconda del valore del nHilite parametro .

nHilite
Specifica se la voce di menu è evidenziata o se l'evidenziazione viene rimossa. Può essere una combinazione di MF_HILITE o MF_UNHILITE con MF_BYCOMMAND o MF_BYPOSITION. I valori possono essere combinati usando l'operatore bit per OR bit. I valori hanno il significato seguente:

  • MF_BYCOMMANDnIDHiliteItem Interpreta come ID voce di menu (interpretazione predefinita).

  • MF_BYPOSITIONnIDHiliteItem Interpreta come offset in base zero della voce di menu.

  • MF_HILITE Evidenzia l'elemento. Se questo valore non viene specificato, l'evidenziazione viene rimossa dall'elemento.

  • MF_UNHILITE Rimuove l'evidenziazione dall'elemento.

Valore restituito

Specifica se la voce di menu è stata evidenziata. Diverso da zero se l'elemento è stato evidenziato; in caso contrario, 0.

Osservazioni:

I MF_HILITE flag e MF_UNHILITE possono essere usati solo con questa funzione membro. Non possono essere usati con la CMenu::ModifyMenu funzione membro.

CWnd::HtmlHelp

Chiamare questa funzione membro per richiamare l'applicazione HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parametri

dwData
Specifica dati aggiuntivi. Il valore utilizzato dipende dal valore del nCmd parametro .

nCmd
Specifica il tipo di Guida richiesto. Per un elenco dei valori possibili e del modo in cui influiscono sul dwData parametro, vedere il uCommand parametro descritto nella Guida di riferimento all'API HTML in Windows SDK.

Osservazioni:

Per altre informazioni, vedere CWinApp::HtmlHelp.

CWnd::InitDynamicLayout

Chiamata eseguita dal framework per inizializzare il layout dinamico per una finestra.

void InitDynamicLayout();

Osservazioni:

Non chiamare questo metodo direttamente.

CWnd::Invalidate

Invalida l'intera area client di CWnd.

void Invalidate(BOOL bErase = TRUE);

Parametri

bErase
Specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato.

Osservazioni:

L'area client è contrassegnata per la pittura quando si verifica il messaggio successivo WM_PAINT . L'area può essere convalidata anche prima che si verifichi un WM_PAINT messaggio dalla ValidateRect funzione membro o ValidateRgn .

Il bErase parametro specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato quando viene elaborata l'area di aggiornamento. Se bErase è TRUE, lo sfondo viene cancellato quando viene chiamata la BeginPaint funzione membro; se bErase è FALSE, lo sfondo rimane invariato. Se bErase è TRUE per qualsiasi parte dell'area di aggiornamento, lo sfondo nell'intera area, non solo nella parte specificata, viene cancellato.

Windows invia un WM_PAINT messaggio ogni volta che l'area CWnd di aggiornamento non è vuota e non sono presenti altri messaggi nella coda dell'applicazione per tale finestra.

Esempio

Vedere l'esempio per CWnd::UpdateWindow.

CWnd::InvalidateRect

Invalida l'area client all'interno del rettangolo specificato aggiungendo tale rettangolo all'area CWnd di aggiornamento.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parametri

lpRect
Punta a un CRect oggetto o a una RECT struttura che contiene il rettangolo (nelle coordinate client) da aggiungere all'area di aggiornamento. Se lpRect è NULL, l'intera area client viene aggiunta all'area.

bErase
Specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato.

Osservazioni:

Il rettangolo invalidato, insieme a tutte le altre aree nell'area di aggiornamento, viene contrassegnato per disegnare quando viene inviato il messaggio successivo WM_PAINT . Le aree invalidate si accumulano nell'area di aggiornamento fino a quando l'area non viene elaborata quando si verifica la chiamata successiva WM_PAINT o fino a quando l'area non viene convalidata dalla ValidateRect funzione membro o ValidateRgn .

Il bErase parametro specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato quando viene elaborata l'area di aggiornamento. Se bErase è TRUE, lo sfondo viene cancellato quando viene chiamata la BeginPaint funzione membro; se bErase è FALSE, lo sfondo rimane invariato. Se bErase è TRUE per qualsiasi parte dell'area di aggiornamento, lo sfondo nell'intera area viene cancellato, non solo nella parte specificata.

Windows invia un WM_PAINT messaggio ogni volta che l'area CWnd di aggiornamento non è vuota e non sono presenti altri messaggi nella coda dell'applicazione per tale finestra.

CWnd::InvalidateRgn

Invalida l'area client all'interno dell'area specificata aggiungendola all'area di aggiornamento corrente di CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parametri

pRgn
Puntatore a un CRgn oggetto che identifica l'area da aggiungere all'area di aggiornamento. Si presuppone che l'area disponga di coordinate client. Se questo parametro è NULL, l'intera area client viene aggiunta all'area di aggiornamento.

bErase
Specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato.

Osservazioni:

L'area invalidata, insieme a tutte le altre aree nell'area di aggiornamento, viene contrassegnata per disegnare quando il WM_PAINT messaggio viene inviato successivamente. Le aree invalidate si accumulano nell'area di aggiornamento fino a quando l'area non viene elaborata quando viene inviato un WM_PAINT messaggio o fino a quando l'area non viene convalidata dalla ValidateRect funzione membro o ValidateRgn .

Il bErase parametro specifica se lo sfondo all'interno dell'area di aggiornamento deve essere cancellato quando viene elaborata l'area di aggiornamento. Se bErase è TRUE, lo sfondo viene cancellato quando viene chiamata la BeginPaint funzione membro; se bErase è FALSE, lo sfondo rimane invariato. Se bErase è TRUE per qualsiasi parte dell'area di aggiornamento, lo sfondo nell'intera area, non solo nella parte specificata, viene cancellato.

Windows invia un WM_PAINT messaggio ogni volta che l'area CWnd di aggiornamento non è vuota e non sono presenti altri messaggi nella coda dell'applicazione per tale finestra.

L'area specificata deve essere stata creata in precedenza da una delle funzioni dell'area.

CWnd::InvokeHelper

Chiamare questa funzione membro per richiamare il metodo o la proprietà ActiveX Control specificata da dwDispID, nel contesto specificato da wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Parametri

dwDispID
Identifica il metodo o la proprietà da richiamare.

wFlags
Flag che descrivono il contesto della chiamata a IDispatch::Invoke.

vtRet
Specifica il tipo del valore restituito. Per i valori possibili, vedere la sezione Osservazioni per COleDispatchDriver::InvokeHelper.

pvRet
Indirizzo della variabile che riceverà il valore della proprietà o il valore restituito. Deve corrispondere al tipo specificato da vtRet.

pbParamInfo
Puntatore a una stringa di byte con terminazione Null che specifica i tipi dei parametri che seguono pbParamInfo. Per i valori possibili, vedere la sezione Osservazioni per COleDispatchDriver::InvokeHelper.

...
Elenco di parametri variabile, di tipi specificati in pbParamInfo.

Osservazioni:

Il parametro pbParamInfo specifica i tipi dei parametri passati al metodo o alla proprietà. L'elenco delle variabili degli argomenti è rappresentato dalla ... dichiarazione di sintassi.

Questa funzione converte i parametri in VARIANTARG valori, quindi richiama il IDispatch::Invoke metodo nel controllo ActiveX. Se la chiamata a IDispatch::Invoke ha esito negativo, questa funzione genera un'eccezione. Se il SCODE (codice di stato) restituito da IDispatch::Invoke è DISP_E_EXCEPTION, questa funzione genera un COleException oggetto , altrimenti genera un'eccezione COleDispatchException.

Nota

Questa funzione deve essere chiamata solo su un CWnd oggetto che rappresenta un controllo ActiveX.

Per altre informazioni sull'uso di questa funzione membro con contenitori di controlli ActiveX, vedere l'articolo Contenitori di controlli ActiveX: Programmazione di controlli ActiveX in un contenitore di controlli ActiveX.

CWnd::IsChild

Indica se la finestra specificata da pWnd è una finestra figlio o un altro discendente diretto di CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Parametri

pWnd
Identifica la finestra da testare.

Valore restituito

Specifica il risultato della funzione. Il valore è diverso da zero se la finestra identificata da pWnd è una finestra figlio di CWnd; in caso contrario, 0.

Osservazioni:

Una finestra figlio è il discendente diretto di CWnd se l'oggetto CWnd si trova nella catena di finestre padre che conduce dalla finestra popup originale alla finestra figlio.

CWnd::IsD2DSupportEnabled

Determina se il supporto D2D è abilitato.

BOOL IsD2DSupportEnabled();

Valore restituito

TRUE se la funzionalità è abilitata; in caso contrario FALSE, .

CWnd::IsDialogMessage

Chiamare questa funzione membro per determinare se il messaggio specificato è destinato a una finestra di dialogo senza modalità; in caso affermativo, questa funzione elabora il messaggio.

BOOL IsDialogMessage(LPMSG lpMsg);

Parametri

lpMsg
Punta a una MSG struttura che contiene il messaggio da controllare.

Valore restituito

Specifica se la funzione membro ha elaborato il messaggio specificato. È diverso da zero se il messaggio è stato elaborato; in caso contrario, 0. Se il valore restituito è 0, chiamare la CWnd::PreTranslateMessage funzione membro della classe di base per elaborare il messaggio. In un override della CWnd::PreTranslateMessage funzione membro il codice è simile al seguente:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Osservazioni:

Quando la IsDialogMessage funzione elabora un messaggio, controlla la presenza di messaggi da tastiera e li converte in comandi di selezione per la finestra di dialogo corrispondente. Ad esempio, il tasto TAB seleziona il controllo o il gruppo di controlli successivo e il tasto FRECCIA GIÙ seleziona il controllo successivo in un gruppo.

Non è necessario passare un messaggio elaborato da IsDialogMessage alle TranslateMessage funzioni di o DispatchMessage Windows, perché è già stato elaborato.

CWnd::IsDlgButtonChecked

Determina se accanto a un controllo pulsante è adiacente un segno di spunta.

UINT IsDlgButtonChecked(int nIDButton) const;

Parametri

nIDButton
Specifica l'identificatore intero del controllo pulsante.

Valore restituito

Diverso da zero se il controllo specificato viene controllato e 0 se non è selezionato. È possibile selezionare solo pulsanti di opzione e caselle di controllo. Per i pulsanti a tre stati, il valore restituito può essere 2 se il pulsante è indeterminato. Questa funzione membro restituisce 0 per un pulsante di scelta.

Osservazioni:

Se il pulsante è un controllo a tre stati, la funzione membro determina se è disattivata, selezionata o nessuna delle due.

CWnd::IsDynamicLayoutEnabled

Determina se il layout dinamico è abilitato in questa finestra. Se il layout dinamico è abilitato, la posizione e le dimensioni delle finestre figlio possono cambiare quando l'utente ridimensiona la finestra padre.

BOOL IsDynamicLayoutEnabled() const;

Valore restituito

TRUE se il layout dinamico è abilitato; in caso contrario FALSE, .

Osservazioni:

CWnd::IsIconic

Specifica se CWnd è ridotta a icona.

BOOL IsIconic() const;

Valore restituito

Diverso da zero se CWnd è ridotto a icona; in caso contrario, 0.

Esempio

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::IsTouchWindow

Specifica se CWnd include il supporto del tocco.

BOOL IsTouchWindow() const;

Valore restituito

TRUE se CWnd ha il supporto tocco; in caso contrario FALSE, .

Osservazioni:

CWnd::IsWindowEnabled

Specifica se CWnd è abilitato per l'input del mouse e della tastiera.

BOOL IsWindowEnabled() const;

Valore restituito

Diverso da zero se CWnd è abilitato; in caso contrario, 0.

Esempio

//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
   {
      if (pWnd->IsWindowEnabled())
      {
         // Red brush for the background...
         pDC->SetBkColor(RGB(255, 0, 0));
         // m_pRedBrush is the CBrush object initialized with a red brush
         // using CreateSolidBrush
         return (HBRUSH)m_RedBrush.GetSafeHandle();
      }
      else
      {
         // Blue brush for the background...
         pDC->SetBkColor(RGB(0, 0, 255));
         // m_pBlueBrush is the CBrush object initialized with a blue
         // brush using CreateSolidBrush
         return (HBRUSH)m_BlueBrush.GetSafeHandle();
      }
   }

   return hbr;
}

CWnd::IsWindowVisible

Determina lo stato di visibilità della finestra specificata.

BOOL IsWindowVisible() const;

Valore restituito

Diverso da zero se CWnd è visibile (ha il WS_VISIBLE bit di stile impostato e la finestra padre è visibile). Poiché il valore restituito riflette lo stato del bit di WS_VISIBLE stile, il valore restituito può essere diverso da zero anche se CWnd è completamente oscurato da altre finestre.

Osservazioni:

Una finestra possiede uno stato di visibilità indicato dal bit di WS_VISIBLE stile. Quando questo bit di stile viene impostato con una chiamata alla ShowWindow funzione membro, la finestra viene visualizzata e il disegno successivo alla finestra viene visualizzato fino a quando la finestra ha il bit di stile impostato.

Qualsiasi disegno di una finestra con lo WS_VISIBLE stile non verrà visualizzato se la finestra è coperta da altre finestre o viene ritagliata dalla finestra padre.

Esempio

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
   if(!m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_SHOWNORMAL);
   }
}

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
   if(m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_HIDE);
   }
}

CWnd::IsZoomed

Determina se CWnd è stato ingrandita.

BOOL IsZoomed() const;

Valore restituito

Diverso da zero se CWnd è ingrandita; in caso contrario, 0.

CWnd::KillTimer

Termina l'evento timer identificato dalla nIDEvent chiamata precedente a SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Parametri

nIDEvent
Valore dell'evento timer passato a SetTimer.

Valore restituito

Specifica il risultato della funzione. Il valore è diverso da zero se l'evento è stato ucciso. È 0 se la KillTimer funzione membro non è riuscita a trovare l'evento timer specificato.

Osservazioni:

I messaggi in sospeso WM_TIMER associati al timer non vengono rimossi dalla coda dei messaggi.

Esempio

Vedere l'esempio per CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Viene chiamato dal framework per caricare informazioni sul layout dinamico dal file di risorse.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parametri

lpszResourceName
Nome della risorsa che contiene le informazioni del layout dinamico desiderato per questa finestra.

Valore restituito

Diverso da zero se la funzione ha esito positivo. È 0 se si verifica un errore.

Osservazioni:

Non chiamare questo metodo direttamente.

CWnd::LockWindowUpdate

Disabilita il disegno nella finestra specificata.

BOOL LockWindowUpdate();

Valore restituito

Diverso da zero se la funzione ha esito positivo. È 0 se si verifica un errore o se la LockWindowUpdate funzione è stata usata per bloccare un'altra finestra.

Osservazioni:

Impossibile spostare una finestra bloccata. È possibile bloccare una sola finestra alla volta. Per sbloccare una finestra bloccata con LockWindowUpdate, chiamare UnlockWindowUpdate.

Se un'applicazione con una finestra bloccata (o qualsiasi finestra figlio bloccata) chiama la GetDCfunzione , GetDCExo BeginPaint Windows, la funzione chiamata restituisce un contesto di dispositivo la cui area visibile è vuota. Ciò si verifica finché l'applicazione non sblocca la finestra chiamando la UnlockWindowUpdate funzione membro.

Mentre gli aggiornamenti delle finestre sono bloccati, il sistema tiene traccia del rettangolo di delimitazione di qualsiasi operazione di disegno ai contesti di dispositivo associati a una finestra bloccata. Quando il disegno viene riattivato, questo rettangolo di delimitazione viene invalidato nella finestra bloccata e le finestre figlio per forzare un messaggio finale WM_PAINT ad aggiornare lo schermo. Se non si è verificato alcun disegno mentre gli aggiornamenti della finestra sono stati bloccati, non viene invalidata alcuna area.

La LockWindowUpdate funzione membro non rende invisibile la finestra specificata e non cancella il bit di WS_VISIBLE stile.

CWnd::m_hWnd

Handle della finestra di Windows collegata a questo CWndoggetto .

HWND m_hWnd;

Osservazioni:

Il m_hWnd membro dati è una variabile pubblica di tipo HWND.

CWnd::MapWindowPoints

Converte (mappa) un set di punti dallo spazio delle coordinate di CWnd nello spazio delle coordinate di un'altra finestra.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Parametri

pwndTo
Identifica la finestra in cui vengono convertiti i punti. Se questo parametro è NULL, i punti vengono convertiti in coordinate dello schermo.

lpRect
Specifica il rettangolo i cui punti devono essere convertiti. La prima versione di questa funzione è disponibile solo per Windows 3.1 e versioni successive.

lpPoint
Puntatore a una matrice di POINT struttura che contiene il set di punti da convertire.

nCount
Specifica il numero di POINT strutture nella matrice a lpPointcui punta .

CWnd::MessageBox

Crea e visualizza una finestra che contiene un messaggio e un didascalia forniti dall'applicazione, oltre a una combinazione delle icone e dei pulsanti predefiniti descritti nell'elenco Stili finestra di messaggio.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parametri

lpszText
Punta a un oggetto o a una CString stringa con terminazione Null contenente il messaggio da visualizzare.

lpszCaption
Punta a un oggetto o a una CString stringa con terminazione Null da utilizzare per la finestra di messaggio didascalia. Se lpszCaption è NULL, viene usato il didascalia predefinito "Errore".

nType
Specifica il contenuto e il comportamento della finestra di messaggio.

Valore restituito

Questo metodo usa la MessageBox funzione come definito in Windows SDK. Questo metodo restituisce il risultato della chiamata a questa funzione.

Osservazioni:

Usare la funzione AfxMessageBox globale anziché questa funzione membro per implementare una finestra di messaggio nell'applicazione.

Di seguito sono illustrate le varie icone di sistema che possono essere usate in una finestra di messaggio:

Icona Macro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOP e MB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. MB_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. MB_ICONEXCLAMATION e MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. MB_ICONASTERISK e MB_ICONINFORMATION

Esempio

void CMainFrame::OnDisplayErrorMessage()
{
   // This displays a message box with the title "Error"
   // and the message "Help, Something went wrong."
   // The error icon is displayed in the message box, along with
   // an OK button.
   MessageBox(_T("Help, Something went wrong."), _T("Error"),
              MB_ICONERROR | MB_OK);
}

CWnd::ModifyStyle

Chiamare questa funzione membro per modificare lo stile di una finestra.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametri

dwRemove
Specifica gli stili di finestra da rimuovere durante la modifica dello stile.

dwAdd
Specifica gli stili di finestra da aggiungere durante la modifica dello stile.

nFlags
Flag da passare a SetWindowPoso zero se SetWindowPos non devono essere chiamati. Il valore predefinito è zero. Per un elenco di flag predefiniti, vedere la sezione Osservazioni.

Valore restituito

Diverso da zero se lo stile è stato modificato correttamente; in caso contrario, 0.

Osservazioni:

Gli stili da aggiungere o rimuovere possono essere combinati usando l'operatore OR bit per bit (|). Per informazioni sugli stili delle finestre disponibili, vedere gli argomenti Stili di finestra e CreateWindow In Windows SDK.

Se nFlags è diverso da zero, ModifyStyle chiama la funzione SetWindowPos API di Windows e ridisegna la finestra combinando nFlags con i quattro flag predefiniti seguenti:

  • SWP_NOSIZE Mantiene le dimensioni correnti.

  • SWP_NOMOVE Mantiene la posizione corrente.

  • SWP_NOZORDER Mantiene l'ordine Z corrente.

  • SWP_NOACTIVATE Non attiva la finestra.

Per modificare gli stili estesi di una finestra, vedere ModifyStyleEx.

Nota

Per alcuni stili in alcuni controlli ,ad esempio lo ES_READONLY stile nel controllo di modifica, ModifyStyle potrebbe non modificare correttamente lo stile perché il controllo potrebbe dover eseguire un'elaborazione interna speciale. In questi casi, sarà disponibile un messaggio corrispondente per modificare lo stile ( EM_SETREADONLY nell'esempio indicato).

Esempio

// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
   CView::OnInitialUpdate();
   ModifyStyle(0, WS_CLIPCHILDREN);
}

CWnd::ModifyStyleEx

Chiamare questa funzione membro per modificare lo stile esteso di una finestra.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parametri

dwRemove
Specifica gli stili estesi da rimuovere durante la modifica dello stile.

dwAdd
Specifica gli stili estesi da aggiungere durante la modifica dello stile.

nFlags
Flag da passare a SetWindowPoso zero se SetWindowPos non devono essere chiamati. Il valore predefinito è zero. Per un elenco di flag predefiniti, vedere la sezione Osservazioni.

Valore restituito

Diverso da zero se lo stile è stato modificato correttamente; in caso contrario, 0.

Osservazioni:

Gli stili da aggiungere o rimuovere possono essere combinati usando l'operatore OR bit per bit (|). Per informazioni sugli stili estesi disponibili, vedere gli argomenti Degli stili delle finestre estese in questo libro e CreateWindowEx in Windows SDK

Se nFlags è diverso da zero, ModifyStyleEx chiama la funzione SetWindowPos API di Windows e ridisegna la finestra combinando nFlags con i quattro flag predefiniti seguenti:

  • SWP_NOSIZE Mantiene le dimensioni correnti.

  • SWP_NOMOVE Mantiene la posizione corrente.

  • SWP_NOZORDER Mantiene l'ordine Z corrente.

  • SWP_NOACTIVATE Non attiva la finestra.

Per modificare le finestre usando gli stili di finestra normali, vedere ModifyStyle.

Esempio

// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   ModifyStyleEx(0, WS_EX_TRANSPARENT);   
   
   return 0;
}

CWnd::MoveWindow

Modifica la posizione e le dimensioni.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Parametri

x
Specifica la nuova posizione del lato sinistro dell'oggetto CWnd.

y
Specifica la nuova posizione della parte superiore dell'oggetto CWnd.

nWidth
Specifica la nuova larghezza di CWnd.

nHeight
Specifica la nuova altezza di CWnd.

bRepaint
Specifica se CWnd deve essere ridisegnato. Se TRUE, CWnd riceve un WM_PAINT messaggio nel OnPaint gestore messaggi come di consueto. Se questo parametro è FALSE, non viene eseguito alcun aggiornamento di alcun tipo. Questo vale per l'area client, per l'area non client (incluse le barre di scorrimento e il titolo) e per qualsiasi parte della finestra padre individuata in seguito CWndallo spostamento. Quando questo parametro è FALSE, l'applicazione deve invalidare o ridisegnare in modo esplicito le parti della CWnd finestra padre e che devono essere ridisegnate.

lpRect
Oggetto CRect o RECT struttura che specifica le nuove dimensioni e la nuova posizione.

Osservazioni:

Per un oggetto di primo livello CWnd , i x parametri e y sono relativi all'angolo superiore sinistro dello schermo. Per un oggetto figlio CWnd , sono relativi all'angolo superiore sinistro dell'area client della finestra padre.

La MoveWindow funzione invia il WM_GETMINMAXINFO messaggio. La gestione di questo messaggio offre CWnd la possibilità di modificare i valori predefiniti per le finestre più grandi e piccole possibili. Se i parametri della MoveWindow funzione membro superano questi valori, i valori possono essere sostituiti dai valori minimi o massimi nel WM_GETMINMAXINFO gestore.

Esempio

Vedere l'esempio per CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Segnala al sistema che si è verificato un evento predefinito. Se le applicazioni client hanno registrato una funzione hook per l'evento, il sistema chiama la funzione hook del client.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parametri

event
Specifica l'evento che si è verificato. Questo valore deve essere una delle costanti dell'evento.

idObjectType
Identifica il tipo di oggetto che ha generato l'evento. Questo valore è uno degli identificatori di oggetto predefiniti o un valore DI ID oggetto personalizzato.

idObject
Identifica se l'evento è stato generato da un oggetto o da un elemento figlio dell'oggetto . Se questo valore è CHILDID_SELF, l'evento è stato generato dall'oggetto stesso. In caso contrario, questo valore è l'ID figlio dell'elemento che ha generato l'evento.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione NotifyWinEvent, come descritto in Windows SDK.

CWnd::OnActivate

Il framework chiama questa funzione membro quando un CWnd oggetto viene attivato o disattivato.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parametri

nState
Specifica se l'oggetto CWnd viene attivato o disattivato. Può essere uno dei valori seguenti:

  • WA_INACTIVE La finestra viene disattivata.

  • WA_ACTIVE La finestra viene attivata tramite un metodo diverso da un clic del mouse, ad esempio usando l'interfaccia della tastiera per selezionare la finestra.

  • WA_CLICKACTIVE La finestra viene attivata con un clic del mouse.

pWndOther
Puntatore all'oggetto CWnd attivato o disattivato. Il puntatore può essere NULLe può essere temporaneo.

bMinimized
Specifica lo stato ridotto al minimo dell'oggetto CWnd attivato o disattivato. Un valore indica TRUE che la finestra è ridotta a icona.

Se TRUE, l'oggetto CWnd viene attivato; in caso contrario, disattivato.

Osservazioni:

Se l'oggetto CWnd viene attivato con un clic del mouse, riceverà anche una OnMouseActivate chiamata di funzione membro.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnActivateApp

Il framework chiama questa funzione membro a tutte le finestre di primo livello dell'attività attivate e per tutte le finestre di primo livello dell'attività disattivate.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parametri

bActive
Specifica se l'oggetto CWnd viene attivato o disattivato. TRUE indica che è in corso l'attivazione CWnd . FALSE indica che l'oggetto CWnd viene disattivato.

dwThreadID
Specifica il valore dell'ID del thread. Se bActive è TRUE, dwThreadID identifica il thread proprietario dell'oggetto CWnd disattivato. Se bActive è FALSE, dwThreadID identifica il thread proprietario dell'oggetto CWnd attivato.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnAmbientProperty

Il framework chiama questa funzione membro per ottenere i valori delle proprietà di ambiente da una finestra che contiene controlli OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parametri

pSite
Puntatore al sito del controllo che ha richiesto la proprietà di ambiente.

dispid
ID dispatch della proprietà di ambiente richiesta.

pvar
Puntatore a una struttura allocata VARIANT dal chiamante, tramite cui verrà restituito il valore della proprietà di ambiente.

Valore restituito

TRUE se la proprietà di ambiente è supportata; FALSE in caso contrario.

Osservazioni:

Eseguire l'override di questa funzione per modificare i valori predefiniti delle proprietà di ambiente restituiti da un contenitore di controlli OLE ai relativi controlli. Tutte le richieste di proprietà di ambiente non gestite da una funzione di override devono essere inoltrate all'implementazione della classe di base.

CWnd::OnAppCommand

Il framework chiama questa funzione membro quando l'utente genera un evento di comando dell'applicazione. Questo evento si verifica quando l'utente fa clic su un pulsante di comando dell'applicazione o digita una chiave di comando dell'applicazione.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parametri

pWnd
[in] Puntatore a un CWnd oggetto che rappresenta la finestra in cui l'utente ha fatto clic sul pulsante di comando o ha premuto il tasto di comando. Questa finestra può essere una finestra figlio della finestra che riceve il messaggio.

nCmd
[in] Indica il comando dell'applicazione. Per un elenco dei valori possibili, vedere i comandi nella cmd sezione del lParam parametro di WM_APPCOMMAND.

nDevice
[in] Dispositivo di input che ha generato l'evento di input. Per un elenco dei valori possibili, vedere i dispositivi nella uDevice sezione del lParam parametro di WM_APPCOMMAND.

nKey
[in] Indica i tasti virtuali inattivi, ad esempio il tasto CTRL o il pulsante sinistro del mouse. Per un elenco dei valori possibili, vedere le chiavi nella dwKeys sezione del lParam parametro di WM_APPCOMMAND. Per altre informazioni, vedere la sottotitolo "Parametri messaggio" in Informazioni sull'input del mouse.

Osservazioni:

Questo metodo riceve la WM_APPCOMMAND notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnAskCbFormatName

Il framework chiama questa funzione membro quando gli Appunti contengono un handle di dati per il CF_OWNERDISPLAY formato, ovvero quando il proprietario degli Appunti visualizzerà il contenuto degli Appunti.

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parametri

nMaxCount
Specifica il numero massimo di byte da copiare.

lpszString
Punta al buffer in cui deve essere archiviata la copia del nome del formato.

Osservazioni:

Il proprietario degli Appunti deve specificare un nome per il relativo formato.

Eseguire l'override di questa funzione membro e copiare il nome del CF_OWNERDISPLAY formato nel buffer specificato, senza superare il numero massimo di byte specificato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCancelMode

Il framework chiama questa funzione membro per informare CWnd di annullare qualsiasi modalità interna.

afx_msg void OnCancelMode();

Osservazioni:

Se l'oggetto CWnd ha lo stato attivo, la relativa OnCancelMode funzione membro viene chiamata quando viene visualizzata una finestra di dialogo o una finestra di messaggio. In questo modo è CWnd possibile annullare le modalità, ad esempio l'acquisizione del mouse.

L'implementazione predefinita risponde chiamando la ReleaseCapture funzione Windows. Eseguire l'override di questa funzione membro nella classe derivata per gestire altre modalità.

CWnd::OnCaptureChanged

Il framework chiama questa funzione membro per notificare alla finestra che sta perdendo l'acquisizione del mouse.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parametri

pWnd
Puntatore alla finestra per ottenere l'acquisizione del mouse

Osservazioni:

Una finestra riceve questo messaggio anche se chiama ReleaseCapture se stesso. Un'applicazione non deve tentare di impostare l'acquisizione del mouse in risposta a questo messaggio. Quando riceve questo messaggio, una finestra deve ridisegnarsi, se necessario, per riflettere il nuovo stato di acquisizione del mouse.

Per informazioni sulla ReleaseCapture funzione Windows, vedere Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnChangeCbChain

Il framework chiama questa funzione membro per ogni finestra della catena del visualizzatore appunti per notificare che una finestra viene rimossa dalla catena.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parametri

hWndRemove
Specifica l'handle di finestra che viene rimosso dalla catena del visualizzatore appunti.

hWndAfter
Specifica l'handle di finestra che segue la finestra da rimuovere dalla catena del visualizzatore appunti.

Osservazioni:

Ogni CWnd oggetto che riceve una OnChangeCbChain chiamata deve usare la SendMessage funzione Windows per inviare il WM_CHANGECBCHAIN messaggio alla finestra successiva nella catena del visualizzatore Appunti (l'handle restituito da SetClipboardViewer). Se hWndRemove è la finestra successiva della catena, la finestra specificata da hWndAfter diventa la finestra successiva e i messaggi degli Appunti vengono passati.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnChangeUIState

Chiamata eseguita quando lo stato dell'interfaccia utente deve essere modificato.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Parametri

nAction
Specifica l'azione da eseguire. I possibili valori sono i seguenti:

  • UIS_CLEAR L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere nascosto.

  • UIS_INITIALIZE L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere modificato in base all'ultimo evento di input. Per altre informazioni, vedere la sezione Osservazioni di WM_CHANGEUISTATE.

  • UIS_SET L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere visibile.

nUIElement
Specifica gli elementi dello stato dell'interfaccia utente interessati o lo stile del controllo. I possibili valori sono i seguenti:

  • UISF_HIDEACCEL Tasti di scelta rapida.

  • UISF_HIDEFOCUS Indicatori di stato attivo.

  • UISF_ACTIVE Windows XP: un controllo deve essere disegnato nello stile utilizzato per i controlli attivi.

Osservazioni:

Questa funzione membro emula la funzionalità del WM_CHANGEUISTATE messaggio, come descritto in Windows SDK.

CWnd::OnChar

Il framework chiama questa funzione membro quando una sequenza di tasti viene convertita in un carattere non di sistema.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Contiene il valore del codice carattere della chiave.

nRepCnt
Contiene il numero di ripetizioni, il numero di volte in cui la sequenza di tasti viene ripetuta quando l'utente tiene premuto il tasto.

nFlags
Contiene il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Significato
0-15 Specifica il conteggio delle ripetizioni. Il valore è il numero di volte in cui la sequenza di tasti viene ripetuta in seguito all'utente che tiene premuto il tasto.
16-23 Specifica il codice di analisi. Il valore dipende dal produttore di apparecchiature originali (OEM)
24 Specifica se il tasto è un tasto esteso, ad esempio i tasti ALT e CTRL di destra visualizzati su una tastiera avanzata da 101 o 102 tasti. Il valore è 1 se è una chiave estesa; in caso contrario, è 0.
25-28 Utilizzato internamente da Windows.
29 Specifica il codice di contesto. Il valore è 1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, il valore è 0.
30 Specifica lo stato della chiave precedente. Il valore è 1 se la chiave è inattiva prima dell'invio del messaggio oppure è 0 se la chiave è inattiva.
31 Specifica lo stato di transizione. Il valore è 1 se il tasto viene rilasciato o è 0 se il tasto viene premuto.

Osservazioni:

Questa funzione viene chiamata prima della OnKeyUp funzione membro e dopo la chiamata della OnKeyDown funzione membro. OnChar contiene il valore del tasto da tastiera premuto o rilasciato.

Poiché non esiste necessariamente una corrispondenza uno-a-uno tra i tasti premuti e OnChar le chiamate generate, le informazioni in nFlags non sono in genere utili per le applicazioni. Le informazioni contenute in nFlags si applicano solo alla chiamata più recente alla OnKeyUp funzione membro o alla OnKeyDown funzione membro che precede la chiamata a OnChar.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit del tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCharToItem

Chiamato quando una casella di riepilogo con lo LBS_WANTKEYBOARDINPUT stile invia al proprietario un WM_CHARTOITEM messaggio in risposta a un WM_CHAR messaggio.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Parametri

nChar
Specifica il valore del tasto premuto dall'utente.

pListBox
Specifica un puntatore alla casella di riepilogo. Potrebbe essere temporaneo.

nIndex
Specifica la posizione corrente del cursore.

Valore restituito

Il framework chiama questa funzione membro per specificare l'azione eseguita dall'applicazione in risposta alla chiamata. Un valore restituito -2 indica che l'applicazione ha gestito tutti gli aspetti della selezione dell'elemento e non vuole eseguire altre azioni dalla casella di riepilogo. Il valore restituito -1 indica che la casella di riepilogo deve eseguire l'azione predefinita in risposta alla sequenza di tasti. Un valore restituito pari a 0 o superiore specifica l'indice in base zero di un elemento nella casella di riepilogo e indica che la casella di riepilogo deve eseguire l'azione predefinita per la sequenza di tasti sull'elemento specificato.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnChildActivate

Se l'oggetto CWnd è una finestra figlio MDI (Multiple Document Interface), OnChildActivate viene chiamata dal framework quando l'utente fa clic sulla barra del titolo della finestra o quando la finestra viene attivata, spostata o ridimensionata.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Questa funzione membro viene chiamata dalla finestra padre di questa finestra quando riceve un messaggio di notifica applicabile a questa finestra.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametri

message
Numero di messaggio di Windows inviato a una finestra padre.

wParam
Wparam associato al messaggio.

lParam
Lparam associato al messaggio.

pLResult
Puntatore a un valore da restituire dalla routine della finestra padre. Questo puntatore sarà NULL se non è previsto alcun valore restituito.

Valore restituito

Diverso da zero se questa finestra è responsabile della gestione del messaggio inviato al relativo padre; in caso contrario, 0.

Osservazioni:

Non chiamare mai direttamente questa funzione membro.

L'implementazione predefinita di questa funzione membro restituisce 0, il che significa che l'elemento padre deve gestire il messaggio.

Eseguire l'override di questa funzione membro per estendere il modo in cui un controllo risponde ai messaggi di notifica.

CWnd::OnClipboardUpdate

Il framework chiama questa funzione membro quando il contenuto degli Appunti è stato modificato.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

Il framework chiama questa funzione membro come segnale che o CWnd un'applicazione deve terminare.

afx_msg void OnClose();

Osservazioni:

L'implementazione predefinita chiama DestroyWindow.

CWnd::OnColorizationColorChanged

Il framework chiama questo membro quando i criteri di rendering per l'area non client sono stati modificati.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parametri

dwColorizationColor
[in] Specifica il nuovo colore di colorazione. Il formato del colore è un numero esadecimale del formato 0xAARRGGBB, dove ognuno dei quattro componenti varia da 0x00 a 0xFF. Il componente AA è il valore alfa, RR è il colore rosso, GG è verde e BB è blu.

bOpacity
[in] TRUE se il nuovo colore viene mescolato con opacità; FALSE se non lo è.

Osservazioni:

Questo metodo riceve il WM_DWMNCRENDERINGCHANGED messaggio di notifica, descritto in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCommand

Il framework chiama questa funzione membro quando l'utente seleziona una voce da un menu, quando un controllo figlio invia un messaggio di notifica o quando viene convertita una sequenza di tasti di scelta rapida.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parametri

wParam
La parola in ordine basso di wParam identifica l'ID comando della voce di menu, del controllo o dell'acceleratore. La parola di ordine elevato di specifica il messaggio di wParam notifica se il messaggio proviene da un controllo . Se il messaggio proviene da un acceleratore, la parola di ordine elevato è 1. Se il messaggio proviene da un menu, la parola di ordine elevato è 0.

lParam
Identifica il controllo che invia il messaggio se il messaggio proviene da un controllo . In caso contrario, lParam è 0.

Valore restituito

Un'applicazione restituisce un valore diverso da zero se elabora questo messaggio; in caso contrario, 0.

Osservazioni:

OnCommand elabora la mappa dei messaggi per le notifiche di controllo e ON_COMMAND le voci e chiama la funzione membro appropriata.

Eseguire l'override di questa funzione membro nella classe derivata per gestire il WM_COMMAND messaggio. Un override non elabora la mappa messaggi a meno che non venga chiamata la classe OnCommand di base.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCompacting

Il framework chiama questa funzione membro per tutte le finestre di primo livello quando Windows rileva che più del 12,5% del tempo di sistema in un intervallo da 30 a 60 secondi viene impiegato per compattare la memoria.

afx_msg void OnCompacting(UINT nCpuTime);

Parametri

nCpuTime
Specifica il rapporto tra il tempo di CPU attualmente impiegato da Windows compattando la memoria al tempo di CPU impiegato per l'esecuzione di altre operazioni. Ad esempio, 8000h rappresenta il 50% del tempo di CPU impiegato per compattare la memoria.

Osservazioni:

Ciò indica che la memoria di sistema è insufficiente.

Quando un CWnd oggetto riceve questa chiamata, deve liberare la maggior quantità di memoria possibile, tenendo conto del livello corrente di attività dell'applicazione e del numero totale di applicazioni in esecuzione in Windows. L'applicazione può chiamare la funzione Windows per determinare il numero di applicazioni in esecuzione.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCompareItem

Il framework chiama questa funzione membro per specificare la posizione relativa di un nuovo elemento in una casella combinata o casella di riepilogo di disegno proprietario ordinata figlio.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parametri

nIDCtl
Identificatore del controllo che ha inviato il WM_COMPAREITEM messaggio.

lpCompareItemStruct
Contiene un puntatore lungo a una COMPAREITEMSTRUCT struttura di dati che contiene gli identificatori e i dati forniti dall'applicazione per due elementi nella casella combinata o nella casella di riepilogo.

Valore restituito

Indica la posizione relativa dei due elementi. Può trattarsi di uno dei valori seguenti:

Valore Significato
-1 L'elemento 1 ordina prima dell'elemento 2.
0 L'elemento 1 e l'elemento 2 ordinano lo stesso.
1 L'elemento 1 viene ordinato dopo l'elemento 2.

Osservazioni:

Se viene creata una casella combinata o una casella di riepilogo con lo CBS_SORT stile o LBS_SORT , Windows invia al proprietario della casella combinata o della casella di riepilogo un WM_COMPAREITEM messaggio ogni volta che l'applicazione aggiunge un nuovo elemento.

Due elementi nella casella combinata o di riepilogo vengono riformati in una COMPAREITEMSTRUCT struttura a lpCompareItemStructcui punta . OnCompareItem deve restituire un valore che indica quale degli elementi deve essere visualizzato prima dell'altro. In genere, Windows effettua questa chiamata più volte fino a quando non determina la posizione esatta per il nuovo elemento.

Se il hwndItem membro della COMPAREITEMSTRUCT struttura appartiene a un CListBox oggetto o CComboBox , viene chiamata la CompareItem funzione virtuale della classe appropriata. Eseguire l'override CComboBox::CompareItem o CListBox::CompareItem nella classe derivata CListBox o CComboBox per eseguire il confronto degli elementi.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCompositionChanged

Il framework chiama questa funzione membro per tutte le finestre di primo livello quando la composizione Desktop Window Manager (DWM) è abilitata o disabilitata.

afx_msg void OnCompositionChanged();

Osservazioni:

Questo metodo riceve la WM_DWMCOMPOSITIONCHANGED notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnContextMenu

Chiamato dal framework quando l'utente ha fatto clic sul pulsante destro del mouse (fatto clic con il pulsante destro del mouse) nella finestra.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parametri

pWnd
Handle per la finestra in cui l'utente ha fatto clic con il pulsante destro del mouse. Può trattarsi di una finestra figlio della finestra che riceve il messaggio. Per altre informazioni sull'elaborazione di questo messaggio, vedere la sezione Osservazioni.

pos
Posizione del cursore, nelle coordinate dello schermo, al momento del clic del mouse.

Osservazioni:

È possibile elaborare questo messaggio visualizzando un menu di scelta rapida usando .TrackPopupMenu

Se non viene visualizzato un menu di scelta rapida, è necessario passare questo messaggio alla DefWindowProc funzione. Se la finestra è una finestra figlio, DefWindowProc invia il messaggio all'elemento padre. In caso contrario, DefWindowProc visualizza un menu di scelta rapida predefinito se la posizione specificata si trova nella didascalia della finestra.

CWnd::OnCopyData

Questa funzione membro viene chiamata dal framework per copiare i dati da un'applicazione a un'altra.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parametri

pWnd
Puntatore a un CWnd oggetto che invia i dati.

pCopyDataStruct
Puntatore a una COPYDATASTRUCT struttura che contiene i dati inviati.

Valore restituito

Restituisce se l'applicazione ricevente TRUE accetta correttamente i dati. In caso contrario, restituisce FALSE.

Osservazioni:

I dati passati non devono contenere puntatori o altri riferimenti a oggetti non accessibili all'applicazione che riceve i dati.

Mentre i dati sono in corso di copia, non devono essere modificati da un altro thread del processo di invio.

L'applicazione ricevente deve considerare i dati di sola lettura. La struttura a cui punta il parametro pCopyDataStruct è valida solo durante il trasferimento dei dati. Tuttavia, l'applicazione ricevente non deve liberare la memoria associata alla struttura.

Se l'applicazione ricevente deve accedere ai dati dopo la restituzione di questa funzione, deve copiare i dati ricevuti in un buffer locale.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCreate

Il framework chiama questa funzione membro quando un'applicazione richiede che la finestra di Windows venga creata chiamando la Create funzione membro o CreateEx .

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parametri

lpCreateStruct
Punta a una CREATESTRUCT struttura che contiene informazioni sull'oggetto CWnd creato.

Valore restituito

OnCreate deve restituire 0 per continuare la creazione dell'oggetto CWnd . Se l'applicazione restituisce -1, la finestra verrà eliminata definitivamente.

Osservazioni:

L'oggetto CWnd riceve questa chiamata dopo la creazione della finestra, ma prima che diventi visibile. OnCreate viene chiamato prima della restituzione della Create funzione membro o CreateEx .

Eseguire l'override di questa funzione membro per eseguire l'inizializzazione necessaria di una classe derivata.

La CREATESTRUCT struttura contiene copie dei parametri utilizzati per creare la finestra.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnCtlColor

Il framework chiama questa funzione membro quando un controllo figlio sta per essere disegnato.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Parametri

pDC
Contiene un puntatore al contesto di visualizzazione per la finestra figlio. Può essere temporaneo.

pWnd
Contiene un puntatore al controllo che richiede il colore. Può essere temporaneo.

nCtlColor
Contiene uno dei valori seguenti, specificando il tipo di controllo:

  • CTLCOLOR_BTN Controllo Pulsante

  • CTLCOLOR_DLG Dialogo

  • CTLCOLOR_EDIT Modifica controllo

  • CTLCOLOR_LISTBOX Controllo Casella di riepilogo

  • CTLCOLOR_MSGBOX Finestra di messaggio

  • CTLCOLOR_SCROLLBAR Controllo barra di scorrimento

  • CTLCOLOR_STATIC Controllo statico

Valore restituito

OnCtlColor deve restituire un handle al pennello da utilizzare per disegnare lo sfondo del controllo.

Osservazioni:

La maggior parte dei controlli invia questo messaggio al relativo padre (in genere una finestra di dialogo) per preparare l'oggetto pDC per disegnare il controllo utilizzando i colori corretti.

Per modificare il colore del testo, chiamare la SetTextColor funzione membro con i valori rosso, verde e blu (RGB) desiderati.

Per modificare il colore di sfondo di un controllo di modifica a riga singola, impostare l'handle del pennello nei CTLCOLOR_EDIT codici e CTLCOLOR_MSGBOX e chiamare la CDC::SetBkColor funzione in risposta al CTLCOLOR_EDIT codice.

OnCtlColor non verrà chiamato per la casella di riepilogo di una casella combinata a discesa perché la casella di riepilogo a discesa è effettivamente un elemento figlio della casella combinata e non un elemento figlio della finestra. Per modificare il colore della casella di riepilogo a discesa, creare un CComboBox oggetto con un override di OnCtlColor che controlla CTLCOLOR_LISTBOX nel nCtlColor parametro . In questo gestore, la SetBkColor funzione membro deve essere usata per impostare il colore di sfondo per il testo.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione. Per aggiungere il metodo seguente alla classe di dialogo, usare il riquadro delle proprietà di Visual Studio per aggiungere un gestore messaggi per WM_CTLCOLOR. In alternativa, è possibile aggiungere manualmente una ON_WM_CTLCOLOR() voce alla mappa dei messaggi.

Esempio

// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
   // Call the base class implementation first! Otherwise, it may
   // undo what we're trying to accomplish here.
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   // Are we painting the IDC_MYSTATIC control? We can use
   // CWnd::GetDlgCtrlID() to perform the most efficient test.
   if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
   {
      // Set the text color to red
      pDC->SetTextColor(RGB(255, 0, 0));

      // Set the background mode for text to transparent 
      // so background will show thru.
      pDC->SetBkMode(TRANSPARENT);

      // Return handle to our CBrush object
      hbr = m_brush;
   }

   return hbr;
}

CWnd::OnDeadChar

Il framework chiama questa funzione membro quando vengono chiamate la OnKeyUp funzione membro e le OnKeyDown funzioni membro.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il valore del carattere non recapitabili.

nRepCnt
Specifica il conteggio delle ripetizioni.

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Descrizione
0-7 Codice di analisi (valore dipendente dall'OEM). Byte basso di parola di ordine elevato.
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso; in caso contrario, 0).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, 0).
14 Stato della chiave precedente (1 se la chiave è inattiva prima della chiamata, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Osservazioni:

Questa funzione membro può essere utilizzata per specificare il valore del carattere di una chiave non usata. Una chiave morta è una chiave, ad esempio il carattere umlaut (doppio punto), combinato con altri caratteri per formare un carattere composito. Ad esempio, il carattere umlaut-O è costituito dalla chiave morta, dall'umlaut e dalla chiave O.

Un'applicazione usa OnDeadChar in genere per fornire all'utente commenti e suggerimenti su ogni tasto premuto. Ad esempio, un'applicazione può visualizzare l'accento nella posizione del carattere corrente senza spostare il cursore.

Poiché non esiste necessariamente una corrispondenza uno-a-uno tra i tasti premuti e OnDeadChar le chiamate, le informazioni in nFlags non sono in genere utili per le applicazioni. Le informazioni contenute in nFlags si applicano solo alla chiamata più recente alla OnKeyUp funzione membro o alla OnKeyDown funzione membro che precede la OnDeadChar chiamata.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit del tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnDeleteItem

Il framework chiama questa funzione membro per informare il proprietario di una casella di riepilogo o di una casella combinata di disegno proprietario che la casella di riepilogo o la casella combinata viene eliminata definitivamente o che gli elementi sono stati rimossi da CComboBox::DeleteString, CListBox::DeleteStringCComboBox::ResetContent, o CListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parametri

nIDCtl
Identificatore del controllo che ha inviato il WM_DELETEITEM messaggio.

lpDeleteItemStruct
Specifica un puntatore lungo a una DELETEITEMSTRUCT struttura di dati che contiene informazioni sull'elemento della casella di riepilogo eliminata.

Osservazioni:

Se il hwndItem membro della DELETEITEMSTRUCT struttura appartiene a una casella combinata o a una casella di riepilogo, viene chiamata la DeleteItem funzione virtuale della classe appropriata. Eseguire l'override della DeleteItem funzione membro della classe del controllo appropriato per eliminare dati specifici dell'elemento.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnDestroy

Il framework chiama questa funzione membro per informare l'oggetto CWnd che viene eliminato definitivamente.

afx_msg void OnDestroy();

Osservazioni:

OnDestroy viene chiamato dopo la rimozione dell'oggetto CWnd dalla schermata.

OnDestroy viene chiamato prima per l'essere CWnd distrutti, poi per le finestre figlio di CWnd come vengono distrutte. Si può presumere che tutte le finestre figlio esistano ancora durante OnDestroy l'esecuzione.

Se l'oggetto CWnd distrutto fa parte della catena del visualizzatore appunti (impostata chiamando la SetClipboardViewer funzione membro), l'oggetto CWnd deve rimuovere se stesso dalla catena del visualizzatore Appunti chiamando la ChangeClipboardChain funzione membro prima di restituire dalla OnDestroy funzione .

CWnd::OnDestroyClipboard

Il framework chiama questa funzione membro per il proprietario degli Appunti quando gli Appunti vengono svuotati tramite una chiamata alla EmptyClipboard funzione Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

Il framework chiama questa funzione membro per notificare a un'applicazione o a un driver di dispositivo una modifica alla configurazione hardware di un dispositivo o del computer.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Parametri

nEventType
Tipo di evento. Per una descrizione dei valori disponibili, vedere la sezione Osservazioni

dwData
Indirizzo di una struttura che contiene dati specifici dell'evento. Il suo significato dipende dall'evento specificato.

Osservazioni:

Per i dispositivi che offrono funzionalità controllabili dal software, ad esempio l'espulsione e il blocco, il sistema operativo in genere invia un DBT_DEVICEREMOVEPENDING messaggio per consentire alle applicazioni e ai driver di dispositivo di terminare normalmente l'uso del dispositivo.

Se il sistema operativo rimuove forzatamente un dispositivo, potrebbe non inviare un DBT_DEVICEQUERYREMOVE messaggio prima di farlo.

Il nEvent parametro può essere uno dei valori seguenti:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnDevModeChange

Il framework chiama questa funzione membro per tutti gli oggetti di primo livello CWnd quando l'utente modifica le impostazioni della modalità dispositivo.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parametri

lpDeviceName
Punta al nome del dispositivo specificato nel file di inizializzazione di Windows, WIN.INI.

Osservazioni:

Le applicazioni che gestiscono il WM_DEVMODECHANGE messaggio possono reinizializzare le impostazioni in modalità dispositivo. Le applicazioni che usano la funzione Windows ExtDeviceMode per salvare e ripristinare le impostazioni del dispositivo in genere non elaborano questa funzione.

Questa funzione non viene chiamata quando l'utente modifica la stampante predefinita da Pannello di controllo. In questo caso, viene chiamata la OnWinIniChange funzione .

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnDrawClipboard

Il framework chiama questa funzione membro per ogni finestra della catena del visualizzatore Appunti quando il contenuto degli Appunti cambia.

afx_msg void OnDrawClipboard();

Osservazioni:

Solo le applicazioni che hanno aggiunto la catena del visualizzatore appunti chiamando la SetClipboardViewer funzione membro devono rispondere a questa chiamata.

Ogni finestra che riceve una OnDrawClipboard chiamata deve chiamare la SendMessage funzione di Windows per passare un WM_DRAWCLIPBOARD messaggio alla finestra successiva nella catena del visualizzatore Appunti. L'handle della finestra successiva viene restituito dalla SetClipboardViewer funzione membro; può essere modificato in risposta a una OnChangeCbChain chiamata di funzione membro.

CWnd::OnDrawIconicThumbnailOrLivePreview

Chiamata eseguita dal framework quando è necessario ottenere una bitmap da visualizzare nell'anteprima della scheda di Windows 7 o nel client per l'anteprima dell'applicazione.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Parametri

dc
Specifica il contesto del dispositivo.

rect
Specifica il rettangolo di delimitazione dell'area di cui eseguire il rendering.

szRequiredThumbnailSize
Specifica le dimensioni dell'anteprima di destinazione. Deve essere ignorato se bIsThumbnail è FALSE.

bIsThumbnail
Specifica se questo metodo viene chiamato per l'anteprima iconica o l'anteprima in tempo reale (anteprima).

bAlphaChannelSet
[out] Impostarlo su TRUE se l'implementazione inizializza il canale alfa di una bitmap selezionata in dc.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata e disegnare sul contesto di dispositivo specificato per personalizzare l'anteprima e la visualizzazione. Se bThumbnail è TRUE, szRequiredThumbnailSize può essere ignorato. In questo caso, è necessario tenere presente che si disegna bitmap di dimensioni complete, ovvero una bitmap che copre l'intera area client. Il contesto di dispositivo (dc) viene fornito con bitmap a 32 bit selezionata. L'implementazione predefinita invia WM_PRINT a questa finestra con PRF_CLIENTflag , PRF_CHILDRENe PRF_NONCLIENT .

CWnd::OnDrawItem

Il framework chiama questa funzione membro per il proprietario di un controllo pulsante di disegno proprietario, controllo casella combinata, controllo casella di riepilogo o menu quando un aspetto visivo del controllo o del menu è stato modificato.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametri

nIDCtl
Contiene l'identificatore del controllo che ha inviato il WM_DRAWITEM messaggio. Se un menu ha inviato il messaggio, nIDCtl contiene 0.

lpDrawItemStruct
Specifica un puntatore lungo a una DRAWITEMSTRUCT struttura di dati che contiene informazioni sull'elemento da disegnare e sul tipo di disegno necessario.

Osservazioni:

Il itemAction membro della DRAWITEMSTRUCT struttura definisce l'operazione di disegno da eseguire. I dati in questo membro consentono al proprietario del controllo di determinare quale azione di disegno è necessaria.

Prima di tornare dall'elaborazione di questo messaggio, un'applicazione deve assicurarsi che il hDC contesto del dispositivo identificato dal membro della DRAWITEMSTRUCT struttura venga ripristinato allo stato predefinito.

Se il hwndItem membro appartiene a un CButtonoggetto , CMenu, CListBoxo CComboBox , viene chiamata la DrawItem funzione virtuale della classe appropriata. Eseguire l'override della DrawItem funzione membro della classe del controllo appropriato per disegnare l'elemento.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnDropFiles

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante sinistro del mouse su una finestra che si è registrata come destinatario di file eliminati.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parametri

hDropInfo
Puntatore a una struttura di dati interna che descrive i file eliminati. Questo handle viene usato dalle DragFinishfunzioni , DragQueryFilee DragQueryPoint di Windows per recuperare informazioni sui file eliminati.

Osservazioni:

In genere, una classe derivata sarà progettata per supportare i file eliminati e si registrerà durante la costruzione della finestra.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEnable

Il framework chiama questa funzione membro quando un'applicazione modifica lo stato abilitato dell'oggetto CWnd .

afx_msg void OnEnable(BOOL bEnable);

Parametri

bEnable
Specifica se l'oggetto CWnd è stato abilitato o disabilitato. Questo parametro è TRUE se CWnd è stato abilitato; è FALSE se è CWnd stato disabilitato.

Osservazioni:

OnEnable viene chiamato prima della restituzione della EnableWindow funzione membro, ma dopo la modifica dello stato abilitato della finestra (WS_DISABLED bit di stile).

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEndSession

Il framework chiama questa funzione membro dopo che l'oggetto CWnd ha restituito un valore diverso da zero da una OnQueryEndSession chiamata di funzione membro.

afx_msg void OnEndSession(BOOL bEnding);

Parametri

bEnding
Specifica se la sessione viene terminata o meno. È TRUE se la sessione viene terminata; in caso contrario FALSE, .

Osservazioni:

La OnEndSession chiamata informa l'oggetto CWnd se la sessione sta effettivamente terminando.

Se bEnding è TRUE, Windows può terminare in qualsiasi momento dopo che tutte le applicazioni sono state restituite dall'elaborazione di questa chiamata. Di conseguenza, un'applicazione esegue tutte le attività necessarie per la terminazione all'interno di OnEndSession.

Non è necessario chiamare la funzione membro o PostQuitMessage la DestroyWindow funzione Windows al termine della sessione.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEnterIdle

Il framework chiama questa funzione membro per informare la routine della finestra principale di un'applicazione che indica che una finestra di dialogo modale o un menu sta immettendo uno stato di inattività.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parametri

nWhy
Specifica se il messaggio è il risultato di una finestra di dialogo o di un menu visualizzato. Questo parametro può avere uno dei valori seguenti:

  • MSGF_DIALOGBOX Il sistema è inattiva perché viene visualizzata una finestra di dialogo.

  • MSGF_MENU Il sistema è inattiva perché viene visualizzato un menu.

pWho
Specifica un puntatore alla finestra di dialogo (se nWhy è MSGF_DIALOGBOX) o alla finestra contenente il menu visualizzato (se nWhy è MSGF_MENU). Questo puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Una finestra di dialogo modale o un menu entra in uno stato di inattività quando nessun messaggio è in attesa nella coda dopo l'elaborazione di uno o più messaggi precedenti.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEnterMenuLoop

Il framework chiama questa funzione membro quando è stato immesso un ciclo modale di menu.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parametri

bIsTrackPopupMenu
Specifica se il menu interessato è un menu popup. Ha un valore diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEnterSizeMove

Il framework chiama questa funzione membro una volta dopo che la finestra interessata entra in un ciclo modale in movimento o ridimensionamento.

afx_msg void OnEnterSizeMove();

Osservazioni:

Questo metodo riceve la WM_ENTERSIZEMOVE notifica, descritta in Windows SDK.

Una finestra entra in un ciclo modale di spostamento o ridimensionamento quando l'utente fa clic sulla barra del titolo o sul bordo di ridimensionamento della finestra oppure quando la finestra passa il WM_SYSCOMMAND messaggio alla CWnd::DefWindowProc funzione e il parametro wParam di tale messaggio specifica SC_MOVE o SC_SIZE.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnEraseBkgnd

Il framework chiama questa funzione membro quando lo sfondo dell'oggetto CWnd deve cancellare (ad esempio, quando viene ridimensionato).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Parametri

pDC
Specifica l'oggetto device-context.

Valore restituito

Diverso da zero se cancella lo sfondo; in caso contrario, 0.

Osservazioni:

Viene chiamato per preparare un'area invalidata per la pittura.

L'implementazione predefinita cancella lo sfondo usando il pennello di sfondo della classe finestra specificato dal hbrBackground membro della struttura della classe finestra.

Se il hbrBackground membro è NULL, la versione sottoposta a override di deve cancellare il colore di OnEraseBkgnd sfondo. La versione deve anche allineare l'origine del pennello desiderato con le CWnd coordinate chiamando UnrealizeObject prima per il pennello e quindi selezionando il pennello.

Un override OnEraseBkgnd deve restituire un valore diverso da zero in risposta a WM_ERASEBKGND se elabora il messaggio e cancella lo sfondo. Ciò indica che non è necessaria ulteriore cancellazione. Se restituisce 0, la finestra rimarrà contrassegnata come necessario per essere cancellata. In genere, ciò significa che il fErase membro della PAINTSTRUCT struttura sarà TRUE.)

Windows presuppone che lo sfondo venga calcolato con la MM_TEXT modalità di mapping. Se il contesto del dispositivo usa qualsiasi altra modalità di mapping, l'area cancellata potrebbe non trovarsi nella parte visibile dell'area client.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnExitMenuLoop

Il framework chiama questa funzione membro quando un ciclo modale del menu è stato chiuso.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parametri

bIsTrackPopupMenu
Specifica se il menu interessato è un menu a comparsa. Ha un valore diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnExitSizeMove

Il framework chiama questa funzione membro una volta dopo che la finestra interessata esce da un ciclo modale di spostamento o ridimensionamento.

afx_msg void OnExitSizeMove();

Osservazioni:

Questo metodo riceve la WM_EXITSIZEMOVE notifica, descritta in Windows SDK.

Una finestra entra in un ciclo modale di spostamento o ridimensionamento quando l'utente fa clic sulla barra del titolo o sul bordo di ridimensionamento della finestra oppure quando la finestra passa il WM_SYSCOMMAND messaggio alla CWnd::DefWindowProc funzione e il wParam parametro di tale messaggio specifica SC_MOVE o SC_SIZE.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnFontChange

Tutte le finestre di primo livello del sistema ricevono una OnFontChange chiamata dal framework dopo che l'applicazione modifica il pool di risorse del tipo di carattere.

afx_msg void OnFontChange();

Osservazioni:

Un'applicazione che aggiunge o rimuove i tipi di carattere dal sistema ,ad esempio tramite la AddFontResource funzione o RemoveFontResource Windows, deve inviare il WM_FONTCHANGE messaggio a tutte le finestre di primo livello.

Per inviare questo messaggio, usare la SendMessage funzione Windows con il hWnd parametro impostato su HWND_BROADCAST.

CWnd::OnGetDlgCode

Chiamata eseguita per un controllo in modo che il controllo possa elaborare esso stesso l'input con tasto di direzione e tasto TAB.

afx_msg UINT OnGetDlgCode();

Valore restituito

Uno o più dei valori seguenti, che indicano il tipo di input che l'applicazione elabora:

  • DLGC_BUTTON Pulsante (generico).

  • DLGC_DEFPUSHBUTTON Pulsante di scelta predefinito.

  • DLGC_HASSETSELEM_SETSEL Messaggi.

  • DLGC_UNDEFPUSHBUTTON Nessuna elaborazione pushbutton predefinita. Un'applicazione può usare questo flag con DLGC_BUTTON per indicare che elabora l'input del pulsante, ma si basa sul sistema per l'elaborazione del pulsante di scelta predefinita.

  • DLGC_RADIOBUTTON Pulsante di opzione.

  • DLGC_STATIC Controllo statico.

  • DLGC_WANTALLKEYS Tutti gli input da tastiera.

  • DLGC_WANTARROWS Tasti di direzione.

  • DLGC_WANTCHARSWM_CHAR Messaggi.

  • DLGC_WANTMESSAGE Tutti gli input da tastiera. L'applicazione passa questo messaggio al controllo .

  • DLGC_WANTTAB TASTO TAB.

Osservazioni:

In genere, Windows gestisce tutti gli input di tasti freccia e tasto TAB a un CWnd controllo. Eseguendo l'override di OnGetDlgCode, un CWnd controllo può scegliere un particolare tipo di input da elaborare.

Le funzioni predefinite OnGetDlgCode per le classi di controllo predefinite restituiscono un codice appropriato per ogni classe.

CWnd::OnGetMinMaxInfo

Il framework chiama questa funzione membro ogni volta che Windows deve conoscere la posizione o le dimensioni ingrandita o le dimensioni minime o massime di rilevamento.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parametri

lpMMI
Punta a una MINMAXINFO struttura che contiene informazioni sulle dimensioni e la posizione ingrandita di una finestra e la relativa dimensione minima e massima di rilevamento. Per altre informazioni su questa struttura, vedere la MINMAXINFO struttura .

Osservazioni:

La dimensione ingrandita è la dimensione della finestra quando i bordi sono completamente estesi. La dimensione massima di rilevamento della finestra è la dimensione massima della finestra che può essere ottenuta utilizzando i bordi per ridimensionare la finestra. La dimensione minima di rilevamento della finestra è la dimensione della finestra più piccola che può essere ottenuta utilizzando i bordi per ridimensionare la finestra.

Windows riempie una matrice di punti specificando i valori predefiniti per le varie posizioni e dimensioni. L'applicazione può modificare questi valori in OnGetMinMaxInfo.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnHelp

Gestisce F1 Guida all'interno dell'applicazione (usando il contesto corrente).

afx_msg void OnHelp();

Osservazioni:

Per altre informazioni, vedere CWinApp::OnHelp.

CWnd::OnHelpFinder

Gestisce i ID_HELP_FINDER comandi e ID_DEFAULT_HELP .

afx_msg void OnHelpFinder();

Osservazioni:

Per altre informazioni, vedere CWinApp::OnHelpFinder.

CWnd::OnHelpIndex

Gestisce il ID_HELP_INDEX comando e fornisce un argomento della Guida predefinito.

afx_msg void OnHelpIndex();

Osservazioni:

Per altre informazioni, vedere CWinApp::OnHelpIndex.

CWnd::OnHelpInfo

Chiamata eseguita dal framework quando l'utente preme F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parametri

lpHelpInfo
Puntatore a una HELPINFO struttura che contiene informazioni sulla voce di menu, il controllo, la finestra di dialogo o la finestra per cui viene richiesta la Guida.

Valore restituito

Restituisce TRUE se una finestra ha lo stato attivo della tastiera o se un menu è attivo all'interno di una finestra. Se nessuna finestra ha lo stato attivo della tastiera, restituisce FALSE.

Osservazioni:

Se un menu è attivo quando si preme F1, WM_HELP viene inviato alla finestra associata al menu; in caso contrario, WM_HELP viene inviato alla finestra con lo stato attivo della tastiera. Se nessuna finestra ha lo stato attivo della tastiera, WM_HELP viene inviata alla finestra attualmente attiva.

CWnd::OnHelpUsing

Gestisce il comando ID_HELP_USING.

afx_msg void OnHelpUsing();

Osservazioni:

Per altre informazioni, vedere CWinApp::OnHelpUsing.

CWnd::OnHotKey

Il framework chiama questa funzione membro quando l'utente preme un tasto di scelta rapida a livello di sistema.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parametri

nHotKeyId
[in] Identificatore per la chiave di scelta rapida che ha generato il messaggio. Se il messaggio è stato generato da una chiave di scelta rapida definita dal sistema, questo parametro sarà uno dei valori seguenti:

  • IDHOT_SNAPDESKTOP - È stato premuto il tasto di scelta rapida del desktop snap.
  • IDHOT_SNAPWINDOW - È stato premuto il tasto di scelta rapida della finestra di ancoraggio.

nKey1
[in] Combinazione bit per bit (OR) di flag che indicano i tasti premuti in combinazione con il tasto specificato dal nKey2 parametro . I valori possibili sono:

  • MOD_ALT - Entrambi i tasti ALT sono stati mantenuti.
  • MOD_CONTROL - Il tasto CTRL è stato premuto.
  • MOD_SHIFT - Il tasto MAIUSC è stato premuto.
  • MOD_WIN - Entrambi i tasti WINDOWS sono stati mantenuti. Queste chiavi vengono etichettate con il logo di Microsoft Windows.

nKey2
[in] Codice della chiave virtuale del tasto di scelta rapida.

Osservazioni:

Questo metodo riceve la WM_HOTKEY notifica, descritta in Windows SDK. Questo messaggio viene posizionato nella parte superiore della coda di messaggi associata al thread che ha registrato il tasto di scelta rapida. Usare la RegisterHotKey funzione per registrare un tasto di scelta rapida a livello di sistema.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnHScroll

Il framework chiama questa funzione membro quando l'utente fa clic sulla barra di scorrimento orizzontale di una finestra.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametri

nSBCode
Specifica un codice a barre di scorrimento che indica la richiesta di scorrimento dell'utente. Questo parametro può essere uno dei seguenti:

  • SB_LEFT Scorrere fino a sinistra.

  • SB_ENDSCROLL Scorrere alla fine.

  • SB_LINELEFT Scorrere verso sinistra.

  • SB_LINERIGHT Scorrere verso destra.

  • SB_PAGELEFT Scorrere una pagina a sinistra.

  • SB_PAGERIGHT Scorrere una pagina a destra.

  • SB_RIGHT Scorrere fino a destra.

  • SB_THUMBPOSITION Scorrere fino alla posizione assoluta. La posizione corrente viene specificata dal nPos parametro .

  • SB_THUMBTRACK Trascinare la casella di scorrimento nella posizione specificata. La posizione corrente viene specificata dal nPos parametro .

nPos
Specifica la posizione della casella di scorrimento se il codice della barra di scorrimento è SB_THUMBPOSITION o SB_THUMBTRACK; in caso contrario, non utilizzato. A seconda dell'intervallo di scorrimento iniziale, nPos può essere negativo e deve essere eseguito il cast a un oggetto int , se necessario.

pScrollBar
Se il messaggio di scorrimento proviene da un controllo barra di scorrimento, contiene un puntatore al controllo . Se l'utente ha fatto clic sulla barra di scorrimento di una finestra, questo parametro è NULL. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Il SB_THUMBTRACK codice a barre di scorrimento viene in genere usato dalle applicazioni che forniscono un feedback mentre la casella di scorrimento viene trascinata.

Se un'applicazione scorre il contenuto controllato dalla barra di scorrimento, deve anche reimpostare la posizione della casella di scorrimento con la SetScrollPos funzione membro.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

Esempio

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos);
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT: // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT: // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL: // End scroll.
      break;

   case SB_LINELEFT: // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT: // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT: // Scroll one page left.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
         curpos = max(minpos, curpos - (int)info.nPage);
   }
   break;

   case SB_PAGERIGHT: // Scroll one page right.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int)info.nPage);
   }
   break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
      curpos = nPos;   // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

CWnd::OnHScrollClipboard

La funzione membro del proprietario degli OnHScrollClipboard Appunti viene chiamata dal visualizzatore Appunti quando i dati degli Appunti hanno il CF_OWNERDISPLAY formato e si verifica un evento nella barra di scorrimento orizzontale del visualizzatore Appunti.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametri

pClipAppWnd
Specifica un puntatore a una finestra del visualizzatore appunti. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

nSBCode
Specifica uno dei codici a barre di scorrimento seguenti nella parola a basso ordine:

  • SB_BOTTOM Scorrere verso il basso a destra.

  • SB_ENDSCROLL Scorrere alla fine.

  • SB_LINEDOWN Scorrere una riga verso il basso.

  • SB_LINEUP Scorrere una riga verso l'alto.

  • SB_PAGEDOWN Scorrere una pagina verso il basso.

  • SB_PAGEUP Scorrere verso l'alto una pagina verso l'alto.

  • SB_THUMBPOSITION Scorrere fino alla posizione assoluta. La posizione corrente viene specificata in nPos.

  • SB_TOP Scorrere verso l'alto a sinistra.

nPos
Contiene la posizione della casella di scorrimento se il codice della barra di scorrimento è SB_THUMBPOSITION; in caso contrario, non viene utilizzato.

Osservazioni:

Il proprietario deve scorrere l'immagine degli Appunti, invalidare la sezione appropriata e aggiornare i valori della barra di scorrimento.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnIconEraseBkgnd

Il framework chiama questa funzione membro per un oggetto ridotto a icona quando CWnd lo sfondo dell'icona deve essere riempito prima di disegnare l'icona.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Parametri

pDC
Specifica l'oggetto contesto dispositivo dell'icona. Può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

CWnd riceve questa chiamata solo se è definita un'icona di classe per l'implementazione predefinita della finestra; in caso contrario OnEraseBkgnd viene chiamato .

La DefWindowProc funzione membro riempie lo sfondo dell'icona con il pennello di sfondo della finestra padre.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnInitMenu

Il framework chiama questa funzione membro quando un menu sta per diventare attivo.

afx_msg void OnInitMenu(CMenu* pMenu);

Parametri

pMenu
Specifica il menu da inizializzare. Può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

OnInitMenu viene chiamato quando l'utente fa clic su una voce sulla barra dei menu o preme un tasto di menu. Eseguire l'override di questa funzione membro per modificare il menu prima che venga visualizzato.

OnInitMenu viene chiamato una sola volta, quando si accede per la prima volta a un menu, ad esempio quando un utente fa clic su una voce sulla barra dei menu. Questo metodo non fornisce informazioni sulle voci di menu. Quando l'utente passa alle voci all'interno del menu (ad esempio, spostando il mouse tra diverse voci di menu) la funzione non viene chiamata di nuovo. Quando l'utente esce dal menu (ad esempio, facendo clic sull'area client dell'applicazione) e successivamente fa clic su una voce sulla barra dei menu, la funzione verrà chiamata di nuovo.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnInitMenuPopup

Il framework chiama questa funzione membro quando un menu a comparsa sta per diventare attivo.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parametri

pPopupMenu
Specifica l'oggetto menu del menu a comparsa. Può essere temporaneo e non deve essere archiviato per un uso successivo.

nIndex
Specifica l'indice del menu a comparsa nel menu principale.

bSysMenu
TRUE se il menu a comparsa è il menu Controllo; in caso contrario FALSE, .

Osservazioni:

In questo modo un'applicazione può modificare il menu a comparsa prima che venga visualizzato senza modificare l'intero menu.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnInputDeviceChange

Il framework chiama questa funzione membro quando un dispositivo di I/O viene aggiunto o rimosso dal sistema.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parametri

uFlag
[in] Questo flag può contenere i valori seguenti:

  • GIDC_ARRIVAL - È stato aggiunto un nuovo dispositivo al sistema.
  • GIDC_REMOVAL - Un dispositivo è stato rimosso dal sistema.

Osservazioni:

Questo metodo riceve la WM_INPUT_DEVICE_CHANGE notifica, descritta in Windows SDK. è un messaggio generico del dispositivo di input.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnInputLangChange

Il framework chiama questo membro per la finestra più interessata dopo la modifica della lingua di input di un'applicazione.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parametri

nCharSet
[in] Set di caratteri delle nuove impostazioni locali. Per altre informazioni, vedere il lfCharSet parametro della LOGFONT struttura.

nLocaleId
[in] Identificatore delle impostazioni locali di input. Per altre informazioni, vedere Costanti e stringhe dell'identificatore di lingua.

Osservazioni:

Questo metodo riceve il WM_INPUTLANGCHANGE messaggio di notifica, descritto in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnInputLangChangeRequest

Il framework chiama questo membro per la finestra con lo stato attivo quando l'utente sceglie una nuova lingua di input.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parametri

nFlags
[in] Combinazione or bit per bit di flag che indicano che le nuove impostazioni locali sono state selezionate dalle impostazioni locali precedenti o successive nell'elenco delle impostazioni locali installate oppure che il layout della tastiera delle nuove impostazioni locali di input può essere usato con il set di caratteri di sistema. I valori possibili sono INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDe INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in] Identificatore delle impostazioni locali di input. Per altre informazioni, vedere Costanti e stringhe dell'identificatore di lingua.

Osservazioni:

Questo metodo riceve il WM_INPUTLANGCHANGEREQUEST messaggio di notifica, descritto in Windows SDK. Questo messaggio viene inviato quando l'utente sceglie una nuova lingua di input con un tasto di scelta rapida specificato nell'applicazione del pannello di controllo della tastiera o dall'indicatore sulla barra delle applicazioni di sistema.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnKeyDown

Il framework chiama questa funzione membro quando viene premuto un tasto non di sistema.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il codice della chiave virtuale della chiave specificata. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h

nRepCnt
Numero di ripetizioni (il numero di volte in cui la sequenza di tasti viene ripetuta in seguito all'utente che tiene premuto il tasto).

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Descrizione
0-7 Codice di analisi (valore dipendente dall'OEM).
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, 0).
14 Stato della chiave precedente (1 se la chiave è inattiva prima della chiamata, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Per un WM_KEYDOWN messaggio, il bit di transizione della chiave (bit 15) è 0 e il bit del codice di contesto (bit 13) è 0.

Osservazioni:

Un tasto non di sistema è un tasto da tastiera premuto quando il tasto ALT non viene premuto o un tasto da tastiera premuto quando CWnd ha lo stato attivo per l'input.

A causa della ripetizione automatica, possono verificarsi più chiamate OnKeyDown prima che venga effettuata una OnKeyUp chiamata di funzione membro. Il bit che indica lo stato della chiave precedente può essere usato per determinare se la chiamata è la prima transizione verso il basso o una transizione ripetuta verso il OnKeyDown basso.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit del tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnKeyUp

Il framework chiama questa funzione membro quando viene rilasciata una chiave non di sistema.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il codice della chiave virtuale della chiave specificata. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h

nRepCnt
Numero di ripetizioni (il numero di volte in cui la sequenza di tasti viene ripetuta in seguito all'utente che tiene premuto il tasto).

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Descrizione
0-7 Codice di analisi (valore dipendente dall'OEM). Byte basso di parola di ordine elevato.
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso; in caso contrario, 0).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, 0).
14 Stato della chiave precedente (1 se la chiave è inattiva prima della chiamata, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Per un WM_KEYUP messaggio, il bit di transizione della chiave (bit 15) è 1 e il bit del codice di contesto (bit 13) è 0.

Osservazioni:

Un tasto non di sistema è un tasto da tastiera premuto quando il tasto ALT non viene premuto o un tasto da tastiera premuto quando l'oggetto ha lo stato attivo per l'input CWnd .

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit di tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnKillFocus

Il framework chiama questa funzione membro immediatamente prima di perdere lo stato attivo dell'input.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Parametri

pNewWnd
Specifica un puntatore alla finestra che riceve lo stato attivo di input (può essere NULL o può essere temporaneo).

Osservazioni:

Se l'oggetto CWnd visualizza un cursore, il cursore deve essere eliminato definitivamente a questo punto.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnLButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante sinistro del mouse.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Solo le finestre con lo CS_DBLCLKSWNDCLASS stile riceveranno OnLButtonDblClk chiamate. Si tratta dell'impostazione predefinita per le finestre di Microsoft Foundation Class. Windows chiama OnLButtonDblClk quando l'utente preme, rilascia e quindi preme di nuovo il pulsante sinistro del mouse entro il limite di tempo di doppio clic del sistema. Facendo doppio clic sul pulsante sinistro del mouse vengono effettivamente generati quattro eventi: WM_LBUTTONDOWN, messaggi, WM_LBUTTONDBLCLK chiamata e un altro WM_LBUTTONUP messaggio quando viene WM_LBUTTONUP rilasciato il pulsante.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnLButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante sinistro del mouse.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnLButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante sinistro del mouse.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante centrale del mouse.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Solo le finestre con lo CS_DBLCLKSWNDCLASS stile riceveranno OnMButtonDblClk chiamate. Si tratta dell'impostazione predefinita per tutte le finestre di Microsoft Foundation Class. Windows genera una OnMButtonDblClk chiamata quando l'utente preme, rilascia e quindi preme di nuovo il pulsante centrale del mouse entro il limite di tempo di doppio clic del sistema. Facendo doppio clic sul pulsante centrale del mouse vengono effettivamente generati quattro eventi: WM_MBUTTONDOWN e WM_MBUTTONUP messaggi, la WM_MBUTTONDBLCLK chiamata e un altro WM_MBUTTONUP messaggio.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante centrale del mouse.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante centrale del mouse.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMDIActivate

Il framework chiama questa funzione membro per la finestra figlio disattivata e la finestra figlio attivata.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parametri

bActivate
TRUE se l'elemento figlio viene attivato e FALSE se viene disattivato.

pActivateWnd
Contiene un puntatore alla finestra figlio MDI da attivare. Quando viene ricevuta da una finestra figlio MDI, pActivateWnd contiene un puntatore alla finestra figlio attivata. Questo puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

pDeactivateWnd
Contiene un puntatore alla finestra figlio MDI disattivata. Questo puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Una finestra figlio MDI viene attivata indipendentemente dalla finestra cornice MDI. Quando il frame diventa attivo, la finestra figlio che è stata attivata per l'ultima volta con una OnMDIActivate chiamata riceve un WM_NCACTIVATE messaggio per disegnare una cornice di finestra attiva e didascalia barra, ma non riceve un'altra OnMDIActivate chiamata.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMeasureItem

Il framework chiama questa funzione membro dal framework per il proprietario di un pulsante di disegno proprietario, di una casella combinata, di una casella di riepilogo o di una voce di menu al momento della creazione del controllo.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Parametri

nIDCtl
ID del controllo.

lpMeasureItemStruct
Punta a una MEASUREITEMSTRUCT struttura di dati che contiene le dimensioni del controllo di disegno proprietario.

Osservazioni:

Eseguire l'override di questa funzione membro e compilare la MEASUREITEMSTRUCT struttura dei dati a lpMeasureItemStruct cui punta e restituire. In questo modo Windows informa Windows delle dimensioni del controllo e consente a Windows di elaborare correttamente l'interazione dell'utente con il controllo.

Se viene creata una casella di riepilogo o una casella combinata con lo LBS_OWNERDRAWVARIABLE stile o CBS_OWNERDRAWVARIABLE , il framework chiama questa funzione per il proprietario di ogni elemento nel controllo; in caso contrario, questa funzione viene chiamata una sola volta.

Windows avvia la chiamata a OnMeasureItem per il proprietario delle caselle combinate e delle caselle di riepilogo create con lo OWNERDRAWFIXED stile prima di inviare il WM_INITDIALOG messaggio. Di conseguenza, quando il proprietario riceve questa chiamata, Windows non ha ancora determinato l'altezza e la larghezza del tipo di carattere utilizzato nel controllo; le chiamate di funzione e i calcoli che richiedono questi valori devono essere eseguiti nella funzione principale dell'applicazione o della libreria.

Se l'elemento misurato è un CMenuoggetto o CComboBoxCListBox , viene chiamata la MeasureItem funzione virtuale della classe appropriata. Eseguire l'override della MeasureItem funzione membro della classe del controllo appropriato per calcolare e impostare le dimensioni di ogni elemento.

OnMeasureItem verrà chiamato solo se la classe del controllo viene creata in fase di esecuzione o viene creata con lo LBS_OWNERDRAWVARIABLE stile o CBS_OWNERDRAWVARIABLE . Se il controllo viene creato dall'editor della finestra di dialogo, OnMeasureItem non verrà chiamato. Ciò è dovuto al fatto che il WM_MEASUREITEM messaggio viene inviato all'inizio del processo di creazione del controllo. Se si usa DDX_Control, SubclassDlgItemo SubclassWindow, la sottoclasse si verifica in genere dopo il processo di creazione. Pertanto, non è possibile gestire il WM_MEASUREITEM messaggio nella funzione del OnChildNotify controllo, che è il meccanismo usato da MFC per implementare ON_WM_MEASUREITEM_REFLECT.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMenuChar

Il framework chiama questa funzione membro quando l'utente preme un carattere mnemonico del menu che non corrisponde ad alcuno dei mnemonic predefiniti nel menu corrente.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Parametri

nChar
A seconda delle impostazioni di compilazione, specifica il carattere ANSI o Unicode premuto dall'utente.

nFlags
Contiene il MF_POPUP flag se il menu è un menu a comparsa. Contiene il MF_SYSMENU flag se il menu è un menu Controllo.

pMenu
Contiene un puntatore all'oggetto selezionato CMenu. Il puntatore può essere temporaneo e non deve essere archiviato.

Valore restituito

La parola di ordine elevato del valore restituito deve contenere uno dei codici di comando seguenti:

Valore Descrizione
0 Indica a Windows di rimuovere il carattere premuto dall'utente e di creare un segnale acustico breve sull'altoparlante di sistema.
1 Indica a Windows di chiudere il menu corrente.
2 Informa Windows che la parola con ordine basso del valore restituito contiene il numero di elemento per un elemento specifico. Questo elemento è selezionato da Windows.

La parola di ordine basso viene ignorata se la parola dell'ordine elevato contiene 0 o 1. Le applicazioni devono elaborare questo messaggio quando vengono usati i tasti di scelta rapida (tasti di scelta rapida) per selezionare le bitmap inserite in un menu.

Osservazioni:

Viene inviato al CWnd proprietario del menu. OnMenuChar viene chiamato anche quando l'utente preme ALT e qualsiasi altro tasto, anche se il tasto non corrisponde a un carattere mnemonico. In questo caso, pMenu punta al menu di proprietà di CWnde nFlags è 0.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMenuDrag

Il framework chiama questa funzione membro del menu di trascinamento della selezione corrente quando l'utente inizia a trascinare una voce di menu.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parametri

nPos
[in] Posizione di indice della voce di menu all'inizio dell'operazione di trascinamento.

pMenu
[in] Puntatore all'oggetto CMenu che contiene la voce di menu.

Valore restituito

Valore restituito Significato
MND_CONTINUE Il menu deve rimanere attivo. Se il mouse viene rilasciato, deve essere ignorato.
MND_ENDMENU Il menu deve essere terminato.

Osservazioni:

Questo metodo riceve la WM_MENUDRAG notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMenuGetObject

Il framework chiama questa funzione membro del menu di trascinamento della selezione corrente quando il cursore del mouse entra in una voce di menu o passa dal centro dell'elemento alla parte superiore o inferiore dell'elemento.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parametri

pMenu
[in] Puntatore a una MENUGETOBJECTINFO struttura che contiene informazioni sul menu di trascinamento della selezione su cui si trova il cursore del mouse.

Valore restituito

Valore restituito Significato
MNGO_NOERROR Un puntatore di interfaccia che supporta le operazioni di trascinamento della selezione viene restituito nel pvObj membro della MENUGETOBJECTINFO struttura. Attualmente è supportata solo l'interfaccia IDropTarget .
MNGO_NOINTERFACE Non è supportata alcuna interfaccia di trascinamento della selezione.

Osservazioni:

Questo metodo riceve la WM_MENUGETOBJECT notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMenuRButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova su una voce di menu.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parametri

nPos
[in] Posizione di indice della voce di menu quando è stato rilasciato il pulsante destro del mouse.

pMenu
[in] Puntatore all'oggetto CMenu che contiene la voce di menu.

Osservazioni:

Questo metodo riceve la WM_MENURBUTTONUP notifica, descritta in Windows SDK. Il WM_MENURBUTTONUP messaggio consente a un'applicazione di fornire un menu sensibile al contesto per la voce di menu specificata nel messaggio.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMenuSelect

Se l'oggetto CWnd è associato a un menu, OnMenuSelect viene chiamato dal framework quando l'utente seleziona una voce di menu.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Parametri

nItemID
Identifica l'elemento selezionato. Se la voce selezionata è una voce di menu, nItemID contiene l'ID voce di menu. Se l'elemento selezionato contiene un menu a comparsa, nItemID contiene l'indice del menu a comparsa e hSysMenu contiene l'handle del menu principale (su cui si fa clic).

nFlags
Contiene una combinazione dei flag di menu seguenti:

  • MF_BITMAP L'elemento è una bitmap.

  • MF_CHECKED L'elemento è selezionato.

  • MF_DISABLED L'elemento è disabilitato.

  • MF_GRAYED L'elemento è in grigio.

  • MF_MOUSESELECT L'elemento è stato selezionato con un mouse.

  • MF_OWNERDRAW L'elemento è un elemento di disegno proprietario.

  • MF_POPUP L'elemento contiene un menu a comparsa.

  • MF_SEPARATOR L'elemento è un separatore di voci di menu.

  • MF_SYSMENU L'elemento è contenuto nel menu Controllo.

hSysMenu
Se nFlags contiene MF_SYSMENU, identifica il menu associato al messaggio. Se nFlags contiene MF_POPUP, identifica l'handle del menu principale. Se nFlags non contiene né MF_SYSMENUMF_POPUPné , non è usato.

Osservazioni:

Se nFlags contiene 0xFFFF e hSysMenu contiene 0, Windows ha chiuso il menu perché l'utente ha premuto il tasto ESC o ha fatto clic all'esterno del menu.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMouseActivate

Il framework chiama questa funzione membro quando il cursore si trova in una finestra inattiva e l'utente preme un pulsante del mouse.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Parametri

pDesktopWnd
Specifica un puntatore alla finestra padre principale della finestra da attivare. Il puntatore può essere temporaneo e non deve essere archiviato.

nHitTest
Specifica il codice dell'area hit test . Un hit test è un test che determina la posizione del cursore.

message
Specifica il numero del messaggio del mouse.

Valore restituito

Specifica se attivare CWnd e se rimuovere l'evento del mouse. Deve essere uno dei valori seguenti:

  • MA_ACTIVATE Attivare l'oggetto CWnd .

  • MA_NOACTIVATE Non attivare l'oggetto CWnd .

  • MA_ACTIVATEANDEAT Attivare CWnd l'oggetto e rimuovere l'evento del mouse.

  • MA_NOACTIVATEANDEAT Non attivare l'oggetto CWnd e rimuovere l'evento del mouse.

Osservazioni:

L'implementazione predefinita passa questo messaggio alla finestra padre prima che si verifichi un'elaborazione. Se la finestra padre restituisce TRUE, l'elaborazione viene interrotta.

Per una descrizione dei singoli codici di area hit test, vedere la OnNcHitTest funzione membro

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

Esempio

// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
   OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
   return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}

CWnd::OnMouseHover

Il framework chiama questa funzione membro quando il cursore passa il puntatore sull'area client della finestra per il periodo di tempo specificato in una chiamata precedente a TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve la WM_MOUSEHOVER notifica, descritta in Windows SDK.

Il nFlags parametro può essere una combinazione di tasti di modifica elencati nella tabella seguente. Per altre informazioni, vedere Informazioni sull'input del mouse.

Tasto modificatore Descrizione
MK_CONTROL Il tasto CTRL viene premuto.
MK_LBUTTON Viene premuto il pulsante sinistro del mouse.
MK_MBUTTON Viene premuto il pulsante centrale del mouse.
MK_RBUTTON Viene premuto il pulsante destro del mouse.
MK_SHIFT Il tasto MAIUSC viene premuto.
MK_XBUTTON1 Viene premuto il XBUTTON1 pulsante del mouse di Microsoft IntelliMouse.
MK_XBUTTON2 Viene premuto il XBUTTON2 pulsante del mouse di Microsoft IntelliMouse.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMouseHWheel

Il framework chiama questo membro quando la rotellina orizzontale del mouse è inclinata o ruotata.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametri

nFlags
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto. Per un elenco di flag, vedere la sottotitolo "Parametri messaggio" in Informazioni sull'input del mouse.

zDelta
[in] Indica la distanza di rotazione della ruota, espressa in multipli o divisioni di WHEEL_DELTA, ovvero 120. Un valore positivo indica che la ruota è stata ruotata a destra; un valore negativo indica che la ruota è stata ruotata a sinistra.

pt
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve il WM_MOUSEHWHEEL messaggio di notifica, descritto in Windows SDK. Questo messaggio viene inviato alla finestra con lo stato attivo quando la rotellina orizzontale del mouse è inclinata o ruotata.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMouseLeave

Il framework chiama questa funzione membro quando il cursore lascia l'area client della finestra specificata in una chiamata precedente a TrackMouseEvent.

afx_msg void OnMouseLeave();

Osservazioni:

Questo metodo riceve la WM_MOUSELEAVE notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMouseMove

Il framework chiama questa funzione membro quando si sposta il cursore del mouse.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Se il mouse non viene acquisito, il WM_MOUSEMOVE messaggio viene ricevuto dall'oggetto CWnd sotto il cursore del mouse; in caso contrario, il messaggio passa alla finestra che ha acquisito il mouse.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMouseWheel

Il framework chiama questa funzione membro come utente ruota la rotellina del mouse e incontra la notch successiva della rotellina.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se il tasto MAIUSC è inattivo.

zDelta
Indica la distanza ruotata. Il zDelta valore è espresso in più o divisioni di WHEEL_DELTA, ovvero 120. Un valore minore di zero indica la rotazione indietro (verso l'utente) mentre un valore maggiore di zero indica la rotazione in avanti (lontano dall'utente). L'utente può invertire questa risposta modificando l'impostazione Wheel nel software del mouse. Per altre informazioni su questo parametro, vedere la sezione Osservazioni.

pt
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Valore restituito

Diverso da zero se lo scorrimento della rotellina del mouse è abilitato; in caso contrario, 0.

Osservazioni:

A meno che non venga sottoposto a override, OnMouseWheel chiama il valore predefinito di WM_MOUSEWHEEL. Windows instrada automaticamente il messaggio al controllo o alla finestra figlio con lo stato attivo. La funzione DefWindowProc Win32 propaga il messaggio fino alla catena padre alla finestra che lo elabora.

Il zDelta parametro è un multiplo di WHEEL_DELTA, impostato su 120. Questo valore è la soglia per l'esecuzione di un'azione e un'azione di questo tipo (ad esempio, lo scorrimento in avanti di una notch) deve verificarsi per ogni delta.

WHEEL_DELTA è stato impostato su 120 per consentire ruote a risoluzione più fine, come una ruota liberamente ruotante senza tacche. Una rotellina di risoluzione più fine invia più messaggi per rotazione, ma ogni messaggio ha un valore delta più piccolo. Per usare tale rotellina, aggiungere i valori in ingresso zDelta fino a WHEEL_DELTA raggiungere (in modo da ottenere la stessa risposta per una determinata rotazione differenziale) o scorrere le righe parziali in risposta ai messaggi più frequenti. È anche possibile scegliere una granularità di scorrimento e accumulare delta fino a WHEEL_DELTA raggiungere.

Eseguire l'override di questa funzione membro per fornire il proprio comportamento di scorrimento della rotellina del mouse.

Nota

OnMouseWheel gestisce i messaggi per Windows NT 4.0 e versioni successive. Per la gestione dei messaggi di Windows 95/98 o Windows NT 3.51, usare OnRegisteredMouseWheel.

CWnd::OnMove

Il framework chiama questa funzione membro dopo lo spostamento dell'oggetto CWnd .

afx_msg void OnMove(
    int x,
    int y);

Parametri

x
Specifica la nuova posizione della coordinata x dell'angolo superiore sinistro dell'area client. Questa nuova posizione viene assegnata nelle coordinate dello schermo per le finestre sovrapposte e popup e le coordinate padre-client per le finestre figlio.

y
Specifica la nuova posizione della coordinata y dell'angolo superiore sinistro dell'area client. Questa nuova posizione viene assegnata nelle coordinate dello schermo per le finestre sovrapposte e popup e le coordinate padre-client per le finestre figlio.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnMoving

Il framework chiama questa funzione membro mentre un utente sta spostando un CWnd oggetto.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Parametri

nSide
Bordo della finestra da spostare.

lpRect
Indirizzo della CRect struttura o RECT che conterrà le coordinate dell'elemento.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcActivate

Il framework chiama questa funzione membro quando l'area non client deve essere modificata per indicare uno stato attivo o inattivo.

afx_msg BOOL OnNcActivate(BOOL bActive);

Parametri

bActive
Specifica quando è necessario modificare una barra o un'icona didascalia per indicare uno stato attivo o inattivo. Il bActive parametro è TRUE se deve essere disegnato un didascalia o un'icona attiva. Si tratta FALSE di un didascalia o un'icona inattiva.

Valore restituito

Diverso da zero se Windows deve procedere con l'elaborazione predefinita; 0 per impedire la disattivazione della barra o dell'icona didascalia.

Osservazioni:

L'implementazione predefinita disegna la barra del titolo e il testo della barra del titolo nei colori attivi se è e nei colori inattivi se bActivebActive è FALSE.TRUE

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcCalcSize

Il framework chiama questa funzione membro quando è necessario calcolare le dimensioni e la posizione dell'area client.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parametri

bCalcValidRects
Specifica se l'applicazione deve specificare quale parte dell'area client contiene informazioni valide. Windows copia le informazioni valide nell'area specificata all'interno della nuova area client. Se questo parametro è TRUE, l'applicazione deve specificare quale parte dell'area client è valida.

lpncsp
Punta a una NCCALCSIZE_PARAMS struttura di dati che contiene informazioni che un'applicazione può usare per calcolare le nuove dimensioni e la nuova posizione del CWnd rettangolo (inclusi area client, bordi, didascalia, barre di scorrimento e così via).

Osservazioni:

Elaborando questo messaggio, un'applicazione può controllare il contenuto dell'area client della finestra quando cambiano le dimensioni o la posizione della finestra.

Indipendentemente dal valore di bCalcValidRects, il primo rettangolo nella matrice specificata dal rgrc membro della struttura della NCCALCSIZE_PARAMS struttura contiene le coordinate della finestra. Per una finestra figlio, le coordinate sono relative all'area client della finestra padre. Per le finestre di primo livello, le coordinate sono coordinate dello schermo. Un'applicazione deve modificare il rgrc[0] rettangolo in modo da riflettere le dimensioni e la posizione dell'area client.

I rgrc[1] rettangoli e rgrc[2] sono validi solo se bCalcValidRects è TRUE. In questo caso, il rgrc[1] rettangolo contiene le coordinate della finestra prima che sia stata spostata o ridimensionata. Il rgrc[2] rettangolo contiene le coordinate dell'area client della finestra prima dello spostamento della finestra. Tutte le coordinate sono relative alla finestra o allo schermo padre.

L'implementazione predefinita calcola le dimensioni dell'area client in base alle caratteristiche della finestra (presenza di barre di scorrimento, menu e così via) e inserisce il risultato in lpncsp.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcCreate

Il framework chiama questa funzione membro prima del WM_CREATE messaggio quando l'oggetto viene creato per la CWnd prima volta.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Parametri

lpCreateStruct
Punta alla struttura dei CREATESTRUCT dati per CWnd.

Valore restituito

Diverso da zero se viene creata l'area non client. È 0 se si verifica un errore; la Create funzione restituirà failure in questo caso.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcDestroy

Chiamato dal framework quando l'area non client viene eliminata definitivamente ed è l'ultima funzione membro chiamata quando la finestra di Windows viene eliminata definitivamente.

afx_msg void OnNcDestroy();

Osservazioni:

L'implementazione predefinita esegue alcune operazioni di pulizia, quindi chiama la funzione PostNcDestroymembro virtuale .

Eseguire l'override PostNcDestroy se si vuole eseguire una pulizia personalizzata, ad esempio un'operazione delete this . Se si esegue l'override OnNcDestroydi , è necessario chiamare OnNcDestroy nella classe di base per assicurarsi che qualsiasi memoria allocata internamente per la finestra venga liberata.

CWnd::OnNcHitTest

Il framework chiama questa funzione membro per l'oggetto CWnd che contiene il cursore (o l'oggetto CWnd che ha utilizzato la SetCapture funzione membro per acquisire l'input del mouse) ogni volta che il mouse viene spostato.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parametri

point
Contiene le coordinate x e y del cursore. Queste coordinate sono sempre coordinate dello schermo.

Valore restituito

Uno dei valori enumerati di hit test del mouse. Vedere WM_NCHITTEST per l'elenco dei valori.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcLButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante sinistro del mouse mentre il cursore si trova all'interno di un'area non client di CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore. Vedere WM_NCHITTEST per l'elenco dei valori.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Se appropriato, il WM_SYSCOMMAND messaggio viene inviato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcLButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante sinistro del mouse mentre il cursore si trova all'interno di un'area non client dell'oggetto CWnd .

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore. Vedere WM_NCHITTEST per l'elenco dei valori.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Se appropriato, viene WM_SYSCOMMAND inviato .

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework al momento della ricezione del messaggio. Se si chiama l'implementazione della classe base di questa funzione, tale implementazione userà i parametri originariamente passati con il messaggio e non i parametri forniti alla funzione.

CWnd::OnNcLButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante sinistro del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore. Vedere WM_NCHITTEST per l'elenco dei valori.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Se appropriato, WM_SYSCOMMAND viene inviato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante centrale del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante centrale del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante centrale del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMouseHover

Il framework chiama questa funzione membro quando il cursore passa il puntatore sull'area non client della finestra per il periodo di tempo specificato in una chiamata precedente a TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
[in] Valore di hit test restituito dalla CWnd::DefWindowProc funzione come risultato dell'elaborazione del WM_NCHITTEST messaggio.

point
[in] Oggetto CPoint che specifica le coordinate x e y del cursore rispetto all'angolo superiore sinistro dello schermo.

Osservazioni:

Questo metodo riceve la WM_NCMOUSEHOVER notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMouseLeave

Il framework chiama questa funzione membro quando il cursore lascia l'area non client della finestra specificata in una chiamata precedente a TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Osservazioni:

Questo metodo riceve la WM_NCMOUSELEAVE notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcMouseMove

Il framework chiama questa funzione membro quando il cursore viene spostato all'interno di un'area non client.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Se appropriato, il WM_SYSCOMMAND messaggio viene inviato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcPaint

Il framework chiama questa funzione membro quando è necessario disegnare l'area non client.

afx_msg void OnNcPaint();

Osservazioni:

L'implementazione predefinita disegna la cornice della finestra.

Un'applicazione può eseguire l'override di questa chiamata e disegnare il proprio frame di finestra personalizzato. L'area di ritaglio è sempre rettangolare, anche se la forma del fotogramma viene modificata.

CWnd::OnNcRButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante destro del mouse mentre il cursore si trova all'interno di un'area non client di CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcRButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante destro del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcRButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova all'interno di un'area non client.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parametri

nHitTest
Specifica il codice di hit test. Un hit test è un test che determina la posizione del cursore.

point
Specifica un CPoint oggetto che contiene le coordinate dello schermo x e y della posizione del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro dello schermo.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcRenderingChanged

Il framework chiama questo membro quando i criteri di rendering per l'area non client sono stati modificati.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parametri

bIsRendering
[in] TRUE se il rendering di Desktop Window Manager (DWM) è abilitato per l'area non client della finestra; FALSE se il rendering è disabilitato.

Osservazioni:

Questo metodo riceve la WM_DWMNCRENDERINGCHANGED notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcXButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametri

nHitTest
[in] Valore di hit test restituito dalla CWnd::DefWindowProc funzione come risultato dell'elaborazione del WM_NCHITTEST messaggio.

nButton
[in] Valore se XBUTTON1 si fa doppio clic sul pulsante X di Microsoft Intellimouse o XBUTTON2 se si fa doppio clic sul pulsante X.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve la WM_XBUTTONDBLCLK notifica, descritta in Windows SDK. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcXButtonDown

Il framework chiama questa funzione membro quando l'utente preme XBUTTON1 o XBUTTON2 del mouse mentre il cursore si trova nell'area non client di una finestra.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametri

nHitTest
[in] Valore di hit test restituito dalla CWnd::DefWindowProc funzione come risultato dell'elaborazione del WM_NCHITTEST messaggio.

nButton
[in] Valore se XBUTTON1 viene premuto il primo pulsante X del mouse o XBUTTON2 se viene premuto il secondo pulsante X.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dello schermo.

Osservazioni:

Questo metodo riceve la WM_NCXBUTTONDOWN notifica, descritta in Windows SDK. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNcXButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia XBUTTON1 o XBUTTON2 del mouse mentre il cursore si trova nell'area non client di una finestra.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parametri

nHitTest
[in] Valore di hit test restituito dalla CWnd::DefWindowProc funzione come risultato dell'elaborazione del WM_NCHITTEST messaggio.

nButton
[in] Valore se XBUTTON1 viene rilasciato il primo pulsante X del mouse o XBUTTON2 se viene rilasciato il secondo pulsante X.

point
[in] Oggetto CPoint che specifica le coordinate x e y del cursore rispetto all'angolo superiore sinistro dello schermo.

Osservazioni:

Questo metodo riceve la WM_NCXBUTTONUP notifica, descritta in Windows SDK. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNextMenu

Il framework chiama questa funzione membro quando viene usato il tasto freccia destra o sinistra per passare dalla barra dei menu al menu di sistema.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parametri

nKey
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto. Per un elenco di flag, vedere la sottotitolo "Parametri messaggio" in Informazioni sull'input del mouse.

lpMdiNextMenu
[in] Puntatore a una MDINEXTMENU struttura che contiene informazioni sul menu da attivare.

Osservazioni:

Questo metodo riceve la WM_UNINITMENUPOPUP notifica, descritta in Windows SDK. In risposta a questo messaggio, l'applicazione può impostare il hmenuNext membro della MDINEXTMENU struttura per specificare il menu su cui passare e il hwndNext membro a cui specificare la finestra per ricevere messaggi di notifica del menu.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnNotify

Il framework chiama questa funzione membro per informare la finestra padre di un controllo che si è verificato un evento nel controllo o che il controllo richiede un certo tipo di informazioni.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametri

wParam
Identifica il controllo che invia il messaggio se il messaggio proviene da un controllo . In caso contrario, wParam è 0.

lParam
Puntatore a una struttura di messaggio di notifica (NMHDR) che contiene il codice di notifica e informazioni aggiuntive. Per alcuni messaggi di notifica, questo parametro punta a una struttura più grande con la NMHDR struttura come primo membro.

pResult
Puntatore a una LRESULT variabile in cui archiviare il codice del risultato se il messaggio viene gestito.

Valore restituito

Un'applicazione restituisce un valore diverso da zero se elabora questo messaggio; in caso contrario, 0.

Osservazioni:

OnNotify elabora la mappa dei messaggi per la notifica del controllo.

Eseguire l'override di questa funzione membro nella classe derivata per gestire il WM_NOTIFY messaggio. Un override non elabora la mappa messaggi a meno che non venga chiamata la classe OnNotify di base.

Per altre informazioni sul WM_NOTIFY messaggio, vedere La nota tecnica 61 (TN061) ON_NOTIFY e WM_NOTIFY i messaggi. Potresti anche essere interessato agli argomenti correlati descritti in Argomenti di controllo e TN062, Reflection dei messaggi per i controlli Windows.

CWnd::OnNotifyFormat

Il framework chiama questa funzione membro per determinare se la finestra corrente accetta strutture ANSI o Unicode nel messaggio di WM_NOTIFY notifica.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Parametri

pWnd
[in] Puntatore a un CWnd oggetto che rappresenta la finestra che invia il WM_NOTIFY messaggio. Questo parametro è il puntatore a un controllo se il nCommand parametro è NF_QUERYo il puntatore alla finestra padre di un controllo se nCommand è NF_REQUERY.

nCommand
[in] Valore del comando specializzato nel WM_NOTIFY messaggio. I valori possibili sono:

  • NF_QUERY - Il messaggio è una query per determinare se le strutture ANSI o Unicode devono essere usate nei WM_NOTIFY messaggi. Questo messaggio viene inviato da un controllo alla relativa finestra padre durante la creazione di un controllo e in risposta alla NF_REQUERY forma di questo messaggio.
  • NF_REQUERY - Il messaggio è una richiesta di un controllo per inviare il NF_QUERY modulo di questo messaggio alla finestra padre. Questa richiesta viene inviata dalla finestra padre e chiede al controllo di rieseguire una query sull'elemento padre sul tipo di struttura da utilizzare nei WM_NOTIFY messaggi. Se il nCommand parametro è NF_REQUERY, il valore restituito è il risultato dell'operazione di ripetizione della query.

Valore restituito

Valore restituito Significato
NFR_ANSI Le strutture ANSI devono essere usate nei WM_NOTIFY messaggi inviati dal controllo .
NFR_UNICODE Le strutture Unicode devono essere usate nei WM_NOTIFY messaggi inviati dal controllo .
0 Si è verificato un errore.

Osservazioni:

Questo metodo riceve la WM_NOTIFYFORMAT notifica, descritta in Windows SDK. WM_NOTIFY i messaggi vengono inviati da un controllo comune alla finestra padre e dalla finestra padre al controllo comune.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnPaint

Il framework chiama questa funzione membro quando Windows o un'applicazione effettua una richiesta di ridipingere una parte della finestra di un'applicazione.

afx_msg void OnPaint();

Osservazioni:

Il WM_PAINT messaggio viene inviato quando viene chiamata la UpdateWindow funzione membro o RedrawWindow .

Una finestra può ricevere messaggi di disegno interni in seguito alla chiamata della RedrawWindow funzione membro con il RDW_INTERNALPAINT flag impostato. In questo caso, la finestra potrebbe non avere un'area di aggiornamento. Un'applicazione deve chiamare la GetUpdateRect funzione membro per determinare se la finestra ha un'area di aggiornamento. Se GetUpdateRect restituisce 0, l'applicazione non deve chiamare le BeginPaint funzioni membro e EndPaint .

È responsabilità di un'applicazione verificare la presenza di un aggiornamento interno o di un aggiornamento necessario esaminando le relative strutture di dati interne per ogni WM_PAINT messaggio perché un WM_PAINT messaggio potrebbe essere stato causato da un'area non valida e da una chiamata alla RedrawWindow funzione membro con il RDW_INTERNALPAINT flag impostato.

Un messaggio interno WM_PAINT viene inviato una sola volta da Windows. Dopo che un messaggio interno WM_PAINT viene inviato a una finestra dalla UpdateWindow funzione membro, non verranno inviati o pubblicati altri WM_PAINT messaggi fino a quando la finestra non viene invalidata o finché la RedrawWindow funzione membro non viene chiamata nuovamente con il RDW_INTERNALPAINT flag impostato.

Per informazioni sul rendering di un'immagine nelle applicazioni document/view, vedere CView::OnDraw.

Per altre informazioni sull'uso WM_Paintdi , vedere gli argomenti seguenti in Windows SDK:

CWnd::OnPaintClipboard

La funzione membro OnPaintClipboard di un proprietario degli Appunti viene chiamata da un visualizzatore appunti se il proprietario degli Appunti ha inserito dati negli Appunti nel formato CF_OWNERDISPLAY e l'area client del visualizzatore Appunti deve essere ridisegnata.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parametri

pClipAppWnd
Specifica un puntatore alla finestra dell'applicazione Appunti. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

hPaintStruct
Identifica una PAINTSTRUCT struttura di dati che definisce la parte dell'area client da disegnare.

Osservazioni:

Per determinare se l'intera area client o solo una parte di essa richiede l'aggiornamento, il proprietario degli Appunti deve confrontare le dimensioni dell'area di disegno specificata nel rcpaint membro della PAINTSTRUCT struttura con le dimensioni specificate nella chiamata di funzione membro più recente OnSizeClipboard .

OnPaintClipboard deve usare la GlobalLock funzione Windows per bloccare la memoria che contiene la struttura dei PAINTSTRUCT dati e sbloccare la memoria con la GlobalUnlock funzione Windows prima di uscire.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnPaletteChanged

Il framework chiama questa funzione membro per tutte le finestre di primo livello dopo che la finestra con stato attivo input ha realizzato la tavolozza logica, modificando così la tavolozza del sistema.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Parametri

pFocusWnd
Specifica un puntatore alla finestra che ha causato la modifica della tavolozza del sistema. Il puntatore può essere temporaneo e non deve essere archiviato.

Osservazioni:

Questa chiamata consente a una finestra senza lo stato attivo di input che usa una tavolozza dei colori per realizzare le tavolozze logiche e aggiornare l'area client.

La OnPaletteChanged funzione membro viene chiamata per tutte le finestre di primo livello e sovrapposte, inclusa quella che ha modificato la tavolozza del sistema e ha causato l'invio del WM_PALETTECHANGED messaggio. Se una finestra figlio usa una tavolozza dei colori, questo messaggio deve essere passato a esso.

Per evitare un ciclo infinito, la finestra non deve rendersi conto della tavolozza, a meno che non determini che pFocusWnd non contenga un puntatore a se stesso.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnPaletteIsChanging

Il framework chiama questa funzione membro per informare le applicazioni che un'applicazione si rende conto della tavolozza logica.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parametri

pRealizeWnd
Specifica la finestra che sta per realizzare la tavolozza logica.

Osservazioni:

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnParentNotify

La funzione membro di OnParentNotify un padre viene chiamata dal framework quando la finestra figlio viene creata o eliminata definitivamente o quando l'utente fa clic su un pulsante del mouse mentre il cursore si trova sulla finestra figlio.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parametri

message
Specifica l'evento per il quale l'elemento padre riceve una notifica e l'identificatore della finestra figlio. L'evento è la parola in ordine basso di message. Se l'evento è WM_CREATE o WM_DESTROY, la parola di ordine elevato di message è l'identificatore della finestra figlio; in caso contrario, la parola di ordine elevato non è definita. L'evento (parola con ordine basso di message) può essere uno dei valori seguenti:

  • WM_CREATE Viene creata la finestra figlio.

  • WM_DESTROY La finestra figlio viene distrutta.

  • WM_LBUTTONDOWN L'utente ha posizionato il cursore del mouse sulla finestra figlio e ha fatto clic sul pulsante sinistro del mouse.

  • WM_MBUTTONDOWN L'utente ha posizionato il cursore del mouse sulla finestra figlio e ha fatto clic sul pulsante centrale del mouse.

  • WM_RBUTTONDOWN L'utente ha posizionato il cursore del mouse sulla finestra figlio e ha fatto clic sul pulsante destro del mouse.

lParam
Se l'evento (parola in ordine basso) di message è WM_CREATE o WM_DESTROY, lParam specifica l'handle di finestra della finestra figlio; in caso contrario lParam , contiene le coordinate x e y del cursore. La coordinata x si trova nella parola in ordine basso e la coordinata y si trova nella parola in ordine elevato.

Osservazioni:

Quando viene creata la finestra figlio, il sistema chiama OnParentNotify poco prima che venga restituita la Create funzione membro che crea la finestra. Quando la finestra figlio viene eliminata definitivamente, il sistema chiama OnParentNotify prima che venga eseguita un'elaborazione per eliminare definitivamente la finestra.

OnParentNotify viene chiamato per tutte le finestre predecessore della finestra figlio, inclusa la finestra di primo livello.

Tutte le finestre figlio tranne quelle con lo stile inviano questo WS_EX_NOPARENTNOTIFY messaggio alle finestre padre. Per impostazione predefinita, le finestre figlio in una finestra di dialogo hanno lo WS_EX_NOPARENTNOTIFY stile a meno che la finestra figlio non sia stata creata senza questo stile chiamando la CreateEx funzione membro.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnPowerBroadcast

Il framework chiama questa funzione membro quando si verifica un evento di risparmio energia.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parametri

nPowerEvent
[in] Evento di risparmio energia.

nEventData
[in] Dati specifici dell'evento.

Valore restituito

Se l'evento è una richiesta, tornare TRUE a concedere la richiesta o BROADCAST_QUERY_DENY negare la richiesta.

Osservazioni:

Questo metodo riceve il WM_POWERBROADCAST messaggio, descritto in Windows SDK.

Il nPowerEvent parametro specifica eventi come l'alimentazione della batteria è insufficiente, lo stato di alimentazione è stato modificato, l'autorizzazione per sospendere l'operazione viene richiesta o negata, un'operazione viene ripresa automaticamente dopo un evento, il sistema sta sospendendo l'operazione o un'operazione riprende dopo la sospensione. Il nEventData parametro in genere non viene usato. Per altre informazioni, vedere i wParam parametri e lParam del WM_POWERBROADCAST messaggio.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnQueryDragIcon

Il framework chiama questa funzione membro da una finestra ridotta a icona (iconica) che non ha un'icona definita per la relativa classe.

afx_msg HCURSOR OnQueryDragIcon();

Valore restituito

Valore doubleword che contiene un punto di manipolazione cursore o icona nella parola con ordine basso. Il cursore o l'icona devono essere compatibili con la risoluzione del driver di visualizzazione. Se l'applicazione restituisce NULL, il sistema visualizza il cursore predefinito. Il valore restituito predefinito è NULL.

Osservazioni:

Il sistema effettua questa chiamata per ottenere il cursore da visualizzare mentre l'utente trascina la finestra ridotta a icona. Se un'applicazione restituisce l'handle di un'icona o di un cursore, il sistema lo converte in bianco e nero. Se un'applicazione restituisce un handle, l'handle deve identificare un cursore monocromatico o un'icona compatibile con la risoluzione del driver di visualizzazione. L'applicazione può chiamare le CWinApp::LoadCursor funzioni membro o CWinApp::LoadIcon per caricare un cursore o un'icona dalle risorse nel file eseguibile e ottenere questo handle.

CWnd::OnQueryEndSession

Il framework chiama questa funzione membro quando l'utente sceglie di terminare la sessione di Windows o quando un'applicazione chiama la ExitWindows funzione Di Windows.

afx_msg BOOL OnQueryEndSession();

Valore restituito

Diverso da zero se un'applicazione può essere arrestata in modo pratico; in caso contrario, 0.

Osservazioni:

Se un'applicazione restituisce 0, la sessione di Windows non viene terminata. Windows smette di chiamare OnQueryEndSession non appena un'applicazione restituisce 0 e invia il WM_ENDSESSION messaggio con un valore di parametro per FALSE qualsiasi applicazione che ha già restituito un valore diverso da zero.

CWnd::OnQueryNewPalette

Il framework chiama questa funzione membro quando l'oggetto CWnd sta per ricevere lo stato attivo dell'input, dando la possibilità di realizzare la CWnd tavolozza logica quando riceve lo stato attivo.

afx_msg BOOL OnQueryNewPalette();

Valore restituito

Diverso da zero se l'oggetto CWnd realizza la tavolozza logica; in caso contrario, 0.

CWnd::OnQueryOpen

Il framework chiama questa funzione membro quando l'oggetto CWnd viene ridotto a icona e l'utente richiede che l'oggetto CWnd venga ripristinato alle dimensioni e alla posizione preminimizzate.

afx_msg BOOL OnQueryOpen();

Valore restituito

Diverso da zero se l'icona può essere aperta o 0 per impedire l'apertura dell'icona.

Osservazioni:

Anche se in OnQueryOpenCWnd non deve eseguire alcuna azione che provocherebbe un'attivazione o una modifica dello stato attivo (ad esempio, la creazione di una finestra di dialogo).

CWnd::OnQueryUIState

Chiamata eseguita per recuperare lo stato dell'interfaccia utente per una finestra.

afx_msg UINT OnQueryUIState();

Valore restituito

Il valore restituito è NULL se gli indicatori di stato attivo e gli acceleratori di tastiera sono visibili. In caso contrario, il valore restituito può essere uno o più dei valori seguenti:

  • UISF_HIDEFOCUS Gli indicatori di stato attivo sono nascosti.

  • UISF_HIDEACCEL I tasti di scelta rapida sono nascosti.

  • UISF_ACTIVE Windows XP: un controllo deve essere disegnato nello stile utilizzato per i controlli attivi.

Osservazioni:

Questa funzione membro emula la funzionalità del WM_QUERYUISTATE messaggio, come descritto in Windows SDK.

CWnd::OnRawInput

Il framework chiama questa funzione membro quando la finestra corrente ottiene l'input non elaborato.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parametri

nInputCode
[in] Codice di input che indica se l'input si è verificato mentre l'applicazione era in primo piano o meno. In entrambi i casi, l'applicazione deve chiamare CWnd::DefWindowProc in modo che il sistema possa eseguire la pulizia. Questo parametro può avere uno dei valori seguenti:

  • RIM_INPUT - L'input si è verificato mentre l'applicazione era in primo piano.
  • RIM_INPUTSINK - L'input si è verificato mentre l'applicazione non era in primo piano.

hRawInput
[in] Handle in una RAWINPUT struttura che contiene l'input non elaborato dal dispositivo.

Osservazioni:

Questo metodo riceve la WM_INPUT notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnRButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic sul pulsante destro del mouse.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se MAIUSC è inattivo.

point
Specifica le coordinate x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Solo le finestre con lo stile CS_DBLCLKS WNDCLASS possono ricevere OnRButtonDblClk chiamate. Questa è l'impostazione predefinita per le finestre all'interno della libreria di classi Microsoft Foundation. Windows chiama OnRButtonDblClk quando l'utente preme, rilascia e quindi preme di nuovo il pulsante destro del mouse entro il limite di tempo di doppio clic del sistema. Facendo doppio clic sul pulsante destro del mouse vengono effettivamente generati quattro eventi: WM_RBUTTONDOWN e WM_RBUTTONUP messaggi, la OnRButtonDblClk chiamata e un altro messaggio WM_RBUTTONUP quando viene rilasciato il pulsante.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnRButtonDown

Il framework chiama questa funzione membro quando l'utente preme il pulsante destro del mouse.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_RBUTTON Impostare se il pulsante destro del mouse è inattivo.

  • MK_SHIFT Impostare se MAIUSC è inattivo.

point
Specifica le coordinate x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnRButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia il pulsante destro del mouse.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parametri

nFlags
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere qualsiasi combinazione dei valori seguenti:

  • MK_CONTROL Impostare se il tasto CTRL è inattivo.

  • MK_LBUTTON Impostare se il pulsante sinistro del mouse è inattivo.

  • MK_MBUTTON Impostare se il pulsante centrale del mouse è inattivo.

  • MK_SHIFT Impostare se MAIUSC è inattivo.

point
Specifica le coordinate x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra.

Osservazioni:

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnRegisteredMouseWheel

Il framework chiama questa funzione membro come utente ruota la rotellina del mouse e incontra la notch successiva della rotellina.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parametri

wParam
Posizione orizzontale del puntatore.

lParam
Posizione verticale del puntatore.

Valore restituito

Insignificante in questo momento. Sempre zero.

Osservazioni:

A meno che non venga sottoposto a override, OnRegisteredMouseWheel instrada il messaggio alla finestra appropriata (la finestra padre con stato attivo) e chiama il WM_MOUSEWHEEL gestore per tale finestra.

Eseguire l'override di questa funzione membro per fornire il routing dei messaggi o per modificare il comportamento di scorrimento della rotellina del mouse.

Nota

OnRegisteredMouseWheel gestisce i messaggi per Windows 95/98 e Windows NT 3.51. Per la gestione dei messaggi di Windows NT 4.0, usare OnMouseWheel.

CWnd::OnRenderAllFormats

La funzione membro del proprietario degli OnRenderAllFormats Appunti viene chiamata dal framework quando l'applicazione proprietario viene eliminata definitivamente.

afx_msg void OnRenderAllFormats();

Osservazioni:

Il proprietario degli Appunti deve eseguire il rendering dei dati in tutti i formati che è in grado di generare e passare un handle di dati per ogni formato negli Appunti chiamando la SetClipboardData funzione Windows. Ciò garantisce che gli Appunti contengano dati validi anche se l'applicazione che ha eseguito il rendering dei dati viene eliminata definitivamente. L'applicazione deve chiamare la OpenClipboard funzione membro prima di chiamare la SetClipboardData funzione Windows e chiamare successivamente la CloseClipboard funzione Windows.

CWnd::OnRenderFormat

La funzione membro del proprietario degli OnRenderFormat Appunti viene chiamata dal framework quando è necessario eseguire il rendering di un particolare formato con rendering ritardato.

afx_msg void OnRenderFormat(UINT nFormat);

Parametri

nFormat
Specifica il formato degli Appunti.

Osservazioni:

Il ricevitore deve eseguire il rendering dei dati in tale formato e passarli agli Appunti chiamando la SetClipboardData funzione Windows.

Non chiamare la OpenClipboard funzione membro o la CloseClipboard funzione Windows dall'interno OnRenderFormatdi .

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSessionChange

Il framework chiama questa funzione membro per notificare a un'applicazione una modifica nello stato della sessione.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parametri

nSessionState
[in] Un codice di stato descrive la modifica dello stato della sessione.

nId
[in] Identificatore di sessione.

Osservazioni:

Questo metodo riceve la WM_WTSSESSION_CHANGE notifica, descritta in Windows SDK.

Il nSessionState parametro specifica che una sessione è connessa o disconnessa dalla console o da un terminale remoto, un utente connesso o disattivato, una sessione è bloccata o sbloccata oppure una sessione è stata modificata in stato controllato da remoto. Per altre informazioni, vedere il wParam parametro del WM_WTSSESSION_CHANGE messaggio.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSetCursor

Il framework chiama questa funzione membro se l'input del mouse non viene acquisito e il mouse causa lo spostamento del cursore all'interno dell'oggetto CWnd .

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Parametri

pWnd
Specifica un puntatore alla finestra che contiene il cursore. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

nHitTest
Specifica il codice dell'area hit test . L'hit test determina la posizione del cursore.

message
Specifica il numero del messaggio del mouse.

Valore restituito

Diverso da zero per interrompere un'ulteriore elaborazione o 0 per continuare.

Osservazioni:

L'implementazione predefinita chiama la finestra padre prima dell'elaborazione OnSetCursor . Se la finestra padre restituisce TRUE, viene interrotta un'ulteriore elaborazione. La chiamata alla finestra padre fornisce al controllo della finestra padre l'impostazione del cursore in una finestra figlio.

L'implementazione predefinita imposta il cursore su una freccia se non si trova nell'area client o sul cursore della classe registrata, se è.

Se nHitTest è HTERROR e message è un messaggio di pulsante verso il basso del mouse, viene chiamata la MessageBeep funzione membro.

Il parametro message è 0 quando CWnd entra in modalità menu.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSetFocus

Il framework chiama questa funzione membro dopo aver ottenuto lo stato attivo per l'input.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Parametri

pOldWnd
Contiene l'oggetto CWnd che perde lo stato attivo dell'input (può essere NULL). Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Per visualizzare un cursore, CWnd è necessario chiamare le funzioni di cursore appropriate a questo punto.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSettingChange

Il framework chiama OnSettingChange tutte le finestre di primo livello quando la funzione SystemParametersInfo Win32 modifica un'impostazione a livello di sistema.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parametri

uFlags
Quando il sistema invia il messaggio in seguito a una SystemParametersInfo chiamata, questo parametro è un flag che indica il parametro di sistema modificato. Per un elenco di valori, vedere SystemParametersInfo in Windows SDK. Quando un'applicazione invia il messaggio, questo parametro deve essere 0.

lpszSection
Punta a una stringa che specifica il nome della sezione modificata. La stringa non include le parentesi quadre che racchiudono il nome della sezione.

Osservazioni:

Un'applicazione deve inviare il messaggio a tutte le finestre di primo livello quando apporta modifiche ai parametri di sistema e Windows invierà il messaggio se l'utente modifica le impostazioni tramite il Pannello di controllo.

Il ON_WM_SETTINGCHANGE messaggio è simile al ON_WM_WININICHANGE messaggio, con la differenza seguente:

  • Usare ON_WM_SETTINGCHANGE quando si esegue Windows NT 4.0 o versione successiva o in Windows 95/98.

  • Usare ON_WININICHANGE quando si esegue Windows NT 3.51 o versione precedente. Questo messaggio è ora obsoleto.

Nella mappa dei messaggi dovrebbe essere presente una sola di queste macro. Per scrivere un programma che funziona sia per Windows 95/98 che per Windows NT 4.0, scrivere un gestore per ON_WM_SETTINGCHANGE. In Windows NT 3.51 il gestore verrà chiamato da OnSettingChange e uFlags e sarà sempre zero.

CWnd::OnShowWindow

Il framework chiama questa funzione membro quando l'oggetto CWnd sta per essere nascosto o visualizzato.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parametri

bShow
Specifica se viene visualizzata una finestra. È TRUE se viene visualizzata la finestra; è FALSE se la finestra è nascosta.

nStatus
Specifica lo stato della finestra visualizzata. È 0 se il messaggio viene inviato a causa di una ShowWindow chiamata di funzione membro; in caso contrario nStatus , è uno dei seguenti:

  • SW_PARENTCLOSING La finestra padre sta chiudendo (resa iconica) o viene nascosta una finestra popup.

  • SW_PARENTOPENING La finestra padre viene aperta (visualizzata) o viene visualizzata una finestra popup.

Osservazioni:

Una finestra viene nascosta o visualizzata quando viene chiamata la ShowWindow funzione membro, quando una finestra sovrapposta viene ingrandita o ripristinata oppure quando una finestra sovrapposta o popup viene chiusa (resa iconica) o aperta (visualizzata sullo schermo). Quando una finestra sovrapposta viene chiusa, tutte le finestre popup associate a tale finestra sono nascoste.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSize

Il framework chiama questa funzione membro dopo la modifica delle dimensioni della finestra.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parametri

nType
Specifica il tipo di ridimensionamento richiesto. Questo parametro può avere uno dei valori seguenti:

  • SIZE_MAXIMIZED Finestra ingrandita.

  • SIZE_MINIMIZED La finestra è stata ridotta a icona.

  • SIZE_RESTORED La finestra è stata ridimensionata, ma non SIZE_MINIMIZED è né SIZE_MAXIMIZED applicabile.

  • SIZE_MAXHIDE Il messaggio viene inviato a tutte le finestre popup quando un'altra finestra è ingrandita.

  • SIZE_MAXSHOW Il messaggio viene inviato a tutte le finestre popup quando alcune altre finestre sono state ripristinate alle dimensioni precedenti.

cx
Specifica la nuova larghezza dell'area client.

cy
Specifica la nuova altezza dell'area client.

Osservazioni:

Se la SetScrollPos funzione membro o MoveWindow viene chiamata per una finestra figlio da OnSize, il bRedraw parametro di SetScrollPos o MoveWindow deve essere diverso da zero per fare in modo che l'oggetto CWnd venga ridipingeto.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

Esempio

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow(0, 0, cx, cy);
   }
}

CWnd::OnSizeClipboard

La funzione membro del proprietario degli OnSizeClipboard Appunti viene chiamata dal visualizzatore Appunti quando gli Appunti contengono dati con l'attributo CF_OWNERDISPLAY e le dimensioni dell'area client della finestra del visualizzatore appunti sono cambiate.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parametri

pClipAppWnd
Identifica la finestra dell'applicazione Appunti. Il puntatore può essere temporaneo e non deve essere archiviato.

hRect
Identifica un oggetto memoria globale. L'oggetto memory contiene una RECT struttura di dati che specifica l'area da disegnare per il proprietario degli Appunti.

Osservazioni:

La OnSizeClipboard funzione membro viene chiamata con un rettangolo Null (0,0,0,0) come nuova dimensione quando l'applicazione Appunti sta per essere distrutta o ridotta a icona. In questo modo il proprietario degli Appunti può liberare le risorse di visualizzazione.

All'interno OnSizeClipboarddi , un'applicazione deve usare la GlobalLock funzione Windows per bloccare la memoria che contiene la struttura dei RECT dati. Chiedere all'applicazione di sbloccare la memoria con la GlobalUnlock funzione Windows prima che restituisca o restituisca il controllo.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSizing

Il framework chiama questa funzione membro per indicare che l'utente sta ridimensionando il rettangolo.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Parametri

nSide
Bordo della finestra da spostare.

lpRect
Indirizzo della CRect struttura o RECT che conterrà le coordinate dell'elemento.

Osservazioni:

Elaborando questo messaggio, un'applicazione può monitorare le dimensioni e la posizione del rettangolo di trascinamento e, se necessario, modificarne le dimensioni o la posizione.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

Esempio

void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
   CMDIChildWnd::OnSizing(fwSide, pRect);

   // Resize the splitter window in the frame. m_wndSplitter is of 
   // type CSplitterWnd
   int nWidth = (pRect->right) - (pRect->left);
   m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
   m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
   m_wndSplitter.RecalcLayout();
}

CWnd::OnSpoolerStatus

Il framework chiama questa funzione membro da Print Manager ogni volta che un processo viene aggiunto o rimosso dalla coda di Gestione stampa.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parametri

nStatus
Specifica il SP_JOBSTATUS flag .

nJobs
Specifica il numero di processi rimanenti nella coda di Gestione stampa.

Osservazioni:

Questa chiamata è solo a scopo informativo.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnStyleChanged

Il framework chiama questa funzione membro dopo che la SetWindowLong funzione ha modificato uno o più stili della finestra.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametri

nStyleType
Specifica se gli stili estesi o non estesi della finestra sono stati modificati. Questo parametro può essere una combinazione dei valori seguenti:

  • GWL_EXSTYLE Gli stili estesi della finestra sono stati modificati.

  • GWL_STYLE Gli stili non automatici della finestra sono stati modificati.

lpStyleStruct
Punta a una STYLESTRUCT struttura che contiene i nuovi stili per la finestra. Un'applicazione può esaminare gli stili, ma non può modificarli.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnStyleChanging

Il framework chiama questa funzione membro quando la SetWindowLong funzione sta per modificare uno o più stili della finestra.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parametri

nStyleType
Specifica se gli stili estesi o non estesi della finestra sono stati modificati. Questo parametro può essere una combinazione dei valori seguenti:

  • GWL_EXSTYLE Gli stili estesi della finestra sono stati modificati.

  • GWL_STYLE Gli stili non automatici della finestra sono stati modificati.

lpStyleStruct
Punta a una STYLESTRUCT struttura che contiene i nuovi stili per la finestra. Un'applicazione può esaminare gli stili e modificarli.

Osservazioni:

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSysChar

Il framework chiama questa funzione membro se CWnd ha lo stato attivo per l'input e i WM_SYSKEYUP messaggi e WM_SYSKEYDOWN vengono convertiti.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il codice della chiave dei caratteri ASCII di un tasto Control-menu.

nRepCnt
Specifica il numero di ripetizioni, ovvero il numero di volte in cui la sequenza di tasti viene ripetuta in seguito all'utente che tiene premuto il tasto.

nFlags
Il nFlags parametro può avere questi valori:

Valore Significato
0-15 Specifica il conteggio delle ripetizioni. Il valore è il numero di volte in cui la sequenza di tasti viene ripetuta in seguito all'utente che tiene premuto il tasto.
16-23 Specifica il codice di analisi. Il valore dipende dal produttore di apparecchiature originali (OEM)
24 Specifica se il tasto è un tasto esteso, ad esempio i tasti ALT e CTRL di destra visualizzati su una tastiera avanzata da 101 o 102 tasti. Il valore è 1 se è una chiave estesa; in caso contrario, è 0.
25-28 Utilizzato internamente da Windows.
29 Specifica il codice di contesto. Il valore è 1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, il valore è 0.
30 Specifica lo stato della chiave precedente. Il valore è 1 se la chiave è inattiva prima dell'invio del messaggio oppure è 0 se la chiave è inattiva.
31 Specifica lo stato di transizione. Il valore è 1 se il tasto viene rilasciato o è 0 se il tasto viene premuto.

Osservazioni:

Specifica il codice della chiave virtuale del tasto Control-menu. (Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h)

Quando il codice di contesto è 0, WM_SYSCHAR può passare il WM_SYSCHAR messaggio alla TranslateAccelerator funzione Windows, che lo gestirà come se fosse un normale messaggio di chiave anziché una chiave di sistema. In questo modo è possibile usare i tasti di scelta rapida con la finestra attiva anche se la finestra attiva non ha lo stato attivo.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit del tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSysColorChange

Il framework chiama questa funzione membro per tutte le finestre di primo livello quando viene apportata una modifica nell'impostazione del colore di sistema.

afx_msg void OnSysColorChange();

Osservazioni:

Windows chiama OnSysColorChange qualsiasi finestra interessata da una modifica del colore del sistema.

Le applicazioni con pennelli che usano i colori di sistema esistenti devono eliminare tali pennelli e ricrearli con i nuovi colori di sistema.

CWnd::OnSysCommand

Il framework chiama questa funzione membro quando l'utente seleziona un comando dal menu Controllo o quando l'utente seleziona il pulsante Ingrandisci o Riduci a icona.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Parametri

nID
Specifica il tipo di comando di sistema richiesto. Questo parametro può essere uno dei valori seguenti:

  • SC_CLOSE Chiudere l'oggetto CWnd .

  • SC_HOTKEY Attivare l'oggetto CWnd associato al tasto di scelta rapida specificato dall'applicazione. La parola di ordine basso di lParam identifica l'oggetto HWND della finestra da attivare.

  • SC_HSCROLL Scorrere orizzontalmente.

  • SC_KEYMENU Recuperare un menu tramite una sequenza di tasti.

  • SC_MAXIMIZE (o SC_ZOOM) Ingrandire l'oggetto CWnd .

  • SC_MINIMIZE (o SC_ICON) Ridurre al minimo l'oggetto CWnd .

  • SC_MOUSEMENU Recuperare un menu tramite un clic del mouse.

  • SC_MOVE Spostare l'oggetto CWnd .

  • SC_NEXTWINDOW Passare alla finestra successiva.

  • SC_PREVWINDOW Passare alla finestra precedente.

  • SC_RESTORE Ripristinare la posizione e le dimensioni normali della finestra.

  • SC_SCREENSAVE Esegue l'applicazione screen saver specificata nella sezione [boot] del SYSTEM.INI file.

  • SC_SIZE Ridimensionare l'oggetto CWnd .

  • SC_TASKLIST Eseguire o attivare l'applicazione Gestione attività di Windows.

  • SC_VSCROLL Scorrere verticalmente.

lParam
Se si seleziona un comando Control-menu con il mouse, lParam contiene le coordinate del cursore. La parola di ordine basso contiene la coordinata x e la parola dell'ordine elevato contiene la coordinata y. In caso contrario, questo parametro non viene usato.

  • SC_HOTKEY Attivare la finestra associata al tasto di scelta rapida specificato dall'applicazione. La parola in ordine basso di lParam identifica la finestra da attivare.

  • SC_SCREENSAVEEseguire l'applicazione di salvataggio dello schermo specificata nella sezione Desktop di Pannello di controllo.

Osservazioni:

Per impostazione predefinita, OnSysCommand esegue la richiesta di menu Di controllo per le azioni predefinite specificate nella tabella precedente.

Nei WM_SYSCOMMAND messaggi, i quattro bit di ordine basso del nID parametro vengono usati internamente da Windows. Quando un'applicazione verifica il valore di nID, deve combinare il valore 0xFFF0 con il nID valore usando l'operatore AND bit per bit per ottenere il risultato corretto.

Le voci di menu in un menu Controllo possono essere modificate con le GetSystemMenufunzioni membro , AppendMenuInsertMenu, e ModifyMenu . Le applicazioni che modificano il menu Controllo devono elaborare WM_SYSCOMMAND i messaggi e tutti i WM_SYSCOMMAND messaggi non gestiti dall'applicazione devono essere passati a OnSysCommand. I valori dei comandi aggiunti da un'applicazione devono essere elaborati dall'applicazione e non possono essere passati a OnSysCommand.

Un'applicazione può eseguire qualsiasi comando di sistema in qualsiasi momento passando un WM_SYSCOMMAND messaggio a OnSysCommand.

Le sequenze di tasti di scelta rapida (tasti di scelta rapida) definite per selezionare gli elementi dal menu Di controllo vengono convertite in OnSysCommand chiamate; tutte le altre sequenze di tasti di scelta rapida vengono convertite in WM_COMMAND messaggi.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSysDeadChar

Il framework chiama questa funzione membro se l'oggetto ha lo stato attivo per l'input CWnd quando viene chiamata la OnSysKeyUp funzione membro o OnSysKeyDown .

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il valore del carattere non recapitabili.

nRepCnt
Specifica il conteggio delle ripetizioni.

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Significato
0-7 Codice di analisi (valore dipendente dall'OEM). Byte basso di parola di ordine elevato.
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso; in caso contrario, 0).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre viene premuto il tasto; in caso contrario, 0).
14 Stato della chiave precedente (1 se la chiave è inattiva prima della chiamata, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Osservazioni:

Specifica il valore di carattere di una chiave non recapitata.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSysKeyDown

Se l'oggetto CWnd ha lo stato attivo per l'input, la OnSysKeyDown funzione membro viene chiamata dal framework quando l'utente tiene premuto il tasto ALT e quindi preme un altro tasto.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il codice del tasto virtuale premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h

nRepCnt
Specifica il conteggio delle ripetizioni.

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Significato
0-7 Codice di analisi (valore dipendente dall'OEM). Byte basso di parola di ordine elevato.
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso; in caso contrario, 0).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre il tasto viene premuto, 0 in caso contrario).
14 Stato della chiave precedente (1 se la chiave è inattiva prima dell'invio del messaggio, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Per OnSysKeyDown le chiamate, il bit di transizione della chiave (bit 15) è 0. Il bit del codice di contesto (bit 13) è 1 se il tasto ALT è inattivo mentre viene premuto il tasto; è 0 se il messaggio viene inviato alla finestra attiva perché nessuna finestra ha lo stato attivo per l'input.

Osservazioni:

Se nessuna finestra ha attualmente lo stato attivo per l'input, viene chiamata la funzione membro della OnSysKeyDown finestra attiva. L'oggetto CWnd che riceve il messaggio può distinguere tra questi due contesti controllando il codice di contesto in nFlags.

Quando il codice di contesto è 0, il WM_SYSKEYDOWN messaggio ricevuto da OnSysKeyDown può essere passato alla TranslateAccelerator funzione Windows, che lo gestirà come se fosse un normale messaggio di chiave anziché un messaggio di chiave di sistema. In questo modo è possibile usare i tasti di scelta rapida con la finestra attiva anche se la finestra attiva non ha lo stato attivo.

A causa della ripetizione automatica, possono verificarsi più chiamate OnSysKeyDown prima della ricezione del WM_SYSKEYUP messaggio. Lo stato della chiave precedente (bit 14) può essere usato per determinare se la chiamata indica la prima transizione inattiva o una transizione ripetuta verso il OnSysKeyDown basso.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; INS, DEL, HOME, END, PAGE UP, PAGE DOWN e tasti di direzione nei cluster a sinistra del tastierino numerico, e la barra (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit del tasto esteso in nFlags.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnSysKeyUp

Se l'oggetto CWnd ha lo stato attivo, la OnSysKeyUp funzione membro viene chiamata dal framework quando l'utente rilascia un tasto premuto mentre il tasto ALT è stato premuto.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
Specifica il codice del tasto virtuale premuto. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h

nRepCnt
Specifica il conteggio delle ripetizioni.

nFlags
Specifica il codice di analisi, il codice di transizione della chiave, lo stato della chiave precedente e il codice di contesto, come illustrato nell'elenco seguente:

Valore Significato
0-7 Codice di analisi (valore dipendente dall'OEM). Byte basso di parola di ordine elevato.
8 Tasto esteso, ad esempio un tasto funzione o un tasto sul tastierino numerico (1 se è un tasto esteso; in caso contrario, 0).
9-10 Non utilizzato.
11-12 Utilizzato internamente da Windows.
13 Codice di contesto (1 se il tasto ALT viene premuto mentre il tasto viene premuto, 0 in caso contrario).
14 Stato della chiave precedente (1 se la chiave è inattiva prima dell'invio del messaggio, 0 se la chiave è inattiva).
15 Stato di transizione (1 se il tasto viene rilasciato, 0 se viene premuto il tasto).

Per OnSysKeyUp le chiamate, il bit di transizione della chiave (bit 15) è 1. Il bit del codice di contesto (bit 13) è 1 se il tasto ALT è inattivo mentre viene premuto il tasto; è 0 se il messaggio viene inviato alla finestra attiva perché nessuna finestra ha lo stato attivo per l'input.

Osservazioni:

Se nessuna finestra ha attualmente lo stato attivo per l'input, viene chiamata la funzione membro della OnSysKeyUp finestra attiva. L'oggetto CWnd che riceve la chiamata può distinguere tra questi due contesti controllando il codice di contesto in nFlags.

Quando il codice di contesto è 0, il WM_SYSKEYUP messaggio ricevuto da OnSysKeyUp può essere passato alla TranslateAccelerator funzione Windows, che lo gestirà come se fosse un normale messaggio di chiave anziché un messaggio di chiave di sistema. In questo modo è possibile usare i tasti di scelta rapida (tasti di scelta rapida) con la finestra attiva anche se la finestra attiva non ha lo stato attivo.

Per le tastiere IBM Enhanced 101 e 102 tasti, i tasti avanzati sono i tasti ALT destro e i tasti CTRL destro nella sezione principale della tastiera; i tasti INS, DEL, HOME, END, PAGE UP, PAGE DOWN e freccia nei cluster a sinistra del tastierino numerico; e le barre (/) e i tasti INVIO nel tastierino numerico. Alcune altre tastiere possono supportare il bit di tasto esteso in nFlags.

Per gli Stati Uniti Tastiere avanzate con 102 tasti, il tasto ALT destro viene gestito come combinazione di tasti CTRL+ALT. Di seguito viene illustrata la sequenza di messaggi e le chiamate che risultano quando l'utente preme e rilascia questo tasto:

Sequence Accesso alla funzione Messaggio passato
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnTCard

Il framework chiama questa funzione membro quando l'utente fa clic su un pulsante modificabile.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parametri

idAction
Indica l'azione eseguita dall'utente. Questo parametro può essere uno dei valori seguenti:

  • IDABORT L'utente ha fatto clic su un pulsante di interruzione modificabile.

  • IDCANCEL L'utente ha fatto clic su un pulsante Annulla modificabile.

  • IDCLOSE L'utente ha chiuso la scheda di training.

  • IDHELP L'utente ha fatto clic su un pulsante della Guida di Windows modificabile.

  • IDIGNORE L'utente ha fatto clic su un pulsante Ignora modificabile.

  • IDOK L'utente ha fatto clic su un pulsante OK modificabile.

  • IDNO L'utente ha fatto clic su un pulsante No modificabile.

  • IDRETRY L'utente ha fatto clic su un pulsante Riprova modificabile.

  • HELP_TCARD_DATA L'utente ha fatto clic su un pulsante modificabile. Il dwActionData parametro contiene un numero intero lungo specificato dall'autore della Guida.

  • HELP_TCARD_NEXT L'utente ha fatto clic su un pulsante Avanti modificabile.

  • HELP_TCARD_OTHER_CALLER Un'altra applicazione ha richiesto schede di training.

  • IDYES L'utente ha fatto clic su un pulsante Sì modificabile.

dwActionData
Se idAction specifica HELP_TCARD_DATA, questo parametro è un numero intero lungo specificato dall'autore della Guida. In caso contrario, questo parametro è zero.

Osservazioni:

Questa funzione viene chiamata solo quando un'applicazione ha avviato una scheda di training con la Guida di Windows. Un'applicazione avvia una scheda di training specificando il HELP_TCARD comando in una chiamata alla WinHelp funzione.

CWnd::OnTimeChange

Il framework chiama questa funzione membro dopo la modifica dell'ora di sistema.

afx_msg void OnTimeChange();

Osservazioni:

Chiedere a qualsiasi applicazione che cambia l'ora di sistema di inviare questo messaggio a tutte le finestre di primo livello. Per inviare il WM_TIMECHANGE messaggio a tutte le finestre di primo livello, un'applicazione può usare la SendMessage funzione Windows con il relativo hwnd parametro impostato su HWND_BROADCAST.

CWnd::OnTimer

Il framework chiama questa funzione membro dopo ogni intervallo specificato nella SetTimer funzione membro usata per installare un timer.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Parametri

nIDEvent
Specifica l'identificatore del timer.

Osservazioni:

La DispatchMessage funzione Windows invia un WM_TIMER messaggio quando non si trovano altri messaggi nella coda dei messaggi dell'applicazione.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

Esempio

Vedere l'esempio in CWnd::SetTimer.

CWnd::OnToolHitTest

Il framework chiama questa funzione membro per determinare se un punto si trova nel rettangolo di delimitazione dello strumento specificato.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parametri

point
Specifica la coordinata x e y del cursore. Queste coordinate sono sempre relative all'angolo superiore sinistro della finestra

pTI
Puntatore a una TOOLINFO struttura. I valori di struttura seguenti sono impostati per impostazione predefinita:

  • hwnd = m_hWnd Handle in una finestra

  • uId = (UINT)hWndChild Handle in una finestra figlio

  • uFlags |= TTF_IDISHWND Handle dello strumento

  • lpszText = LPSTR_TEXTCALLBACK Puntatore alla stringa da visualizzare nella finestra specificata

Valore restituito

Se il controllo descrizione comando è stato trovato, l'ID del controllo finestra. Se il controllo descrizione comando non è stato trovato, -1.

Osservazioni:

Se il punto si trova nel rettangolo, recupera informazioni sullo strumento.

Se l'area a cui è associata la descrizione comando non è un pulsante, OnToolHitTest imposta i flag della struttura su TTF_NOTBUTTON e TTF_CENTERTIP.

Eseguire l'override per fornire informazioni diverse rispetto alle impostazioni predefinite OnToolHitTest .

Per altre informazioni sulla struttura, vedere TOOLINFO, in Windows SDK.

CWnd::OnTouchInput

Consente di elaborare singoli input tramite tocco di Windows.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parametri

pt
Punto in cui è stato toccato lo schermo (nelle coordinate del client).

nInputNumber
Numero di input tocco.

nInputsCount
Numero totale di input tocco.

pInput
Puntatore alla struttura TOUCHINPUT .

Valore restituito

TRUE se l'applicazione elabora l'input tocco di Windows; in caso contrario FALSE, .

Osservazioni:

CWnd::OnTouchInputs

Elabora gli input dal tocco di Windows.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parametri

nInputsCount
Numero totale di input tocco di Windows.

pInputs
Matrice di TOUCHINPUT.

Valore restituito

TRUE se l'applicazione elabora gli input tocco di Windows; in caso contrario FALSE, .

Osservazioni:

CWnd::OnUniChar

Il framework chiama questa funzione membro quando viene premuto un tasto. Ovvero, la finestra corrente ha lo stato attivo della tastiera e un WM_KEYDOWN messaggio viene convertito dalla TranslateMessage funzione.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parametri

nChar
[in] Specifica il codice carattere del tasto premuto.

nRepCnt
[in] Specifica il numero di ripetizioni per il messaggio corrente. Il valore è il numero di volte in cui la sequenza di tasti viene eseguita automaticamente in seguito all'utente che tiene premuto il tasto. Se la sequenza di tasti è sufficientemente lunga, vengono inviati più messaggi. Tuttavia, il conteggio delle ripetizioni non è cumulativo.

nFlags
[in] Flag che specificano il codice di analisi, la chiave estesa, il codice di contesto, lo stato della chiave precedente e lo stato di transizione, come illustrato nella tabella seguente:

Bit di flag Descrizione
0-7 Specifica il codice di analisi. Il valore dipende dal produttore di apparecchiature originali (OEM).
8 Specifica un tasto esteso, ad esempio i tasti ALT e CTRL di destra visualizzati su una tastiera avanzata da 101 o 102 tasti. Il flag è 1 se la chiave è una chiave estesa; in caso contrario, è 0.
9-12 Utilizzato internamente da Windows.
13 Specifica il codice di contesto. Il flag è 1 se il tasto ALT viene premuto mentre il tasto viene premuto; in caso contrario, il valore è 0.
14 Specifica lo stato della chiave precedente. Il flag è 1 se la chiave è inattiva prima dell'invio del messaggio oppure 0 se la chiave è inattiva.
15 Specifica lo stato di transizione. Il flag è 1 se il tasto viene rilasciato o 0 se viene premuto il tasto.

Osservazioni:

Questo metodo riceve la WM_UNICHAR notifica, descritta in Windows SDK. Il WM_UNICHAR messaggio è progettato per inviare o pubblicare caratteri Unicode alle finestre ANSI. Equivale al WM_CHAR messaggio, ma usa la codifica Unicode Transformation Format-32 (UTF-32), mentre il WM_CHAR messaggio usa UTF-16.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnUnInitMenuPopup

Il framework chiama questa funzione membro quando un menu a discesa o un sottomenu è stato eliminato definitivamente.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parametri

pMenu
[in] Puntatore all'oggetto CMenu che rappresenta il menu o il sottomenu.

nFlags
[in] Il menu che è stato distrutto. Attualmente, può essere solo il menu della finestra, MF_SYSMENU.

Osservazioni:

Questo metodo riceve la WM_UNINITMENUPOPUP notifica, descritta in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnUpdateUIState

Chiamata eseguita per cambiare lo stato dell'interfaccia utente per la finestra specificata e tutte le finestre figlio.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Parametri

nAction
Specifica l'azione da eseguire. I possibili valori sono i seguenti:

  • UIS_CLEAR L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere nascosto.

  • UIS_INITIALIZE L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere modificato in base all'ultimo evento di input. Per altre informazioni, vedere la sezione Osservazioni di WM_UPDATEISTATE.

  • UIS_SET L'elemento dello stato dell'interfaccia utente (specificato da nUIElement) deve essere visibile.

nUIElement
Specifica gli elementi dello stato dell'interfaccia utente interessati o lo stile del controllo. I possibili valori sono i seguenti:

  • UISF_HIDEACCEL Tasti di scelta rapida.

  • UISF_HIDEFOCUS Indicatori di stato attivo.

  • UISF_ACTIVE Windows XP: un controllo deve essere disegnato nello stile utilizzato per i controlli attivi.

Osservazioni:

Questa funzione membro emula la funzionalità del WM_UPDATEUISTATE messaggio, come descritto in Windows SDK.

CWnd::OnUserChanged

Il framework chiama questo membro per tutte le finestre dopo l'accesso o la disattivazione dell'utente.

afx_msg void OnUserChanged();

Osservazioni:

Questo metodo riceve il WM_USERCHANGED messaggio di notifica, descritto in Windows SDK. Quando l'utente accede o disattiva, il sistema operativo aggiorna le impostazioni specifiche dell'utente. Il sistema invia questo messaggio immediatamente dopo l'aggiornamento delle impostazioni.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnVKeyToItem

Se l'oggetto CWnd è proprietario di una casella di riepilogo con lo LBS_WANTKEYBOARDINPUT stile, la casella di riepilogo invierà il WM_VKEYTOITEM messaggio in risposta a un WM_KEYDOWN messaggio.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Parametri

nKey
Specifica il codice della chiave virtuale del tasto premuto dall'utente. Per un elenco dei codici di chiave virtuale standard, vedere Winuser.h

pListBox
Specifica un puntatore alla casella di riepilogo. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

nIndex
Specifica la posizione corrente del cursore.

Valore restituito

Specifica l'azione eseguita dall'applicazione in risposta al messaggio. Un valore restituito -2 indica che l'applicazione ha gestito tutti gli aspetti della selezione dell'elemento e non richiede ulteriori azioni dalla casella di riepilogo. Il valore restituito -1 indica che la casella di riepilogo deve eseguire l'azione predefinita in risposta alla sequenza di tasti. Un valore restituito pari a 0 o superiore specifica l'indice in base zero di un elemento nella casella di riepilogo e indica che la casella di riepilogo deve eseguire l'azione predefinita per la sequenza di tasti sull'elemento specificato.

Osservazioni:

Questa funzione membro viene chiamata dal framework solo per le caselle di riepilogo con lo LBS_HASSTRINGS stile .

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnVScroll

Il framework chiama questa funzione membro quando l'utente fa clic sulla barra di scorrimento verticale della finestra.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parametri

nSBCode
Specifica un codice a barre di scorrimento che indica la richiesta di scorrimento dell'utente. Questo parametro può essere uno dei seguenti:

  • SB_BOTTOM Scorrere verso il basso.

  • SB_ENDSCROLL Scorrere alla fine.

  • SB_LINEDOWN Scorrere una riga verso il basso.

  • SB_LINEUP Scorrere una riga verso l'alto.

  • SB_PAGEDOWN Scorrere una pagina verso il basso.

  • SB_PAGEUP Scorrere verso l'alto una pagina verso l'alto.

  • SB_THUMBPOSITION Scorrere fino alla posizione assoluta. La posizione corrente viene specificata in nPos.

  • SB_THUMBTRACK Trascinare la casella di scorrimento nella posizione specificata. La posizione corrente viene specificata in nPos.

  • SB_TOP Scorrere verso l'alto.

nPos
Contiene la posizione corrente della casella di scorrimento se il codice della barra di scorrimento è SB_THUMBPOSITION o ; SB_THUMBTRACKin caso contrario, non viene utilizzato. A seconda dell'intervallo di scorrimento iniziale, nPos può essere negativo e deve essere eseguito il cast a un oggetto int , se necessario.

pScrollBar
Se il messaggio di scorrimento proviene da un controllo barra di scorrimento, contiene un puntatore al controllo . Se l'utente ha fatto clic sulla barra di scorrimento di una finestra, questo parametro è NULL. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

OnVScroll in genere viene usato dalle applicazioni che forniscono un feedback mentre la casella di scorrimento viene trascinata.

Se OnVScroll scorre il contenuto dell'oggetto CWnd , deve anche reimpostare la posizione della casella di scorrimento con la SetScrollPos funzione membro.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnVScrollClipboard

La funzione membro del proprietario degli OnVScrollClipboard Appunti viene chiamata dal visualizzatore Appunti quando i dati degli Appunti hanno il CF_OWNERDISPLAY formato e si verifica un evento nella barra di scorrimento verticale del visualizzatore Appunti.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parametri

pClipAppWnd
Specifica un puntatore a una finestra del visualizzatore appunti. Il puntatore può essere temporaneo e non deve essere archiviato per un uso successivo.

nSBCode
Specifica uno dei valori seguenti della barra di scorrimento:

  • SB_BOTTOM Scorrere verso il basso.

  • SB_ENDSCROLL Scorrere alla fine.

  • SB_LINEDOWN Scorrere una riga verso il basso.

  • SB_LINEUP Scorrere una riga verso l'alto.

  • SB_PAGEDOWN Scorrere una pagina verso il basso.

  • SB_PAGEUP Scorrere verso l'alto una pagina verso l'alto.

  • SB_THUMBPOSITION Scorrere fino alla posizione assoluta. La posizione corrente viene specificata in nPos.

  • SB_TOP Scorrere verso l'alto.

nPos
Contiene la posizione della casella di scorrimento se il codice della barra di scorrimento è SB_THUMBPOSITION; in caso contrario nPos , non viene usato.

Osservazioni:

Il proprietario deve scorrere l'immagine degli Appunti, invalidare la sezione appropriata e aggiornare i valori della barra di scorrimento.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnWindowMaximizedChanged

Il framework chiama questo membro quando la finestra corrente è ingrandita e la finestra è composta da Desktop Window Manager (DWM).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parametri

bIsMaximized
[in] TRUE se la finestra corrente è ingrandita e FALSE in caso contrario.

Osservazioni:

Questo metodo riceve il WM_DWMWINDOWMAXIMIZEDCHANGE messaggio di notifica, descritto in Windows SDK.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnWindowPosChanged

Il framework chiama questa funzione membro quando le dimensioni, la posizione o l'ordine Z sono state modificate in seguito a una chiamata alla funzione membro o a SetWindowPos un'altra funzione di gestione delle finestre.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Parametri

lpwndpos
Punta a una WINDOWPOS struttura di dati che contiene informazioni sulle nuove dimensioni e sulla posizione della finestra.

Osservazioni:

L'implementazione predefinita invia i WM_SIZE messaggi e WM_MOVE alla finestra. Questi messaggi non vengono inviati se un'applicazione gestisce la chiamata senza chiamare la OnWindowPosChanged relativa classe di base. È più efficiente eseguire qualsiasi elaborazione delle modifiche di spostamento o dimensione durante la chiamata a OnWindowPosChanged senza chiamare la relativa classe di base.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnWindowPosChanging

Il framework chiama questa funzione membro quando la dimensione, la posizione o l'ordine Z sta per cambiare in seguito a una chiamata alla SetWindowPos funzione membro o a un'altra funzione di gestione delle finestre.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Parametri

lpwndpos
Punta a una WINDOWPOS struttura di dati che contiene informazioni sulle nuove dimensioni e sulla posizione della finestra.

Osservazioni:

Un'applicazione può impedire modifiche alla finestra impostando o cancellando i bit appropriati nel flags membro della WINDOWPOS struttura.

Per una finestra con lo WS_OVERLAPPED stile o WS_THICKFRAME , l'implementazione predefinita invia un WM_GETMINMAXINFO messaggio alla finestra. Questa operazione viene eseguita per convalidare le nuove dimensioni e la posizione della finestra e per applicare gli CS_BYTEALIGNCLIENT stili client e CS_BYTEALIGN . Un'applicazione può eseguire l'override di questa funzionalità non chiamando la relativa classe di base.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnWinIniChange

Il framework chiama questa funzione membro dopo che è stata apportata una modifica al file di inizializzazione di Windows, WIN.INI.

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parametri

lpszSection
Punta a una stringa che specifica il nome della sezione modificata. La stringa non include le parentesi quadre che racchiudono il nome della sezione.

Osservazioni:

La SystemParametersInfo funzione di Windows chiama OnWinIniChange dopo che un'applicazione usa la funzione per modificare un'impostazione nel WIN.INI file.

Per inviare il WM_WININICHANGE messaggio a tutte le finestre di primo livello, un'applicazione può usare la SendMessage funzione Windows con il relativo hwnd parametro impostato su HWND_BROADCAST.

Se un'applicazione modifica molte sezioni diverse nello WIN.INI stesso momento, l'applicazione deve inviare un WM_WININICHANGE messaggio con lpszSection impostato su NULL. In caso contrario, un'applicazione deve inviare WM_WININICHANGE ogni volta che apporta una modifica a WIN.INI.

Se un'applicazione riceve una OnWinIniChange chiamata con lpszSection impostato su NULL, l'applicazione deve controllare tutte le sezioni in WIN. INI che influiscono sull'applicazione.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnWndMsg

Questa funzione membro viene chiamata da WindowProco viene chiamata durante la reflection del messaggio.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametri

message
Specifica il messaggio da inviare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

pResult
Valore restituito di WindowProc. Dipende dal messaggio; può essere NULL.

Valore restituito

TRUE se il messaggio è stato gestito; altrimenti FAL edizione Standard.

Osservazioni:

OnWndMsg determina il tipo di messaggio e chiama la funzione framework appropriata (ad esempio, OnCommand per WM_COMMAND) o trova il messaggio appropriato nella mappa dei messaggi.

Per altre informazioni sulla reflection dei messaggi, vedere Gestione dei messaggi riflessi.

CWnd::OnXButtonDblClk

Il framework chiama questa funzione membro quando l'utente fa doppio clic XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametri

nFlags
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto.

nButton
[in] Valore se XBUTTON1 si fa doppio clic sul pulsante X di Microsoft Intellimouse o XBUTTON2 se si fa doppio clic sul secondo pulsante X.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve la WM_XBUTTONDBLCLK notifica, descritta in Windows SDK. Se il mouse non viene acquisito, il messaggio viene inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.

Il nFlags parametro può essere una combinazione di tasti di modifica elencati nella tabella seguente. Per altre informazioni, vedere Informazioni sull'input del mouse.

Tasto modificatore Descrizione
MK_CONTROL Il tasto CTRL viene premuto.
MK_LBUTTON Viene premuto il pulsante sinistro del mouse.
MK_MBUTTON Viene premuto il pulsante centrale del mouse.
MK_RBUTTON Viene premuto il pulsante destro del mouse.
MK_SHIFT Il tasto MAIUSC viene premuto.
MK_XBUTTON1 Viene premuto il XBUTTON1 pulsante del mouse di Microsoft IntelliMouse.
MK_XBUTTON2 Viene premuto il XBUTTON2 pulsante del mouse di Microsoft IntelliMouse.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnXButtonDown

Il framework chiama questa funzione membro quando l'utente preme XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametri

nFlags
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto.

nButton
[in] Valore se XBUTTON1 è stato fatto clic sul primo pulsante Microsoft Intellimouse X o XBUTTON2 se è stato fatto clic sul secondo pulsante X.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve la WM_XBUTTONDOWN notifica, descritta in Windows SDK. Se il mouse non viene acquisito, il messaggio viene inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.

Il nFlags parametro può essere una combinazione di tasti di modifica elencati nella tabella seguente. Per altre informazioni, vedere Informazioni sull'input del mouse.

Tasto modificatore Descrizione
MK_CONTROL Il tasto CTRL viene premuto.
MK_LBUTTON Viene premuto il pulsante sinistro del mouse.
MK_MBUTTON Viene premuto il pulsante centrale del mouse.
MK_RBUTTON Viene premuto il pulsante destro del mouse.
MK_SHIFT Il tasto MAIUSC viene premuto.
MK_XBUTTON1 Viene premuto il XBUTTON1 pulsante del mouse di Microsoft IntelliMouse.
MK_XBUTTON2 Viene premuto il XBUTTON2 pulsante del mouse di Microsoft IntelliMouse.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OnXButtonUp

Il framework chiama questa funzione membro quando l'utente rilascia XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parametri

nFlags
[in] Combinazione bit per bit (OR) di flag che indicano quali tasti di modifica vengono premuti. Ad esempio, il MK_CONTROL flag indica che il tasto CTRL viene premuto.

nButton
[in] Valore se XBUTTON1 è stato fatto doppio clic sul pulsante X di Microsoft Intellimouse o XBUTTON2 se è stato fatto doppio clic sul secondo pulsante X.

point
[in] Oggetto CPoint che specifica le x coordinate e y del cursore rispetto all'angolo superiore sinistro dell'area client.

Osservazioni:

Questo metodo riceve la WM_XBUTTONUP notifica, descritta in Windows SDK. Se il mouse non viene acquisito, il messaggio viene inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.

Il nFlags parametro può essere una combinazione di tasti di modifica elencati nella tabella seguente. Per altre informazioni, vedere Informazioni sull'input del mouse.

Tasto modificatore Descrizione
MK_CONTROL Il tasto CTRL viene premuto.
MK_LBUTTON Viene premuto il pulsante sinistro del mouse.
MK_MBUTTON Viene premuto il pulsante centrale del mouse.
MK_RBUTTON Viene premuto il pulsante destro del mouse.
MK_SHIFT Il tasto MAIUSC viene premuto.
MK_XBUTTON1 Viene premuto il XBUTTON1 pulsante del mouse di Microsoft IntelliMouse.
MK_XBUTTON2 Viene premuto il XBUTTON2 pulsante del mouse di Microsoft IntelliMouse.

Nota

Questa funzione membro viene chiamata dal framework per consentire all'applicazione di gestire un messaggio di Windows. I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando è stato ricevuto il messaggio. Se si chiama l'implementazione della classe di base di questa funzione, questa userà i parametri passati in origine con il messaggio e non i parametri che si forniscono alla funzione.

CWnd::OpenClipboard

Apre gli Appunti.

BOOL OpenClipboard();

Valore restituito

Diverso da zero se gli Appunti vengono aperti tramite CWndo 0 se un'altra applicazione o finestra ha aperto gli Appunti.

Osservazioni:

Altre applicazioni non saranno in grado di modificare gli Appunti finché non viene chiamata la CloseClipboard funzione Windows.

L'oggetto corrente CWnd non diventerà il proprietario degli Appunti fino a quando non viene chiamata la EmptyClipboard funzione Windows.

Esempio

//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
   if (!OpenClipboard())
   {
      AfxMessageBox(_T("Cannot open the Clipboard"));
      return;
   }
   // Remove the current Clipboard contents
   if (!EmptyClipboard())
   {
      AfxMessageBox(_T("Cannot empty the Clipboard"));
      return;
   }

   // Get the currently selected data, hData handle to
   // global memory of data
   CString str;
   m_Edit.GetWindowText(str);
   size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
   HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
   memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
   GlobalUnlock(hData);
   str.UnlockBuffer();

   // For the appropriate data formats...
   UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
   if (::SetClipboardData(uiFormat, hData) == NULL)
   {
      AfxMessageBox(_T("Unable to set Clipboard data"));
      CloseClipboard();
      return;
   }

   CloseClipboard();
}

CWnd::operator HWND

Utilizzare questo operatore per ottenere l'handle per l'oggetto CWnd .

operator HWND() const;

CWnd::operator !=

Confronta due CWnd oggetti per determinare se non hanno lo stesso m_hWndoggetto .

BOOL operator!=(const CWnd& wnd) const;

Parametri

wnd
Riferimento a un oggetto CWnd.

Valore restituito

Diverso da zero se uguale; in caso contrario, 0.

CWnd::operator ==

Confronta due CWnd oggetti per determinare se hanno lo stesso m_hWndoggetto .

BOOL operator==(const CWnd& wnd) const;

Parametri

wnd
Riferimento a un oggetto CWnd.

Valore restituito

Diverso da zero se uguale; in caso contrario, 0.

CWnd::PaintWindowlessControls

Disegna controlli senza finestra nel contenitore del controllo.

BOOL PaintWindowlessControls(CDC* pDC);

Parametri

pDC
Contesto del dispositivo in cui disegnare i controlli senza finestra.

Valore restituito

Restituisce TRUE se è presente un contenitore di controlli e i controlli senza finestra vengono disegnati correttamente; in caso contrario FALSE, .

CWnd::PostMessage

Inserisce un messaggio nella coda dei messaggi della finestra e quindi restituisce senza attendere che la finestra corrispondente elabori il messaggio.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametri

message
Specifica il messaggio da pubblicare.

wParam
Specifica informazioni aggiuntive sul messaggio. Il contenuto di questo parametro dipende dal messaggio inviato.

lParam
Specifica informazioni aggiuntive sul messaggio. Il contenuto di questo parametro dipende dal messaggio inviato.

Valore restituito

Diverso da zero se il messaggio viene pubblicato; in caso contrario, 0.

Osservazioni:

I messaggi in una coda di messaggi vengono recuperati dalle chiamate alla GetMessage funzione o PeekMessage Windows.

La funzione Windows PostMessage può essere usata per accedere a un'altra applicazione.

Esempio

Vedere l'esempio per AfxGetMainWnd.

CWnd::PostNcDestroy

Chiamato dalla funzione membro predefinita OnNcDestroy dopo che la finestra è stata eliminata definitivamente.

virtual void PostNcDestroy();

Osservazioni:

Le classi derivate possono usare questa funzione per la pulizia personalizzata, ad esempio l'eliminazione del this puntatore.

CWnd::PreCreateWindow

Chiamato dal framework prima della creazione della finestra di Windows collegata a questo CWnd oggetto.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parametri

cs
Struttura CREATESTRUCT.

Valore restituito

Diverso da zero se la creazione della finestra deve continuare; 0 per indicare un errore di creazione.

Osservazioni:

Avviso

CWnd::PreCreateWindow assegna ora il membro hMenu di cs al this puntatore se il menu è NULL e lo stile contiene WS_CHILD. Per una funzionalità appropriata, assicurarsi che il controllo della finestra di dialogo abbia un ID che non NULLè .

Questa modifica corregge un arresto anomalo in scenari di interoperabilità gestiti/nativi. Un'istruzione TRACE in CWnd::Create avvisa lo sviluppatore del problema.

Non chiamare mai direttamente questa funzione.

L'implementazione predefinita di questa funzione verifica la presenza di un NULL nome di classe finestra e sostituisce un valore predefinito appropriato. Eseguire l'override di questa funzione membro per modificare la struttura prima della CREATESTRUCT creazione della finestra.

Ogni classe derivata da CWnd aggiunge la propria funzionalità all'override di PreCreateWindow. Per impostazione predefinita, queste derivazioni di PreCreateWindow non sono documentate. Per determinare gli stili appropriati per ogni classe e le interdipendenze tra gli stili, è possibile esaminare il codice sorgente MFC per la classe di base dell'applicazione. Se si sceglie di eseguire l'override PreCreateWindow, , è possibile determinare se gli stili usati nella classe di base dell'applicazione forniscono le funzionalità necessarie usando le informazioni raccolte dal codice sorgente MFC.

Per altre informazioni sulla modifica degli stili delle finestre, vedere Modifica degli stili di una finestra creata da MFC.

Esempio

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

CWnd::PreSubclassWindow

Questa funzione membro viene chiamata dal framework per consentire l'esecuzione di altre sottoclassi necessarie prima che la finestra venga sottoclassata.

virtual void PreSubclassWindow();

Osservazioni:

L'override di questa funzione membro consente la sottoclasse dinamica dei controlli. Si tratta di un override avanzato.

CWnd::PreTranslateMessage

Usato dalla classe CWinApp per convertire i messaggi della TranslateMessage finestra prima che vengano inviati alle funzioni di e DispatchMessage Windows.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametri

pMsg
Punta a una MSG struttura che contiene il messaggio da elaborare.

Valore restituito

Diverso da zero se il messaggio è stato tradotto e non deve essere inviato; 0 se il messaggio non è stato tradotto e deve essere inviato.

CWnd::Print

Chiamare questa funzione membro per disegnare la finestra corrente nel contesto di dispositivo specificato, che è più comunemente in un contesto di dispositivo della stampante.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Parametri

pDC
Puntatore a un contesto di dispositivo.

dwFlags
Specifica le opzioni di disegno. Questo parametro può essere uno o più di questi flag:

  • PRF_CHECKVISIBLE Disegnare la finestra solo se è visibile.

  • PRF_CHILDREN Disegnare tutte le finestre figlio visibili.

  • PRF_CLIENT Disegnare l'area client della finestra.

  • PRF_ERASEBKGND Cancellare lo sfondo prima di disegnare la finestra.

  • PRF_NONCLIENT Disegnare l'area non client della finestra.

  • PRF_OWNED Disegnare tutte le finestre di proprietà.

Osservazioni:

CWnd::DefWindowProc funzione elabora questo messaggio in base all'opzione di disegno specificata:

  • Se PRF_CHECKVISIBLE viene specificato e la finestra non è visibile, non eseguire alcuna operazione.

  • Se PRF_NONCLIENT viene specificato, disegnare l'area non client nel contesto di dispositivo specificato.

  • Se PRF_ERASEBKGND viene specificato, inviare alla finestra un WM_ERASEBKGND messaggio.

  • Se PRF_CLIENT viene specificato, inviare alla finestra un WM_PRINTCLIENT messaggio.

  • Se PRF_CHILDREN è impostato, inviare a ogni finestra figlio visibile un WM_PRINT messaggio.

  • Se PRF_OWNED è impostato, inviare a ogni finestra di proprietà visibile un WM_PRINT messaggio.

CWnd::PrintClient

Chiamare questa funzione membro per disegnare qualsiasi finestra nel contesto di dispositivo specificato (in genere un contesto di dispositivo della stampante).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Parametri

pDC
Puntatore a un contesto di dispositivo.

dwFlags
Specifica le opzioni di disegno. Questo parametro può essere uno o più di questi flag:

  • PRF_CHECKVISIBLE Disegnare la finestra solo se è visibile.

  • PRF_CHILDREN Disegnare tutte le finestre figlio visibili.

  • PRF_CLIENT Disegnare l'area client della finestra.

  • PRF_ERASEBKGND Cancellare lo sfondo prima di disegnare la finestra.

  • PRF_NONCLIENT Disegnare l'area non client della finestra.

  • PRF_OWNED Disegnare tutte le finestre di proprietà.

CWnd::PrintWindow

Copia una finestra visiva nel contesto di dispositivo specificato, in genere un contesto di dispositivo stampante.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parametri

pDC
Puntatore al contesto di dispositivo in cui stampare.

nFlags
Specifica le opzioni di disegno. Per un elenco dei valori possibili, vedere PrintWindow.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione PrintWindow, come descritto in Windows SDK.

CWnd::RedrawWindow

Aggiornamenti il rettangolo o l'area specificata nell'area client della finestra specificata.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parametri

lpRectUpdate
Punta a una RECT struttura contenente le coordinate del rettangolo di aggiornamento. Questo parametro viene ignorato se prgnUpdate contiene un handle di area valido.

prgnUpdate
Identifica l'area di aggiornamento. Se e prgnUpdatelpRectUpdate sono NULL, l'intera area client viene aggiunta all'area di aggiornamento.

flags
Per invalidare la finestra vengono usati i flag seguenti:

  • RDW_ERASE Fa in modo che la finestra riceva un WM_ERASEBKGND messaggio quando la finestra viene aggiornata. È inoltre necessario specificare il flag. In RDW_INVALIDATE caso contrario, RDW_ERAedizione Standard non ha alcun effetto.

  • RDW_FRAME Determina la ricezione di un WM_NCPAINT messaggio da parte dell'area non client della finestra che interseca l'area di aggiornamento. È inoltre necessario specificare il flag. In RDW_INVALIDATE caso contrario RDW_FRAME , non ha alcun effetto.

  • RDW_INTERNALPAINT Determina la pubblicazione di un WM_PAINT messaggio nella finestra indipendentemente dal fatto che la finestra contenga un'area non valida.

  • RDW_INVALIDATE Invalidare lpRectUpdate o prgnUpdate (solo uno potrebbe non NULLessere ). Se entrambi sono NULL, l'intera finestra viene invalidata.

Per convalidare la finestra vengono usati i flag seguenti:

  • RDW_NOERASE Elimina tutti i messaggi in sospeso WM_ERASEBKGND .

  • RDW_NOFRAME Elimina tutti i messaggi in sospeso WM_NCPAINT . Questo flag deve essere usato con RDW_VALIDATE e viene in genere usato con RDW_NOCHILDREN. Questa opzione deve essere usata con attenzione, in quanto potrebbe impedire che parti di una finestra dipingano correttamente.

  • RDW_NOINTERNALPAINT Elimina eventuali messaggi interni in WM_PAINT sospeso. Questo flag non influisce sui WM_PAINT messaggi risultanti da aree non valide.

  • RDW_VALIDATElpRectUpdate Convalida o prgnUpdate (solo uno potrebbe non NULLessere ). Se entrambi sono NULL, l'intera finestra viene convalidata. Questo flag non influisce sui messaggi interni WM_PAINT .

I flag seguenti controllano quando si verifica l'aggiornamento. Il disegno non viene eseguito dalla RedrawWindow funzione a meno che non venga specificato uno di questi bit.

  • RDW_ERASENOW Fa sì che le finestre interessate (come specificato dai RDW_ALLCHILDREN flag e RDW_NOCHILDREN ) ricevano WM_NCPAINT e WM_ERASEBKGND , se necessario, prima che la funzione restituisca. WM_PAINT i messaggi vengono posticipati.

  • RDW_UPDATENOW Fa sì che le finestre interessate (come specificato dai RDW_ALLCHILDREN flag e RDW_NOCHILDREN ) ricevano WM_NCPAINT, se necessario, i messaggi , WM_ERASEBKGNDe WM_PAINT prima che la funzione restituisca.

Per impostazione predefinita, le finestre interessate dalla RedrawWindow funzione dipendono dal fatto che la finestra specificata abbia lo WS_CLIPCHILDREN stile. Le finestre figlio delle WS_CLIPCHILDREN finestre non sono interessate. Tuttavia, le finestre che non WS_CLIPCHILDREN sono finestre vengono convalidate in modo ricorsivo o invalidato fino a quando non viene rilevata una WS_CLIPCHILDREN finestra. I flag seguenti controllano quali finestre sono interessate dalla RedrawWindow funzione :

  • RDW_ALLCHILDREN Include le finestre figlio, se presenti, nell'operazione di riproduzione.

  • RDW_NOCHILDREN Esclude le finestre figlio, se presenti, dall'operazione di aggiornamento.

Valore restituito

Diverso da zero se la finestra è stata ridisegnata correttamente; in caso contrario, 0.

Osservazioni:

Quando la RedrawWindow funzione membro viene usata per invalidare parte della finestra desktop, tale finestra non riceve un WM_PAINT messaggio. Per aggiornare il desktop, un'applicazione deve usare CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindowo RedrawWindow

CWnd::ReflectChildNotify

Questa funzione di messaggio viene chiamata dal framework da OnChildNotify.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parametri

message
Specifica il messaggio da riflettere.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

pResult
Risultato generato dalla finestra figlio da restituire dalla finestra padre. Può essere NULL.

Valore restituito

TRUE se il messaggio è stato riflessa; in caso contrario FALSE, .

Osservazioni:

Si tratta di una funzione helper che riflette message l'origine.

I messaggi riflessi vengono inviati direttamente a CWnd::OnWndMsg o CCmdTarget::OnCmdMsg.

Per altre informazioni sulla reflection dei messaggi, vedere Gestione dei messaggi riflessi.

CWnd::ReflectLastMsg

Questa funzione membro viene chiamata dal framework per riflettere l'ultimo messaggio alla finestra figlio.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parametri

hWndChild
Handle di una finestra figlio.

pResult
Risultato generato dalla finestra figlio da restituire dalla finestra padre. Può essere NULL.

Valore restituito

Diverso da zero se il messaggio è stato gestito; in caso contrario, 0.

Osservazioni:

Questa funzione membro chiama SendChildNotifyLastMsg se la finestra identificata da hWndChild è un controllo OLE o una finestra nella mappa permanente.

Per altre informazioni sulla reflection dei messaggi, vedere Gestione dei messaggi riflessi.

CWnd::ReleaseDC

Rilascia un contesto di dispositivo, liberandolo per l'uso da parte di altre applicazioni.

int ReleaseDC(CDC* pDC);

Parametri

pDC
Identifica il contesto del dispositivo da rilasciare.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

L'effetto della ReleaseDC funzione membro dipende dal tipo di contesto del dispositivo.

L'applicazione deve chiamare la ReleaseDC funzione membro per ogni chiamata alla GetWindowDC funzione membro e per ogni chiamata alla GetDC funzione membro.

CWnd::RepositionBars

Chiamato per riposizionare e ridimensionare le barre di controllo nell'area client di una finestra.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Parametri

nIDFirst
ID del primo in un intervallo di barre di controllo da riposizionare e ridimensionare.

nIDLast
ID dell'ultimo oggetto in un intervallo di barre di controllo da riposizionare e ridimensionare.

nIDLeftOver
Specifica l'ID del riquadro che riempie il resto dell'area client.

nFlag
I valori consentiti sono i seguenti:

  • CWnd::reposDefault Esegue il layout delle barre di controllo. lpRectParam non viene usato e può essere NULL.

  • CWnd::reposQuery Il layout delle barre di controllo non viene eseguito; viene invece lpRectParam inizializzato con le dimensioni dell'area client, come se il layout fosse stato effettivamente eseguito.

  • CWnd::reposExtra Aggiunge i valori di lpRectParam all'area client di nIDLast ed esegue anche il layout.

lpRectParam
Punta a una RECT struttura. L'utilizzo di dipende dal valore di nFlag.

lpRectClient
Punta a una RECT struttura contenente l'area client disponibile. Se NULL, verrà usata l'area client della finestra.

bStretch
Indica se la barra deve essere estesa alle dimensioni del frame.

Osservazioni:

I nIDFirst parametri e nIDLast definiscono un intervallo di ID barra di controllo da riposizionare nell'area client. Il nIDLeftOver parametro specifica l'ID della finestra figlio (in genere la visualizzazione) che viene riposizionata e ridimensionata per riempire il resto dell'area client non riempita dalle barre di controllo.

CWnd::RunModalLoop

Chiamare questa funzione membro per recuperare, tradurre o inviare messaggi fino a ContinueModal quando non restituisce FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parametri

dwFlags
Specifica il messaggio di Windows da inviare. I possibili valori sono i seguenti:

  • MLF_NOIDLEMSG Non inviare WM_ENTERIDLE messaggi all'elemento padre.

  • MLF_NOKICKIDLE Non inviare WM_KICKIDLE messaggi alla finestra.

  • MLF_SHOWONIDLE Mostra la finestra quando la coda dei messaggi diventa inattiva.

Valore restituito

Specifica il valore del nResult parametro passato alla EndModalLoop funzione membro, che viene quindi utilizzato per terminare il ciclo modale.

Osservazioni:

Per impostazione predefinita, restituisce ContinueModalFALSE dopo EndModalLoop la chiamata. Restituisce il valore fornito come nResult .EndModalLoop

CWnd::ScreenToClient

Converte le coordinate dello schermo di un determinato punto o rettangolo sullo schermo in coordinate client.

void ScreenToClient(LPPOINT lpPoint) const;  void ScreenToClient(LPRECT lpRect) const;

Parametri

lpPoint
Punta a un oggetto o POINT a una CPoint struttura che contiene le coordinate dello schermo da convertire.

lpRect
Punta a un oggetto o RECT a una CRect struttura che contiene le coordinate dello schermo da convertire.

Osservazioni:

La ScreenToClient funzione membro sostituisce le coordinate dello schermo indicate in lpPoint o lpRect con coordinate client. Le nuove coordinate sono relative all'angolo superiore sinistro dell'area CWnd client.

Esempio

Vedere l'esempio per CListCtrl::GetItemRect.

CWnd::ScrollWindow

Scorre il contenuto dell'area client dell'oggetto corrente CWnd .

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Parametri

xAmount
Specifica la quantità, in unità di dispositivo, dello scorrimento orizzontale. Questo parametro deve essere un valore negativo per scorrere verso sinistra.

yAmount
Specifica la quantità, in unità dispositivo, dello scorrimento verticale. Questo parametro deve essere un valore negativo per scorrere verso l'alto.

lpRect
Punta a un oggetto o RECT a una CRect struttura che specifica la parte dell'area client da scorrere. Se lpRect è NULL, viene eseguito lo scorrimento dell'intera area client. Il cursore viene riposizionato se il rettangolo del cursore interseca il rettangolo di scorrimento.

lpClipRect
Punta a un oggetto o RECT a una CRect struttura che specifica il rettangolo di ritaglio da scorrere. Vengono scorrere solo i bit all'interno di questo rettangolo. I bit esterni a questo rettangolo non sono interessati anche se si trovano nel lpRect rettangolo. Se lpClipRect è NULL, non viene eseguito alcun ritaglio sul rettangolo di scorrimento.

Osservazioni:

Se il cursore si trova nell'oggetto CWnd di scorrimento, ScrollWindow nasconde automaticamente il cursore per evitare che venga cancellato e quindi ripristina il cursore al termine dello scorrimento. La posizione del cursore viene adattata di conseguenza.

L'area individuata dalla ScrollWindow funzione membro non viene aggiornata ma viene combinata nell'area di aggiornamento dell'oggetto corrente CWnd . L'applicazione riceverà infine un WM_PAINT messaggio che informa che l'area deve essere aggiornata. Per ripristinare l'area individuata contemporaneamente allo scorrimento, chiamare la UpdateWindow funzione membro immediatamente dopo la chiamata ScrollWindowa .

Se lpRect è NULL, anche le posizioni di qualsiasi finestra figlio nella finestra vengono sfalsate dalla quantità specificata da xAmount e yAmounte le eventuali aree non valide (non affiancate) in CWnd sono offset. ScrollWindow è più veloce quando lpRect è NULL.

Se lpRect non NULLè , le posizioni delle finestre figlio non vengono modificate e le aree non valide in CWnd non sono offset. Per evitare problemi di aggiornamento quando lpRect non NULLè , chiamare la UpdateWindow funzione membro per aggiornare CWnd prima di chiamare ScrollWindow.

CWnd::ScrollWindowEx

Scorre il contenuto dell'area client di una finestra.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Parametri

dx
Specifica la quantità, in unità di dispositivo, dello scorrimento orizzontale. Questo parametro deve avere un valore negativo per scorrere verso sinistra.

dy
Specifica la quantità, in unità dispositivo, dello scorrimento verticale. Questo parametro deve avere un valore negativo per scorrere verso l'alto.

lpRectScroll
Punta a una RECT struttura che specifica la parte dell'area client da scorrere. Se questo parametro è NULL, viene eseguito lo scorrimento dell'intera area client.

lpRectClip
Punta a una RECT struttura che specifica il rettangolo di ritaglio da scorrere. Questa struttura ha la precedenza sul rettangolo a lpRectScrollcui punta . Vengono scorrere solo i bit all'interno di questo rettangolo. I bit esterni a questo rettangolo non sono interessati anche se si trovano nel lpRectScroll rettangolo. Se questo parametro è NULL, non viene eseguito alcun ritaglio sul rettangolo di scorrimento.

prgnUpdate
Identifica l'area modificata per contenere l'area invalidata dallo scorrimento. Questo parametro può essere NULL.

lpRectUpdate
Punta a una RECT struttura che riceverà i limiti del rettangolo invalidato dallo scorrimento. Questo parametro può essere NULL.

flags
I valori consentiti sono i seguenti:

  • SW_ERASE Se specificato con SW_INVALIDATE, cancella l'area appena invalidata inviando un WM_ERASEBKGND messaggio alla finestra.

  • SW_INVALIDATE Invalida l'area identificata da prgnUpdate dopo lo scorrimento.

  • SW_SCROLLCHILDREN Scorre tutte le finestre figlio che intersecano il rettangolo a lpRectScroll cui punta il numero di pixel specificato in dx e dy. Windows invia un WM_MOVE messaggio a tutte le finestre figlio che intersecano lpRectScroll, anche se non vengono spostate. Il cursore viene riposizionato quando si scorre una finestra figlio e il rettangolo di cursore interseca il rettangolo di scorrimento.

Valore restituito

Il valore restituito è SIMPLEREGION (area rettangolare invalidata), COMPLEXREGION (area non invalidata non rettangolare; rettangoli sovrapposti) o NULLREGION (nessuna area invalidata), se la funzione ha esito positivo; in caso contrario, il valore restituito è ERROR.

Osservazioni:

Questa funzione è simile alla ScrollWindow funzione, con alcune funzionalità aggiuntive.

Se SW_INVALIDATE e SW_ERASE non vengono specificati, la ScrollWindowEx funzione membro non invalida l'area da cui viene eseguito lo scorrimento. Se uno di questi flag è impostato, ScrollWindowEx invalida questa area. L'area non viene aggiornata finché l'applicazione chiama la UpdateWindow funzione membro, chiama la RedrawWindow funzione membro (specificando RDW_UPDATENOW o RDW_ERASENOW) o recupera il WM_PAINT messaggio dalla coda dell'applicazione.

Se la finestra ha lo WS_CLIPCHILDREN stile , le aree restituite specificate da prgnUpdate e lpRectUpdate rappresentano l'area totale della finestra scorrevole che deve essere aggiornata, incluse le aree nelle finestre figlio che richiedono l'aggiornamento.

Se il SW_SCROLLCHILDREN flag è specificato, Windows non aggiornerà correttamente la schermata se una parte di una finestra figlio viene scorrere. La parte della finestra figlio scorrevole che si trova all'esterno del rettangolo di origine non verrà cancellata e non verrà ridisegnata correttamente nella nuova destinazione. Utilizzare la DeferWindowPos funzione Windows per spostare le finestre figlio che non si trovano completamente all'interno del lpRectScroll rettangolo. Il cursore viene riposizionato se il SW_SCROLLCHILDREN flag è impostato e il rettangolo del cursore interseca il rettangolo di scorrimento.

Tutte le coordinate di input e output (per lpRectScroll, lpRectUpdatelpRectClip, e prgnUpdate) vengono considerate nelle coordinate client, indipendentemente dal fatto che la finestra abbia lo stile della CS_OWNDC classe o CS_CLASSDC . Usare le funzioni e DPtoLP Windows per eseguire la LPtoDP conversione da e verso coordinate logiche, se necessario.

CWnd::SendChildNotifyLastMsg

Questa funzione membro viene chiamata dal framework per fornire un messaggio di notifica a una finestra figlio, dalla finestra padre, in modo che la finestra figlio possa gestire un'attività.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parametri

pResult
Risultato generato dalla finestra figlio da restituire dalla finestra padre.

Valore restituito

Diverso da zero se la finestra figlio ha gestito il messaggio inviato al padre; in caso contrario, 0.

Osservazioni:

SendChildNotifyLastMsg inviare il messaggio corrente all'origine se si tratta di un messaggio che si riflette.

Per altre informazioni sulla reflection dei messaggi, vedere Gestione dei messaggi riflessi.

CWnd::SendDlgItemMessage

Invia un messaggio a un controllo .

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametri

nID
Specifica l'identificatore del controllo finestra di dialogo che riceverà il messaggio.

message
Specifica il messaggio da inviare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

Valore restituito

Specifica il valore restituito dalla routine della finestra del controllo oppure 0 se il controllo non è stato trovato.

Osservazioni:

La SendDlgItemMessage funzione membro non restituisce finché il messaggio non viene elaborato.

L'uso SendDlgItemMessage è identico a ottenere un CWndoggetto * al controllo specificato e a chiamare la SendMessage funzione membro.

Esempio

void CMyDlg::SetSpinRange()
{
   //set the min and max range of the up/down or spin control
   SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}

CWnd::SendMessage

Invia il messaggio specificato a questa finestra.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parametri

message
Specifica il messaggio da inviare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

Valore restituito

Risultato dell'elaborazione del messaggio; il relativo valore dipende dal messaggio inviato.

Osservazioni:

La SendMessage funzione membro chiama direttamente la routine window e non restituisce fino a quando tale routine della finestra non ha elaborato il messaggio. Ciò è in contrasto con la PostMessage funzione membro, che inserisce il messaggio nella coda dei messaggi della finestra e restituisce immediatamente.

Esempio

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::SendMessageToDescendants

Chiamare questa funzione membro per inviare il messaggio di Windows specificato a tutte le finestre discendenti.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Parametri

message
Specifica il messaggio da inviare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

bDeep
Specifica il livello in cui eseguire la ricerca. Se TRUE, cercare in modo ricorsivo tutti gli elementi figlio; se FALSE, cercare solo elementi figlio immediati.

bOnlyPerm
Specifica se il messaggio verrà ricevuto da finestre temporanee. Se TRUE, le finestre temporanee possono ricevere il messaggio; se FALSE, solo le finestre permanenti ricevono il messaggio. Per altre informazioni sulle finestre temporanee, vedere La nota tecnica 3.

Osservazioni:

Se bDeep è FALSE, il messaggio viene inviato solo agli elementi figlio immediati della finestra; in caso contrario, il messaggio viene inviato a tutte le finestre discendenti.

Se bDeep e bOnlyPerm sono TRUE, la ricerca continua sotto le finestre temporanee. In questo caso, solo le finestre permanenti rilevate durante la ricerca ricevono il messaggio. Se bDeep è FALSE, il messaggio viene inviato solo agli elementi figlio immediati della finestra.

Esempio

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;

lf.lfHeight = 15; // Request a 15-pixel-high font

// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));

m_font.CreateFontIndirect(&lf); // Create the font.

SendMessageToDescendants(WM_SETFONT,
                         (WPARAM)m_font.m_hObject, //handle to font
                         MAKELONG((WORD)fRedraw, 0),
                         FALSE); // send to all descendants(TRUE) or
                                 // just children of *this (FALSE)

CWnd::SendNotifyMessage

Invia il messaggio specificato alla finestra.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parametri

message
Specifica il messaggio da inviare.

wParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

lParam
Specifica informazioni aggiuntive dipendenti dai messaggi.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Se la finestra è stata creata dal thread chiamante, SendNotifyMessage chiama la routine della finestra per la finestra e non restituisce finché la routine della finestra non ha elaborato il messaggio. Se la finestra è stata creata da un thread diverso, SendNotifyMessage passa il messaggio alla routine della finestra e restituisce immediatamente. Non attende che la routine della finestra finisca l'elaborazione del messaggio.

CWnd::SetActiveWindow

Rende CWnd attiva la finestra.

CWnd* SetActiveWindow();

Valore restituito

Finestra precedentemente attiva.

Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

La SetActiveWindow funzione membro deve essere usata con attenzione perché consente a un'applicazione di assumere arbitrariamente la finestra attiva e lo stato attivo dell'input. In genere, Windows si occupa di tutte le attivazioni.

CWnd::SetCapture

Determina l'invio di tutti gli input del mouse successivi all'oggetto corrente CWnd indipendentemente dalla posizione del cursore.

CWnd* SetCapture();

Valore restituito

Puntatore all'oggetto finestra che in precedenza ha ricevuto tutti gli input del mouse. È NULL se non c'è una finestra di questo tipo. Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Quando CWnd non richiede più tutti gli input del mouse, l'applicazione deve chiamare la ReleaseCapture funzione in modo che altre finestre possano ricevere l'input del mouse.

Durante l'acquisizione dell'input del mouse, nessun WM_NCHITTEST messaggio o WM_SETCURSOR viene inviato alla finestra attiva.

CWnd::SetCaretPos

Imposta la posizione del cursore.

static void PASCAL SetCaretPos(POINT point);

Parametri

point
Specifica le nuove coordinate x e y (nelle coordinate client) del cursore.

Osservazioni:

La SetCaretPos funzione membro sposta il cursore solo se è di proprietà di una finestra nell'attività corrente. SetCaretPos sposta il cursore indipendentemente dal fatto che il cursore sia nascosto.

Il cursore è una risorsa condivisa. Una finestra non deve spostare il cursore se non è proprietario del cursore.

Esempio

// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
   //create a solid caret, the width is 2, the length is 20.
   CreateSolidCaret(2, 20);

   SetCaretPos(point);
   ShowCaret();

   CView::OnLButtonDown(nFlags, point);
}

CWnd::SetClipboardViewer

Aggiunge questa finestra alla catena di finestre notificate (tramite il WM_DRAWCLIPBOARD messaggio) ogni volta che viene modificato il contenuto degli Appunti.

HWND SetClipboardViewer();

Valore restituito

Handle alla finestra successiva della catena del visualizzatore Appunti, se ha esito positivo. Le applicazioni devono salvare questo handle (può essere archiviato come variabile membro) e usarlo quando risponde ai messaggi della catena del visualizzatore appunti.

Osservazioni:

Una finestra che fa parte della catena del visualizzatore appunti deve rispondere ai WM_DRAWCLIPBOARDmessaggi , WM_CHANGECBCHAINe e WM_DESTROY passare il messaggio alla finestra successiva della catena.

Questa funzione membro invia un WM_DRAWCLIPBOARD messaggio alla finestra. Poiché l'handle alla finestra successiva nella catena del visualizzatore appunti non è ancora stato restituito, l'applicazione non deve passare il WM_DRAWCLIPBOARD messaggio ricevuto durante la chiamata a SetClipboardViewer.

Per rimuovere se stesso dalla catena del visualizzatore Appunti, un'applicazione deve chiamare la ChangeClipboardChain funzione membro.

CWnd::SetDlgCtrlID

Imposta l'ID finestra o l'ID di controllo per la finestra su un nuovo valore.

int SetDlgCtrlID(int nID);

Parametri

nID
Nuovo valore da impostare per l'identificatore del controllo.

Valore restituito

Identificatore precedente della finestra, se riuscito; in caso contrario, 0.

Osservazioni:

La finestra può essere qualsiasi finestra figlio, non solo un controllo in una finestra di dialogo. La finestra non può essere una finestra di primo livello.

CWnd::SetDlgItemInt

Imposta il testo di un determinato controllo in una finestra di dialogo sulla rappresentazione di stringa di un valore intero specificato.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parametri

nID
Specifica l'ID intero del controllo da modificare.

nValue
Specifica il valore intero utilizzato per generare il testo dell'elemento.

bSigned
Specifica se il valore intero è con segno o senza segno. Se questo parametro è TRUE, nValue è firmato. Se questo parametro è TRUE e nValue è minore di 0, viene inserito un segno meno prima della prima cifra nella stringa. Se questo parametro è FALSE, nValue non è firmato.

Osservazioni:

SetDlgItemInt invia un WM_SETTEXT messaggio al controllo specificato.

Esempio

Vedere l'esempio per CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Imposta il didascalia o il testo di un controllo di proprietà di una finestra o di una finestra di dialogo.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parametri

nID
Identifica il controllo il cui testo deve essere impostato.

lpszString
Punta a un oggetto o a una CString stringa con terminazione Null che contiene il testo da copiare nel controllo.

Osservazioni:

SetDlgItemText invia un WM_SETTEXT messaggio al controllo specificato.

Esempio

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);

CWnd::SetForegroundWindow

Posiziona il thread che ha creato la finestra in primo piano e attiva la finestra.

BOOL SetForegroundWindow();

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

L'input della tastiera viene indirizzato alla finestra e vari segnali visivi vengono modificati per l'utente. La finestra in primo piano è la finestra con cui l'utente sta attualmente lavorando. La finestra in primo piano si applica solo alle finestre di primo livello (finestre cornice o finestre di dialogo).

Esempio

Vedere l'esempio per CWnd::FindWindow.

CWnd::SetFocus

Richiede lo stato attivo per l'input.

CWnd* SetFocus();

Valore restituito

Puntatore all'oggetto finestra che in precedenza aveva lo stato attivo per l'input. È NULL se non c'è una finestra di questo tipo. Il puntatore restituito può essere temporaneo e non deve essere archiviato.

Osservazioni:

Lo stato attivo di input indirizza tutti gli input della tastiera successivi a questa finestra. Qualsiasi finestra che in precedenza aveva lo stato attivo per l'input lo perde.

La SetFocus funzione membro invia un WM_KILLFOCUS messaggio alla finestra che perde lo stato attivo dell'input e un WM_SETFOCUS messaggio alla finestra che riceve lo stato attivo di input. Attiva anche la finestra o il relativo elemento padre.

Se la finestra corrente è attiva ma non ha lo stato attivo (ovvero nessuna finestra ha lo stato attivo), qualsiasi tasto premuto produrrà i messaggi WM_SYSCHAR, WM_SYSKEYDOWNo WM_SYSKEYUP.

CWnd::SetFont

Invia il WM_SETFONT messaggio alla finestra per utilizzare il tipo di carattere specificato.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Parametri

pFont
Puntatore a un oggetto CFont.

bRedraw
TRUE affinché la finestra venga ridisegnato immediatamente dopo l'elaborazione del WM_SETFONT messaggio; in caso contrario FALSE, .

Osservazioni:

Questo metodo non ha alcun effetto a meno che la finestra non elabori il WM_SETFONT messaggio. Molte classi MFC che derivano dal CWnd processo di questo messaggio perché sono associate a una classe finestra predefinita che include un gestore messaggi per il WM_SETFONT messaggio. Per usare questo metodo, le classi derivate da CWnd devono definire un gestore di metodi per il WM_SETFONT messaggio.

CWnd::SetIcon

Chiamare questa funzione membro per impostare l'handle su un'icona specifica, come identificato da hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parametri

hIcon
Handle di un'icona precedente.

bBigIcon
Specifica un'icona da 32 pixel a 32 pixel se TRUE; specifica un'icona da 16 pixel a 16 pixel se FALSE.

Valore restituito

Handle di un'icona.

Osservazioni:

Quando la classe della finestra viene registrata, seleziona un'icona.

Esempio

Vedere l'esempio per CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Imposta la chiave di colore per trasparenza e opacità di una finestra a livelli.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parametri

crKey
Puntatore a un COLORREF valore che specifica la chiave del colore di trasparenza da utilizzare durante la composizione della finestra a più livelli. Tutti i pixel dipinti dalla finestra in questo colore saranno trasparenti. Per generare un COLORREFoggetto , utilizzare la RGB macro .

bAlpha
Valore alfa usato per descrivere l'opacità della finestra a più livelli. Per altre informazioni, vedere il SourceConstantAlpha membro della BLENDFUNCTION struttura. Quando bAlpha è 0, la finestra è completamente trasparente. Quando bAlpha è 255, la finestra è opaca.

dwFlags
Specifica un'azione da eseguire. Questo parametro può essere uno o più dei valori seguenti. Per un elenco dei valori possibili, vedere SetLayeredWindowAttributes.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione SetLayeredWindowAttributes, come descritto in Windows SDK.

CWnd::SetMenu

Imposta il menu corrente sul menu specificato.

BOOL SetMenu(CMenu* pMenu);

Parametri

pMenu
Identifica il nuovo menu. Se questo parametro è NULL, il menu corrente viene rimosso.

Valore restituito

Diverso da zero se il menu viene modificato; in caso contrario, 0.

Osservazioni:

Fa sì che la finestra venga ridisegnata in modo da riflettere la modifica del menu.

SetMenu non distruggerà un menu precedente. Un'applicazione deve chiamare la CMenu::DestroyMenu funzione membro per eseguire questa attività.

Esempio

Vedere l'esempio per CMenu::LoadMenu.

CWnd::SetOwner

Imposta il proprietario della finestra corrente sull'oggetto finestra specificato.

void SetOwner(CWnd* pOwnerWnd);

Parametri

pOwnerWnd
Identifica il nuovo proprietario dell'oggetto finestra. Se questo parametro è NULL, l'oggetto finestra non ha proprietario.

Osservazioni:

Questo proprietario può quindi ricevere messaggi di comando dall'oggetto finestra corrente. Per impostazione predefinita, l'elemento padre della finestra corrente è il proprietario.

Spesso è utile stabilire connessioni tra oggetti finestra non correlati alla gerarchia delle finestre. Ad esempio, CToolBar invia notifiche al proprietario anziché al relativo padre. Ciò consente alla barra degli strumenti di diventare figlio di una finestra ,ad esempio una finestra dell'applicazione contenitore OLE, durante l'invio di notifiche a un'altra finestra, ad esempio la finestra cornice sul posto. Inoltre, quando una finestra del server viene disattivata o attivata durante la modifica sul posto, qualsiasi finestra di proprietà della finestra cornice è nascosta o visualizzata. Questa proprietà viene impostata in modo esplicito con una chiamata a SetOwner.

Il concetto di proprietà di questa funzione è diverso dal concetto di proprietà di GetWindow.

CWnd::SetParent

Modifica la finestra padre di una finestra figlio.

CWnd* SetParent(CWnd* pWndNewParent);

Parametri

pWndNewParent
Identifica la nuova finestra padre.

Valore restituito

Puntatore all'oggetto finestra padre precedente in caso di esito positivo. Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

Se la finestra figlio è visibile, Windows esegue il ridisegno e l'aggiornamento appropriati.

CWnd::SetProperty

Chiamare questa funzione membro per impostare la proprietà del controllo OLE specificata da dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parametri

dwDispID
Identifica la proprietà da impostare.

vtProp
Specifica il tipo della proprietà da impostare. Per i valori possibili, vedere la sezione Osservazioni per COleDispatchDriver::InvokeHelper.

...
Un singolo parametro del tipo specificato da vtProp.

Osservazioni:

Nota

Questa funzione deve essere chiamata solo su un CWnd oggetto che rappresenta un controllo OLE.

Per altre informazioni sull'uso di questa funzione membro con contenitori di controlli OLE, vedere l'articolo Contenitori di controlli ActiveX: Programmazione di controlli ActiveX in un contenitore di controlli ActiveX.

CWnd::SetRedraw

Un'applicazione chiama SetRedraw per consentire il ridisegno delle modifiche o per impedire il ridisegno delle modifiche.

void SetRedraw(BOOL bRedraw = TRUE);

Parametri

bRedraw
Specifica lo stato del flag di ridisegno. Se questo parametro è TRUE, viene impostato il flag di ridisegno; se FALSE, il flag viene cancellato.

Osservazioni:

Questa funzione membro imposta o cancella il flag ridisegnato. Mentre il flag di ridisegno viene cancellato, il contenuto non verrà aggiornato dopo ogni modifica e non verrà ridisegnato fino a quando non viene impostato il flag di ridisegno. Ad esempio, un'applicazione che deve aggiungere più elementi a una casella di riepilogo può cancellare il flag di ridisegno, aggiungere gli elementi e quindi impostare il flag di ridisegno. Infine, l'applicazione può chiamare la Invalidate funzione membro o InvalidateRect per fare in modo che la casella di riepilogo venga aggiornata.

Esempio

// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing

//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode

//
// Update control
//

m_List.SetRedraw(TRUE); // turn drawing back on and update the window

// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();

CWnd::SetScrollInfo

Chiamare questa funzione membro per impostare le informazioni che la SCROLLINFO struttura gestisce su una barra di scorrimento.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parametri

nBar
Specifica se la barra di scorrimento è un controllo o una parte dell'area non client di una finestra. Se fa parte dell'area non client, nBar indica anche se la barra di scorrimento è posizionata orizzontalmente, verticalmente o entrambe. Deve essere uno dei seguenti:

  • SB_CTL Contiene i parametri per un controllo barra di scorrimento. Il m_hWnd membro dati deve essere l'handle del controllo barra di scorrimento.

  • SB_HORZ Specifica che la finestra è una barra di scorrimento orizzontale.

  • SB_VERT Specifica che la finestra è una barra di scorrimento verticale.

lpScrollInfo
Puntatore a una SCROLLINFO struttura. Per altre informazioni su questa struttura, vedere Windows SDK.

bRedraw
Specifica se la barra di scorrimento deve essere ridisegnata per riflettere la nuova posizione. Se bRedraw è TRUE, la barra di scorrimento viene ridisegnata. Se è FALSE, non viene ridisegnato. La barra di scorrimento viene ridisegnata per impostazione predefinita.

Valore restituito

In caso di esito positivo, il valore restituito è TRUE. In caso contrario, è FALSE.

Osservazioni:

La SCROLLINFO struttura contiene informazioni su una barra di scorrimento, incluse le posizioni di scorrimento minime e massime, le dimensioni della pagina e la posizione della casella di scorrimento (il pollice). Per altre informazioni sulla modifica delle impostazioni predefinite della struttura, vedere l'argomento SCROLLINFO relativo alla struttura in Windows SDK.

I gestori di messaggi windows MFC che indicano la posizione CWnd::OnHScroll della barra di scorrimento e CWnd::OnVScroll, forniscono solo 16 bit di dati di posizione. GetScrollInfo e SetScrollInfo forniscono 32 bit di dati di posizione barra di scorrimento. Pertanto, un'applicazione può chiamare GetScrollInfo durante l'elaborazione CWnd::OnHScroll o CWnd::OnVScroll per ottenere dati sulla posizione della barra di scorrimento a 32 bit.

Nota

CWnd::GetScrollInfo consente alle applicazioni di usare le posizioni della barra di scorrimento a 32 bit.

CWnd::SetScrollPos

Imposta la posizione corrente di una casella di scorrimento e, se richiesto, ridisegna la barra di scorrimento in modo da riflettere la nuova posizione della casella di scorrimento.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parametri

nBar
Specifica la barra di scorrimento da impostare. Questo parametro può essere uno dei seguenti:

  • SB_HORZ Imposta la posizione della casella di scorrimento nella barra di scorrimento orizzontale della finestra.

  • SB_VERT Imposta la posizione della casella di scorrimento nella barra di scorrimento verticale della finestra.

nPos
Specifica la nuova posizione della casella di scorrimento. Deve trovarsi all'interno dell'intervallo di scorrimento.

bRedraw
Specifica se la barra di scorrimento deve essere ridisegnata per riflettere la nuova posizione della casella di scorrimento. Se questo parametro è TRUE, la barra di scorrimento viene aggiornata; se FALSE, la barra di scorrimento non viene aggiornata.

Valore restituito

Posizione precedente della casella di scorrimento.

Osservazioni:

L'impostazione su bRedrawFALSE è utile ogni volta che la barra di scorrimento verrà ridisegnata da una chiamata successiva a un'altra funzione.

CWnd::SetScrollRange

Imposta i valori di posizione minima e massima correnti per la barra di scorrimento specificata.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parametri

nBar
Specifica la barra di scorrimento da impostare. Questo parametro può essere uno dei valori seguenti:

  • SB_HORZ Imposta l'intervallo della barra di scorrimento orizzontale della finestra.

  • SB_VERT Imposta l'intervallo della barra di scorrimento verticale della finestra.

nMinPos
Specifica la posizione di scorrimento minima.

nMaxPos
Specifica la posizione di scorrimento massima.

bRedraw
Specifica se la barra di scorrimento deve essere ridisegnata per riflettere la modifica. Se bRedraw è TRUE, la barra di scorrimento viene ridisegnata; se FALSE, la barra di scorrimento non viene ridisegnata.

Osservazioni:

Può essere usato anche per nascondere o mostrare barre di scorrimento standard.

Un'applicazione non deve chiamare questa funzione per nascondere una barra di scorrimento durante l'elaborazione di un messaggio di notifica della barra di scorrimento.

Se la chiamata a SetScrollRange segue immediatamente una chiamata alla SetScrollPos funzione membro, il bRedraw parametro nella SetScrollPos funzione membro deve essere 0 per impedire che la barra di scorrimento venga disegnata due volte.

L'intervallo predefinito per una barra di scorrimento standard è compreso tra 0 e 100. L'intervallo predefinito per un controllo barra di scorrimento è vuoto (i nMinPos valori e nMaxPos sono 0). La differenza tra i valori specificati da nMinPos e nMaxPos non deve essere maggiore di INT_MAX.

CWnd::SetTimer

Installa un timer di sistema.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Parametri

nIDEvent
Specifica un identificatore timer diverso da zero. Se l'identificatore del timer è univoco, lo stesso valore viene restituito da SetTimer. In caso contrario, SetTimer determina un nuovo valore univoco e lo restituisce. Per un timer di finestra (con una NULL funzione di callback), il valore deve essere univoco solo per altri timer di Windows associati alla finestra corrente. Per un timer di callback, il valore deve essere univoco per tutti i timer in tutti i processi. Pertanto, quando si crea un timer di callback, è più probabile che il valore restituito sia diverso dal valore specificato.

nElapse
Specifica il valore di timeout, o intervallo, in millisecondi.

lpfnTimer
Specifica l'indirizzo della funzione di callback fornita dall'applicazione TimerProc che elabora i WM_TIMER messaggi. Se questo parametro è NULL, i WM_TIMER messaggi vengono inseriti nella coda di messaggi dell'applicazione e gestiti dall'oggetto CWnd .

Valore restituito

Identificatore timer del nuovo timer se la funzione ha esito positivo. Questo valore può essere o meno uguale al valore passato tramite il nIDEvent parametro . Un'applicazione deve sempre passare il valore restituito alla KillTimer funzione membro per terminare il timer. Diverso da zero se ha esito positivo; in caso contrario, 0.

Osservazioni:

Viene specificato un valore di intervallo e ogni volta che viene trascorso l'intervallo, il sistema invia un WM_TIMER messaggio alla coda di messaggi di installazione dell'applicazione di installazione o passa il messaggio a una funzione di callback definita dall'applicazione TimerProc .

La lpfnTimer funzione di callback non deve essere denominata TimerProc, ma deve essere dichiarata come statica e definita come segue.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Esempio

Questo esempio usa CWnd::SetTimer, CWnd::OnTimere CWnd::KillTimer per gestire i WM_TIMER messaggi. Il primo timer è configurato per inviare un WM_TIMER messaggio alla finestra cornice principale ogni 2 secondi in OnStartTimer. Il OnTimer gestore eventi gestisce i WM_TIMER messaggi per la finestra cornice principale. Questo metodo fa sì che l'altoparlante del PC vengaepto ogni 2 secondi. Il secondo timer invia un messaggio alla funzione di callback ogni 3,75 secondi. OnStopTimer arresterà entrambi i timer chiamando CWnd::KillTimer per ogni ID timer.

void CMainFrame::OnStartTimer()
{
   // This timer uses a WM_TIMER message, not a callback.
   // Therefore, the timer is specific to this window.
   // m_nWindowTimer is a UINT_PTR field.
   m_nWindowTimer = SetTimer(1, 2000, NULL);

   // For this demo, we specify an interval that won't overlap
   // with the window timer.
   m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);

   // See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
   CString str;
   str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
   TRACE(str);
#endif
}

void CALLBACK CMainFrame::MyTimerProc(
    HWND hWnd,         // handle of CWnd that called SetTimer
    UINT nMsg,         // WM_TIMER
    UINT_PTR nIDEvent, // timer identification
    DWORD dwTime       // system time
)
{
   MessageBeep(0x00000030L); // Windows question sound.
}

void CMainFrame::OnStopTimer()
{
   KillTimer(m_nWindowTimer);
   KillTimer(m_nCallbackTimer);
}

void CMainFrame::OnTimer(UINT nIDEvent)
{
   MessageBeep(0xFFFFFFFF); // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

CWnd::SetWindowContextHelpId

Chiamare questa funzione membro per associare un identificatore di contesto della Guida alla finestra specificata.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parametri

dwContextHelpId
Identificatore del contesto della Guida.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Se una finestra figlio non dispone di un identificatore di contesto della Guida, eredita l'identificatore della finestra padre. Analogamente, se una finestra di proprietà non dispone di un identificatore di contesto della Guida, eredita l'identificatore della finestra del proprietario. Questa ereditarietà degli identificatori di contesto della Guida consente a un'applicazione di impostare un solo identificatore per una finestra di dialogo e tutti i relativi controlli.

Esempio

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);

CWnd::SetWindowPlacement

Imposta lo stato di visualizzazione e le posizioni normale (ripristinata), ridotta a icona e ingrandita per una finestra.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Parametri

lpwndpl
Punta a una WINDOWPLACEMENT struttura che specifica il nuovo stato di visualizzazione e le posizioni.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

CWnd::SetWindowPos

Modifica le dimensioni, la posizione e l'ordine Z delle finestre figlio, popup e di primo livello.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parametri

pWndInsertAfter
Identifica l'oggetto CWnd che precederà (maggiore di) questo CWnd oggetto nell'ordine Z. Questo parametro può essere un puntatore a un puntatore a o CWnd a uno dei valori seguenti:

  • wndBottom Posiziona la finestra nella parte inferiore dell'ordine Z. Se si tratta CWnd di una finestra in alto, la finestra perde lo stato più alto; il sistema posiziona la finestra nella parte inferiore di tutte le altre finestre.

  • wndTop Posiziona la finestra nella parte superiore dell'ordine Z.

  • wndTopMost Posiziona la finestra sopra tutte le finestre non più in alto. La finestra mantiene la posizione superiore anche quando viene disattivata.

  • wndNoTopMost Riposiziona la finestra nella parte superiore di tutte le finestre non superiori, ovvero dietro tutte le finestre più in alto. Questo flag non ha alcun effetto se la finestra è già una finestra non superiore.

Per le regole su come usare questo parametro, vedere la sezione "Osservazioni" di questo argomento.

x
Specifica la nuova posizione del lato sinistro della finestra.

y
Specifica la nuova posizione della parte superiore della finestra.

cx
Specifica la nuova larghezza della finestra.

cy
Specifica la nuova altezza della finestra.

nFlags
Specifica le opzioni di ridimensionamento e posizionamento. Questo parametro può essere una combinazione dei flag seguenti:

  • SWP_DRAWFRAME Disegna una cornice (definita al momento della creazione della finestra) intorno alla finestra.

  • SWP_FRAMECHANGED Invia un WM_NCCALCSIZE messaggio alla finestra, anche se le dimensioni della finestra non vengono modificate. Se questo flag non viene specificato, WM_NCCALCSIZE viene inviato solo quando vengono modificate le dimensioni della finestra.

  • SWP_HIDEWINDOW Nasconde la finestra.

  • SWP_NOACTIVATE Non attiva la finestra. Se questo flag non è impostato, la finestra viene attivata e spostata nella parte superiore del gruppo più in alto o non superiore (a seconda dell'impostazione del pWndInsertAfter parametro).

  • SWP_NOCOPYBITS Rimuove l'intero contenuto dell'area client. Se questo flag non viene specificato, il contenuto valido dell'area client viene salvato e copiato nuovamente nell'area client dopo che la finestra viene ridimensionata o riposizionata.

  • SWP_NOMOVE Mantiene la posizione corrente (ignora i x parametri e y ).

  • SWP_NOOWNERZORDER Non modifica la posizione della finestra del proprietario nell'ordine Z.

  • SWP_NOREDRAW Non ridisegna le modifiche. Se questo flag è impostato, non viene eseguito alcun tipo di aggiornamento. Questo vale per l'area client, l'area non client (incluse le barre di scorrimento e il titolo) e qualsiasi parte della finestra padre rilevata in seguito alla finestra spostata. Quando questo flag è impostato, l'applicazione deve invalidare o ridisegnare in modo esplicito tutte le parti della finestra e della finestra padre che devono essere ridisegnate.

  • SWP_NOREPOSITION è uguale a SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Impedisce alla finestra di ricevere il WM_WINDOWPOSCHANGING messaggio.

  • SWP_NOSIZE Mantiene le dimensioni correnti (ignora i cx parametri e cy ).

  • SWP_NOZORDER Mantiene l'ordinamento corrente (ignora pWndInsertAfter).

  • SWP_SHOWWINDOW Visualizza la finestra.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Le finestre vengono ordinate sullo schermo in base al loro ordine Z; la finestra nella parte superiore dell'ordine Z viene visualizzata sopra tutte le altre finestre nell'ordine.

Tutte le coordinate per le finestre figlio sono coordinate client (rispetto all'angolo superiore sinistro dell'area client della finestra padre).

Una finestra può essere spostata all'inizio dell'ordine Z impostando il pWndInsertAfter parametro su &wndTopMost e assicurando che il SWP_NOZORDER flag non sia impostato o impostando l'ordine Z di una finestra in modo che si trova sopra qualsiasi finestra superiore esistente. Quando una finestra non superiore viene resa in primo piano, anche le finestre di proprietà vengono rese più in alto. I proprietari non vengono modificati.

Una finestra superiore non è più all'inizio se viene riposizionata nella parte inferiore (&wndBottom) dell'ordine Z o dopo qualsiasi finestra non superiore. Quando una finestra superiore viene resa non in primo piano, tutti i suoi proprietari e le sue finestre di proprietà sono anche fatte finestre non in primo piano.

Se né SWP_NOACTIVATESWP_NOZORDER viene specificato ,ovvero quando l'applicazione richiede che una finestra venga attivata e inserita contemporaneamente nell'ordine Z specificato, il valore specificato in pWndInsertAfter viene usato solo nelle circostanze seguenti:

  • &wndTopMost né è &wndNoTopMost specificato nel pWndInsertAfter parametro .

  • Questa finestra non è la finestra attiva.

Un'applicazione non può attivare una finestra inattiva senza portarla anche all'inizio dell'ordine Z. Le applicazioni possono modificare l'ordine Z di una finestra attivata senza restrizioni.

Una finestra non superiore può essere proprietaria di una finestra superiore, ma non viceversa. Qualsiasi finestra (ad esempio, una finestra di dialogo) di proprietà di una finestra superiore viene creata una finestra superiore per garantire che tutte le finestre di proprietà rimangano al di sopra del proprietario.

Con Windows 3.1 e versioni successive, le finestre possono essere spostate all'inizio dell'ordine Z e bloccate in tale posizione impostando i relativi WS_EX_TOPMOST stili. Tale finestra in alto mantiene la sua posizione più alta anche quando disattivata. Ad esempio, selezionando il comando WinHelp Always On In alto la finestra della Guida rimane visibile quando si torna all'applicazione.

Per creare una finestra in alto, chiamare SetWindowPos con il pWndInsertAfter parametro uguale a &wndTopMosto impostare lo WS_EX_TOPMOST stile quando si crea la finestra.

Se l'ordine Z contiene finestre con lo WS_EX_TOPMOST stile, una finestra spostata con il &wndTopMost valore viene posizionata nella parte superiore di tutte le finestre non superiori, ma sotto qualsiasi finestra superiore. Quando un'applicazione attiva una finestra inattiva senza bit WS_EX_TOPMOST , la finestra viene spostata sopra tutte le finestre non più in alto, ma sotto le finestre più in alto.

Se SetWindowPos viene chiamato quando il pWndInsertAfter parametro è &wndBottom e CWnd è una finestra in alto, la finestra perde lo stato superiore (WS_EX_TOPMOST è deselezionata) e il sistema posiziona la finestra nella parte inferiore dell'ordine Z.

Esempio

void CMyApp::OnHideApplication()
{
   //m_pMainWnd is the main application window, a member of CMyApp
   ASSERT_VALID(m_pMainWnd);

   // hide the application's windows before closing all the documents
   m_pMainWnd->ShowWindow(SW_HIDE);
   m_pMainWnd->ShowOwnedPopups(FALSE);

   // put the window at the bottom of z-order, so it isn't activated
   m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
                            SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}

CWnd::SetWindowRgn

Chiamare questa funzione membro per impostare l'area di una finestra.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parametri

hRgn
Handle di un'area.

bRedraw
Se TRUE, il sistema operativo ridisegna la finestra dopo l'impostazione dell'area; in caso contrario, non lo fa. In genere, impostare su bRedrawTRUE se la finestra è visibile. Se impostato su TRUE, il sistema invia i WM_WINDOWPOSCHANGING messaggi e WM_WINDOWPOSCHANGED alla finestra.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero. Se la funzione ha esito negativo, il valore restituito è zero.

Osservazioni:

Le coordinate dell'area della finestra di una finestra sono relative all'angolo superiore sinistro della finestra, non all'area client della finestra.

Dopo una chiamata riuscita a SetWindowRgn, il sistema operativo è proprietario dell'area specificata dall'handle hRgndell'area . Il sistema operativo non esegue una copia dell'area, quindi non effettuare ulteriori chiamate di funzione con questo handle di area e non chiudere questo handle di area.

CWnd::SetWindowText

Imposta il titolo della finestra sul testo specificato.

void SetWindowText(LPCTSTR lpszString);

Parametri

lpszString
Punta a un oggetto o a una CString stringa con terminazione Null da utilizzare come nuovo titolo o testo del controllo.

Osservazioni:

Se la finestra è un controllo, viene impostato il testo all'interno del controllo .

Questa funzione determina l'invio di un WM_SETTEXT messaggio a questa finestra.

Esempio

// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));

// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.

CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));

// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.

TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);

// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);

// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);

CWnd::ShowCaret

Mostra il cursore sullo schermo nella posizione corrente del cursore.

void ShowCaret();

Osservazioni:

Dopo la visualizzazione, il cursore inizia a lampeggiare automaticamente.

La ShowCaret funzione membro mostra il cursore solo se ha una forma corrente e non è stata nascosta due o più volte consecutivamente. Se il cursore non è di proprietà di questa finestra, il cursore non viene visualizzato.

Nascondere il cursore è cumulativo. Se la HideCaret funzione membro è stata chiamata cinque volte consecutivamente, ShowCaret deve essere chiamata cinque volte per visualizzare il cursore.

Il cursore è una risorsa condivisa. La finestra dovrebbe mostrare il cursore solo quando ha lo stato attivo o è attivo.

Esempio

Vedere l'esempio per CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Visualizza o nasconde tutte le finestre popup di proprietà di questa finestra.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parametri

bShow
Specifica se le finestre popup devono essere visualizzate o nascoste. Se questo parametro è TRUE, vengono visualizzate tutte le finestre popup nascoste. Se questo parametro è FALSE, tutte le finestre popup visibili sono nascoste.

Esempio

Vedere l'esempio per CWnd::SetWindowPos.

CWnd::ShowScrollBar

Visualizza o nasconde una barra di scorrimento.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parametri

nBar
Specifica se la barra di scorrimento è un controllo o una parte dell'area non client di una finestra. Se fa parte dell'area non client, nBar indica anche se la barra di scorrimento è posizionata orizzontalmente, verticalmente o entrambe. Deve essere uno dei seguenti:

  • SB_BOTH Specifica le barre di scorrimento orizzontali e verticali della finestra.

  • SB_HORZ Specifica che la finestra è una barra di scorrimento orizzontale.

  • SB_VERT Specifica che la finestra è una barra di scorrimento verticale.

bShow
Specifica se Windows visualizza o nasconde la barra di scorrimento. Se questo parametro è TRUE, viene visualizzata la barra di scorrimento; in caso contrario, la barra di scorrimento è nascosta.

Osservazioni:

Un'applicazione non deve chiamare ShowScrollBar per nascondere una barra di scorrimento durante l'elaborazione di un messaggio di notifica della barra di scorrimento.

CWnd::ShowWindow

Imposta lo stato di visibilità della finestra.

BOOL ShowWindow(int nCmdShow);

Parametri

nCmdShow
Specifica la modalità di visualizzazione dell'oggetto CWnd . Deve essere uno dei valori seguenti:

  • SW_HIDE Nasconde questa finestra e passa l'attivazione a un'altra finestra.

  • SW_MINIMIZE Riduce a icona la finestra e attiva la finestra di primo livello nell'elenco del sistema.

  • SW_RESTORE Attiva e visualizza la finestra. Se la finestra è ridotta a icona o ingrandita, Windows lo ripristina alla dimensione e alla posizione originali.

  • SW_SHOW Attiva la finestra e la visualizza nella dimensione e nella posizione correnti.

  • SW_SHOWMAXIMIZED Attiva la finestra e la visualizza come finestra ingrandita.

  • SW_SHOWMINIMIZED Attiva la finestra e la visualizza come icona.

  • SW_SHOWMINNOACTIVE Visualizza la finestra come icona. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNA Visualizza la finestra nello stato corrente. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNOACTIVATE Visualizza la finestra nella dimensione e nella posizione più recenti. La finestra attualmente attiva rimane attiva.

  • SW_SHOWNORMAL Attiva e visualizza la finestra. Se la finestra è ridotta a icona o ingrandita, Windows lo ripristina alla dimensione e alla posizione originali.

Valore restituito

Diverso da zero se la finestra era visibile in precedenza; 0 se l'oggetto CWnd era nascosto in precedenza.

Osservazioni:

ShowWindow deve essere chiamato una sola volta per ogni applicazione per la finestra principale con CWinApp::m_nCmdShow. Le chiamate successive a ShowWindow devono usare uno dei valori elencati in precedenza anziché quello specificato da CWinApp::m_nCmdShow.

Esempio

Vedere l'esempio per CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Chiamare questa funzione membro per "sottoclasse dinamicamente" un controllo creato da un modello di finestra di dialogo e associarlo a questo CWnd oggetto.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parametri

nID
ID del controllo.

pParent
Elemento padre del controllo (in genere una finestra di dialogo).

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Quando un controllo viene sottoclassato in modo dinamico, i messaggi di Windows instradano attraverso la CWndmappa dei messaggi e chiamano prima i gestori di messaggi nella CWndclasse della classe . I messaggi passati alla classe base verranno passati al gestore di messaggi predefinito nel controllo .

Questa funzione membro collega il controllo Windows a un CWnd oggetto e sostituisce le funzioni e AfxWndProc del WndProc controllo. La funzione archivia il vecchio WndProc nella posizione restituita dalla GetSuperWndProcAddr funzione membro.

Esempio

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);

CWnd::SubclassWindow

Chiamare questa funzione membro per "sottoclasse dinamicamente" una finestra e collegarla a questo CWnd oggetto.

BOOL SubclassWindow(HWND hWnd);

Parametri

hWnd
Handle per la finestra.

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario, 0.

Osservazioni:

Quando una finestra viene sottoclassata in modo dinamico, i messaggi di Windows instradano attraverso la CWndmappa dei messaggi e chiamano prima i gestori di messaggi nella CWndclasse della classe . I messaggi passati alla classe base verranno passati al gestore di messaggi predefinito nella finestra.

Questa funzione membro collega il controllo Windows a un CWnd oggetto e sostituisce le funzioni e AfxWndProc della WndProc finestra. La funzione archivia un puntatore al precedente WndProc nell'oggetto CWnd .

Nota

La finestra non deve essere già collegata a un oggetto MFC quando viene chiamata questa funzione.

Esempio

// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   if (nCtlColor == CTLCOLOR_EDIT)
   {
      //Edit control
      if (m_edit.GetSafeHwnd() == NULL)
         m_edit.SubclassWindow(pWnd->GetSafeHwnd());
   }
   else if (nCtlColor == CTLCOLOR_LISTBOX)
   {
      //ListBox control
      if (m_listbox.GetSafeHwnd() == NULL)
         m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
   }

   HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
   return hbr;
}

void CSuperComboBox::OnDestroy()
{
   //unsubclass edit and list box before destruction
   if (m_edit.GetSafeHwnd() != NULL)
      m_edit.UnsubclassWindow();
   if (m_listbox.GetSafeHwnd() != NULL)
      m_listbox.UnsubclassWindow();
   CComboBox::OnDestroy();
}

CWnd::UnlockWindowUpdate

Chiamare questa funzione membro per sbloccare una finestra bloccata con CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Osservazioni:

È possibile bloccare una sola finestra alla volta usando LockWindowUpdate. Per altre informazioni sul blocco delle finestre, vedere CWnd::LockWindowUpdate o la funzione LockWindowUpdate Win32.

CWnd::UnsubclassWindow

Chiamare questa funzione membro per ripristinare WndProc il valore originale e scollegare la finestra identificata da HWND dall'oggetto CWnd .

HWND UnsubclassWindow();

Valore restituito

Handle per la finestra non sottoclassata.

Esempio

Vedere l'esempio per CWnd::SubclassWindow.

CWnd::UpdateData

Chiamare questa funzione membro per inizializzare i dati in una finestra di dialogo o per recuperare e convalidare i dati della finestra di dialogo.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parametri

bSaveAndValidate
Flag che indica se la finestra di dialogo viene inizializzata (FALSE) o i dati vengono recuperati (TRUE).

Valore restituito

Diverso da zero se l'operazione ha esito positivo; in caso contrario, 0. Se bSaveAndValidate è TRUE, un valore restituito diverso da zero indica che i dati vengono convalidati correttamente.

Osservazioni:

Il framework chiama UpdateData automaticamente con bSaveAndValidate impostato su FALSE quando viene creata una finestra di dialogo modale nell'implementazione predefinita di CDialog::OnInitDialog. La chiamata viene eseguita prima che la finestra di dialogo sia visibile. L'implementazione predefinita di CDialog::OnOK chiama questa funzione membro con bSaveAndValidate impostato su TRUE per recuperare i dati e, in caso di esito positivo, chiuderà la finestra di dialogo. Se si fa clic sul pulsante Annulla nella finestra di dialogo, la finestra di dialogo viene chiusa senza recuperare i dati.

CWnd::UpdateDialogControls

Chiamare questa funzione membro per aggiornare lo stato dei pulsanti della finestra di dialogo e di altri controlli in una finestra di dialogo o in una finestra che usa il ON_UPDATE_COMMAND_UI meccanismo di callback.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parametri

pTarget
Punta alla finestra cornice principale dell'applicazione e viene usata per il routing dei messaggi di aggiornamento.

bDisableIfNoHndler
Flag che indica se un controllo senza gestore di aggiornamento deve essere visualizzato automaticamente come disabilitato.

Osservazioni:

Se un controllo figlio non dispone di un gestore e bDisableIfNoHndler è TRUE, il controllo figlio verrà disabilitato.

Il framework chiama questa funzione membro per i controlli nelle barre delle finestre di dialogo o nelle barre degli strumenti come parte dell'elaborazione inattiva dell'applicazione.

CWnd::UpdateLayeredWindow

Aggiorna posizione, dimensioni, forma, contenuto e traslucidità di una finestra a livelli.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Parametri

pDCDst
Puntatore a un contesto di dispositivo per lo schermo. Viene usato per la corrispondenza dei colori della tavolozza quando il contenuto della finestra viene aggiornato. Se pDCDst è NULL, verrà usata la tavolozza predefinita.

Se pDCSrc è NULL, pDCDst deve essere NULL.

pptDst
Puntatore a una POINT struttura che specifica la nuova posizione dello schermo della finestra a più livelli. Se la posizione corrente non cambia, pptDst può essere NULL.

psize
Puntatore a una SIZE struttura che specifica le nuove dimensioni della finestra a più livelli. Se le dimensioni della finestra non cambiano, psize può essere NULL.

Se pDCSrc è NULL, psize deve essere NULL.

pDCSrc
Puntatore a un controller di dominio per la superficie che definisce la finestra a più livelli. Se la forma e il contesto visivo della finestra non vengono modificati, pDCSrc può essere NULL.

pptSrc
Puntatore a una POINT struttura che specifica la posizione del livello nel contesto del dispositivo.

Se pDCSrc è NULL, pptSrc deve essere NULL.

crKey
Puntatore a un COLORREF valore che specifica la chiave del colore di trasparenza da utilizzare durante la composizione della finestra a più livelli. Tutti i pixel dipinti dalla finestra in questo colore saranno trasparenti. Per generare un COLORREFoggetto , utilizzare la macro RGB.

pblend
Puntatore a una BLENDFUNCTION struttura che specifica il valore di trasparenza da utilizzare durante la composizione della finestra a più livelli.

dwFlags
Specifica un'azione da eseguire. Questo parametro può essere uno o più dei valori seguenti. Per un elenco dei valori possibili, vedere UpdateLayeredWindow.

Valore restituito

Viene restituito un valore diverso da zero se la funzione viene eseguita correttamente; in caso contrario viene restituito 0.

Osservazioni:

Questa funzione membro emula la funzionalità della funzione UpdateLayeredWindow, come descritto in Windows SDK.

CWnd::UpdateWindow

Aggiornamenti'area client inviando un WM_PAINT messaggio se l'area di aggiornamento non è vuota.

void UpdateWindow();

Osservazioni:

La UpdateWindow funzione membro invia direttamente un WM_PAINT messaggio ignorando la coda dell'applicazione. Se l'area di aggiornamento è vuota, WM_PAINT non viene inviata.

Esempio

// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated.  It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.

void CMdiView::OnChangeRect()
{
   // Change Rectangle size.
   m_rcBox = CRect(20, 20, 210, 210);

   // Invalidate window so entire client area
   // is redrawn when UpdateWindow is called.
   Invalidate();

   // Update Window to cause View to redraw.
   UpdateWindow();
}

// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
   // Other draw code here.

   pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}

CWnd::ValidateRect

Convalida l'area client all'interno del rettangolo specificato rimuovendo il rettangolo dall'area di aggiornamento della finestra.

void ValidateRect(LPCRECT lpRect);

Parametri

lpRect
Punta a un oggetto o RECT a una CRect struttura che contiene le coordinate client del rettangolo da rimuovere dall'area di aggiornamento. Se lpRect è NULL, l'intera finestra viene convalidata.

Osservazioni:

La BeginPaint funzione membro convalida automaticamente l'intera area client. Non è necessario chiamare né la ValidateRectValidateRgn funzione membro né se una parte dell'area di aggiornamento deve essere convalidata prima WM_PAINT della successiva generazione.

Windows continua a generare WM_PAINT messaggi fino a quando non viene convalidata l'area di aggiornamento corrente.

CWnd::ValidateRgn

Convalida l'area client all'interno dell'area specificata rimuovendo l'area dall'area di aggiornamento corrente della finestra.

void ValidateRgn(CRgn* pRgn);

Parametri

pRgn
Puntatore a un CRgn oggetto che identifica un'area che definisce l'area da rimuovere dall'area di aggiornamento. Se questo parametro è NULL, l'intera area client viene rimossa.

Osservazioni:

L'area specificata deve essere stata creata in precedenza da una funzione di area. Si presuppone che le coordinate dell'area siano coordinate client.

La BeginPaint funzione membro convalida automaticamente l'intera area client. Non è necessario chiamare né la ValidateRectValidateRgn funzione membro né se una parte dell'area di aggiornamento deve essere convalidata prima che venga generato il messaggio successivo WM_PAINT .

CWnd::WindowFromPoint

Recupera la finestra contenente il punto specificato; point deve specificare le coordinate dello schermo di un punto sullo schermo.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parametri

point
Specifica un oggetto o POINT una CPoint struttura di dati che definisce il punto da controllare.

Valore restituito

Puntatore all'oggetto finestra in cui si trova il punto. È NULL se non esiste alcuna finestra nel punto specificato. Il puntatore restituito può essere temporaneo e non deve essere archiviato per un uso successivo.

Osservazioni:

WindowFromPoint non recupera una finestra nascosta o disabilitata, anche se il punto si trova all'interno della finestra. Un'applicazione deve usare la ChildWindowFromPoint funzione membro per una ricerca nonstrittiva.

CWnd::WindowProc

Fornisce una routine di Windows (WindowProc) per un CWnd oggetto .

virtual LRESULT WindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parametri

message
Specifica il messaggio di Windows da elaborare.

wParam
Fornisce informazioni aggiuntive utilizzate per l'elaborazione del messaggio. Il valore del parametro dipende dal messaggio.

lParam
Fornisce informazioni aggiuntive utilizzate per l'elaborazione del messaggio. Il valore del parametro dipende dal messaggio.

Valore restituito

Il valore restituito dipende dal messaggio.

Osservazioni:

Invia messaggi tramite la mappa dei messaggi della finestra.

CWnd::WinHelp

Chiamata eseguita per avviare l'applicazione WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parametri

dwData
Specifica dati aggiuntivi. Il valore utilizzato dipende dal valore del nCmd parametro .

nCmd
Specifica il tipo di Guida richiesto. Per un elenco dei valori possibili e del modo in cui influiscono sul dwData parametro, vedere la WinHelp funzione di Windows in Windows SDK.

Osservazioni:

Per altre informazioni, vedere CWinApp::WinHelp.

CWnd::RegisterTouchWindow

Registra o annulla la registrazione del supporto tocco di Windows.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parametri

bRegister
TRUE indica registrare il supporto tocco di Windows; FALSE Altrimenti.

ulFlags
Set di flag di bit che specificano modifiche facoltative. Questo campo può contenere 0 o uno dei valori seguenti: TWF_FINETOUCH, TWF_WANTPALM.

Valore restituito

TRUE se l'esito è positivo; in caso contrario, FALSE.

Osservazioni:

CWnd::ResizeDynamicLayout

Chiamata eseguita dal framework quando le dimensioni della finestra cambiano per adattare il layout delle finestre figlio, se il layout dinamico è abilitato per la finestra.

virtual void ResizeDynamicLayout();

Osservazioni:

Vedi anche

CCmdTarget Classe
Grafico della gerarchia
CFrameWnd Classe
CView Classe