Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Classe
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 OnMessage CWnd 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à
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_SELF (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_VISIBLECrea una finestra inizialmente visibile. Obbligatorio se si desidera che il controllo sia visibile immediatamente, ad esempio le finestre normali.WS_DISABLEDCrea 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_BORDERCrea una finestra con un bordo sottile. Può essere impostato se il controllo dispone di unaBorderStyleproprietà .WS_GROUPSpecifica 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 loWS_GROUPstile dopo il primo controllo appartengono allo stesso gruppo. Il controllo successivo con lo stile termina ilWS_GROUPgruppo e avvia il gruppo successivo.WS_TABSTOPSpecifica 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 delloWS_TABSTOPstile.
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_READWRITEFile di dati di lettura/scrittura senza attributi aggiuntivi.DDL_READONLYFile di sola lettura.DDL_HIDDENFile nascosti.DDL_SYSTEMFile di sistema.DDL_DIRECTORYDirectory.DDL_ARCHIVEArchivio.DDL_POSTMSGSLB_DIRbandiera. Se ilLB_DIRflag è impostato, Windows inserisce i messaggi generati daDlgDirListnella coda dell'applicazione; in caso contrario, vengono inviati direttamente alla routine della finestra di dialogo.DDL_DRIVESUnità. Se ilDDL_DRIVESflag è impostato, ilDDL_EXCLUSIVEflag viene impostato automaticamente. Pertanto, per creare un elenco di directory che include unità e file, è necessario chiamareDlgDirListdue volte: una volta con ilDDL_DRIVESflag impostato e una volta con i flag per il resto dell'elenco.DDL_EXCLUSIVEBit 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_READWRITEFile di dati di lettura/scrittura senza attributi aggiuntivi.DDL_READONLYFile di sola lettura.DDL_HIDDENFile nascosti.DDL_SYSTEMFile di sistema.DDL_DIRECTORYDirectory.DDL_ARCHIVEArchivio.DDL_POSTMSGSCB_DIRbandiera. Se ilCB_DIRflag è impostato, Windows inserisce i messaggi generati daDlgDirListComboBoxnella coda dell'applicazione; in caso contrario, vengono inviati direttamente alla routine della finestra di dialogo.DDL_DRIVESUnità. Se ilDDL_DRIVESflag è impostato, ilDDL_EXCLUSIVEflag viene impostato automaticamente. Pertanto, per creare un elenco di directory che include unità e file, è necessario chiamareDlgDirListComboBoxdue volte: una volta con ilDDL_DRIVESflag impostato e una volta con i flag per il resto dell'elenco.DDL_EXCLUSIVEBit 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 didascalia della finestra 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 didascalia della finestra.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parametri
pDC
Puntatore a un contesto di dispositivo. La funzione disegna la didascalia della finestra in questo contesto di dispositivo.
lprc
Puntatore a una RECT struttura che specifica il rettangolo di delimitazione per la didascalia della finestra.
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_BOTHAbilita o disabilita le frecce delle barre di scorrimento orizzontali e verticali associate alla finestra.SB_HORZAbilita o disabilita le frecce della barra di scorrimento orizzontale associata alla finestra.SB_VERTAbilita 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_BOTHAbilita entrambe le frecce di una barra di scorrimento (impostazione predefinita).ESB_DISABLE_LTUPDisabilita la freccia sinistra di una barra di scorrimento orizzontale o la freccia su di una barra di scorrimento verticale.ESB_DISABLE_RTDNDisabilita la freccia destra di una barra di scorrimento orizzontale o la freccia giù di una barra di scorrimento verticale.ESB_DISABLE_BOTHDisabilita 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 Suggerimenti per gli strumenti.
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 di 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 di suggerimenti per gli strumenti.
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 didascalia della finestra è 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_CACHERestituisce un contesto di dispositivo dalla cache anziché dallaOWNDCfinestra oCLASSDC. Esegue l'override diCS_OWNDCeCS_CLASSDC.DCX_CLIPCHILDRENEsclude le aree visibili di tutte le finestre figlio sotto laCWndfinestra.DCX_CLIPSIBLINGSEsclude le aree visibili di tutte le finestre di pari livello sopra laCWndfinestra.DCX_EXCLUDERGNEsclude l'area di ritaglio identificata dall'areaprgnClipvisibile del contesto di dispositivo restituito.DCX_INTERSECTRGNInterseca l'area di ritaglio identificata dall'areaprgnClipvisibile del contesto di dispositivo restituito.DCX_LOCKWINDOWUPDATEConsente il disegno anche se esiste unaLockWindowUpdatechiamata 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 eWS_PARENTDCdellaWS_CLIPCHILDRENfinestra padre. Questo valore imposta l'origine del contesto di dispositivo sull'angolo superiore sinistro dellaCWndfinestra.DCX_WINDOWRestituisce 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_OWNDC né CS_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 CWnd CWnd è 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 NULL CWnd 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_HORZRecupera la posizione della barra di scorrimento orizzontale.SB_VERTRecupera 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_CTLRecupera i parametri per un controllo barra di scorrimento. Ilm_hWndmembro dati deve essere l'handle del controllo barra di scorrimento.SB_HORZRecupera i parametri per la barra di scorrimento orizzontale standard della finestra.SB_VERTRecupera 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_HORZRecupera il limite di scorrimento della barra di scorrimento orizzontale.SB_VERTRecupera 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_HORZRecupera la posizione della barra di scorrimento orizzontale.SB_VERTRecupera 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_HORZRecupera la posizione della barra di scorrimento orizzontale.SB_VERTRecupera 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:
SIMPLEREGIONL'area non ha bordi sovrapposti.COMPLEXREGIONL'area ha bordi sovrapposti.NULLREGIONL'area è vuota.ERRORNessuna 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_CHILDIdentifica laCWndprima finestra figlio.GW_HWNDFIRSTSeCWndè una finestra figlio, restituisce la prima finestra di pari livello. In caso contrario, restituisce la prima finestra di primo livello nell'elenco.GW_HWNDLASTSeCWndè una finestra figlio, restituisce l'ultima finestra di pari livello. In caso contrario, restituisce l'ultima finestra di primo livello nell'elenco.GW_HWNDNEXTRestituisce la finestra successiva dell'elenco di Gestione finestre.GW_HWNDPREVRestituisce la finestra precedente nell'elenco di Gestione finestre.GW_OWNERIdentifica ilCWndproprietario.
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, tra cui barra della didascalia, 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 usata per recuperare le dimensioni di varie parti dell'area non client, ad esempio la barra della 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:
NULLREGIONL'area è vuota.SIMPLEREGIONL'area è un singolo rettangolo.COMPLEXREGIONL'area è più di un rettangolo.ERRORSi è 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 titolo della CWnd 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 alcuna didascalia o se la didascalia è vuota.
Osservazioni:
Se l'oggetto CWnd è un controllo, la GetWindowText funzione membro copia il testo all'interno del controllo anziché copiare la 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 del titolo della didascalia dell'oggetto CWnd .
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_BYCOMMANDnIDHiliteItemInterpreta come ID voce di menu (interpretazione predefinita).MF_BYPOSITIONnIDHiliteItemInterpreta come offset in base zero della voce di menu.MF_HILITEEvidenzia l'elemento. Se questo valore non viene specificato, l'evidenziazione viene rimossa dall'elemento.MF_UNHILITERimuove 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 contenente un messaggio e una didascalia forniti dall'applicazione, oltre a una combinazione delle icone predefinite e dei pulsanti di scelta rapida 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 didascalia della finestra di messaggio. Se lpszCaption è NULL, viene usata la didascalia predefinita "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:
| Icon | Macro |
|---|---|
![]() |
MB_ICONHAND, MB_ICONSTOP e MB_ICONERROR |
![]() |
MB_ICONQUESTION |
![]() |
MB_ICONEXCLAMATION e MB_ICONWARNING |
![]() |
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_NOSIZEMantiene le dimensioni correnti.SWP_NOMOVEMantiene la posizione corrente.SWP_NOZORDERMantiene l'ordine Z corrente.SWP_NOACTIVATENon 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_NOSIZEMantiene le dimensioni correnti.SWP_NOMOVEMantiene la posizione corrente.SWP_NOZORDERMantiene l'ordine Z corrente.SWP_NOACTIVATENon 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_INACTIVELa finestra viene disattivata.WA_ACTIVELa finestra viene attivata tramite un metodo diverso da un clic del mouse, ad esempio usando l'interfaccia della tastiera per selezionare la finestra.WA_CLICKACTIVELa 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 se non.
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_CLEARL'elemento dello stato dell'interfaccia utente (specificato danUIElement) deve essere nascosto.UIS_INITIALIZEL'elemento dello stato dell'interfaccia utente (specificato danUIElement) deve essere modificato in base all'ultimo evento di input. Per altre informazioni, vedere la sezione Osservazioni diWM_CHANGEUISTATE.UIS_SETL'elemento dello stato dell'interfaccia utente (specificato danUIElement) 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_HIDEACCELTasti di scelta rapida.UISF_HIDEFOCUSIndicatori di stato attivo.UISF_ACTIVEWindows 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_BTNControllo PulsanteCTLCOLOR_DLGFinestra di dialogoCTLCOLOR_EDITModifica controlloCTLCOLOR_LISTBOXControllo Casella di riepilogoCTLCOLOR_MSGBOXFinestra di messaggioCTLCOLOR_SCROLLBARControllo barra di scorrimentoCTLCOLOR_STATICControllo 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:
DBT_DEVICEARRIVALUn dispositivo è stato inserito ed è ora disponibile.DBT_DEVICEQUERYREMOVEÈ richiesta l'autorizzazione per rimuovere un dispositivo. Qualsiasi applicazione può negare questa richiesta e annullare la rimozione.DBT_DEVICEQUERYREMOVEFAILEDLa richiesta di rimozione di un dispositivo è stata annullata.DBT_DEVICEREMOVEPENDINGIl dispositivo sta per essere rimosso. Non può essere negato.DBT_DEVICEREMOVECOMPLETEIl dispositivo è stato rimosso.DBT_DEVICETYPESPECIFICEvento specifico del dispositivo.DBT_CONFIGCHANGEDLa configurazione corrente è stata modificata.DBT_DEVNODES_CHANGEDIl nodo del dispositivo è stato modificato.
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_DIALOGBOXIl sistema è inattiva perché viene visualizzata una finestra di dialogo.MSGF_MENUIl 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_BUTTONPulsante (generico).DLGC_DEFPUSHBUTTONPulsante di scelta predefinito.DLGC_HASSETSELEM_SETSELMessaggi.DLGC_UNDEFPUSHBUTTONNessuna elaborazione pushbutton predefinita. Un'applicazione può usare questo flag conDLGC_BUTTONper indicare che elabora l'input del pulsante, ma si basa sul sistema per l'elaborazione del pulsante di scelta predefinita.DLGC_RADIOBUTTONPulsante di opzione.DLGC_STATICControllo statico.DLGC_WANTALLKEYSTutti gli input da tastiera.DLGC_WANTARROWSTasti di direzione.DLGC_WANTCHARSWM_CHARMessaggi.DLGC_WANTMESSAGETutti gli input da tastiera. L'applicazione passa questo messaggio al controllo .DLGC_WANTTABTASTO 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_LEFTScorrere fino a sinistra.SB_ENDSCROLLScorrere alla fine.SB_LINELEFTScorrere verso sinistra.SB_LINERIGHTScorrere verso destra.SB_PAGELEFTScorrere una pagina a sinistra.SB_PAGERIGHTScorrere una pagina a destra.SB_RIGHTScorrere fino a destra.SB_THUMBPOSITIONScorrere fino alla posizione assoluta. La posizione corrente viene specificata dalnPosparametro .SB_THUMBTRACKTrascinare la casella di scorrimento nella posizione specificata. La posizione corrente viene specificata dalnPosparametro .
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_BOTTOMScorrere verso il basso a destra.SB_ENDSCROLLScorrere alla fine.SB_LINEDOWNScorrere una riga verso il basso.SB_LINEUPScorrere una riga verso l'alto.SB_PAGEDOWNScorrere una pagina verso il basso.SB_PAGEUPScorrere verso l'alto una pagina verso l'alto.SB_THUMBPOSITIONScorrere fino alla posizione assoluta. La posizione corrente viene specificata innPos.SB_TOPScorrere 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_FORWARD e 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_DBLCLKS WNDCLASS 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_DBLCLKS WNDCLASS 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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 una barra della didascalia, 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 CComboBox CListBox , 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_BITMAPL'elemento è una bitmap.MF_CHECKEDL'elemento è selezionato.MF_DISABLEDL'elemento è disabilitato.MF_GRAYEDL'elemento è in grigio.MF_MOUSESELECTL'elemento è stato selezionato con un mouse.MF_OWNERDRAWL'elemento è un elemento di disegno proprietario.MF_POPUPL'elemento contiene un menu a comparsa.MF_SEPARATORL'elemento è un separatore di voci di menu.MF_SYSMENUL'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_SYSMENU MF_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_ACTIVATEAttivare l'oggettoCWnd.MA_NOACTIVATENon attivare l'oggettoCWnd.MA_ACTIVATEANDEATAttivareCWndl'oggetto e rimuovere l'evento del mouse.MA_NOACTIVATEANDEATNon attivare l'oggettoCWnde 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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 della didascalia per indicare uno stato attivo o inattivo. Il bActive parametro è TRUE se deve essere disegnata una didascalia o un'icona attiva. Si tratta FALSE di una 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 della 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 bActive bActive è 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 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 neiWM_NOTIFYmessaggi. Questo messaggio viene inviato da un controllo alla relativa finestra padre durante la creazione di un controllo e in risposta allaNF_REQUERYforma di questo messaggio.NF_REQUERY- Il messaggio è una richiesta di un controllo per inviare ilNF_QUERYmodulo 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 neiWM_NOTIFYmessaggi. Se ilnCommandparametro è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_CREATEViene creata la finestra figlio.WM_DESTROYLa finestra figlio viene distrutta.WM_LBUTTONDOWNL'utente ha posizionato il cursore del mouse sulla finestra figlio e ha fatto clic sul pulsante sinistro del mouse.WM_MBUTTONDOWNL'utente ha posizionato il cursore del mouse sulla finestra figlio e ha fatto clic sul pulsante centrale del mouse.WM_RBUTTONDOWNL'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_HIDEFOCUSGli indicatori di stato attivo sono nascosti.UISF_HIDEACCELI tasti di scelta rapida sono nascosti.UISF_ACTIVEWindows 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_RBUTTONImpostare se il pulsante destro del mouse è inattivo.MK_SHIFTImpostare 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_CONTROLImpostare se il tasto CTRL è inattivo.MK_LBUTTONImpostare se il pulsante sinistro del mouse è inattivo.MK_MBUTTONImpostare se il pulsante centrale del mouse è inattivo.MK_SHIFTImpostare 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_SETTINGCHANGEquando si esegue Windows NT 4.0 o versione successiva o in Windows 95/98.Usare
ON_WININICHANGEquando 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_PARENTCLOSINGLa finestra padre sta chiudendo (resa iconica) o viene nascosta una finestra popup.SW_PARENTOPENINGLa 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_MAXIMIZEDFinestra ingrandita.SIZE_MINIMIZEDLa finestra è stata ridotta a icona.SIZE_RESTOREDLa finestra è stata ridimensionata, ma nonSIZE_MINIMIZEDè néSIZE_MAXIMIZEDapplicabile.SIZE_MAXHIDEIl messaggio viene inviato a tutte le finestre popup quando un'altra finestra è ingrandita.SIZE_MAXSHOWIl 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_EXSTYLEGli stili estesi della finestra sono stati modificati.GWL_STYLEGli 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_EXSTYLEGli stili estesi della finestra sono stati modificati.GWL_STYLEGli 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_CLOSEChiudere l'oggettoCWnd.SC_HOTKEYAttivare l'oggettoCWndassociato al tasto di scelta rapida specificato dall'applicazione. La parola di ordine basso dilParamidentifica l'oggettoHWNDdella finestra da attivare.SC_HSCROLLScorrere orizzontalmente.SC_KEYMENURecuperare un menu tramite una sequenza di tasti.SC_MAXIMIZE(oSC_ZOOM) Ingrandire l'oggettoCWnd.SC_MINIMIZE(oSC_ICON) Ridurre al minimo l'oggettoCWnd.SC_MOUSEMENURecuperare un menu tramite un clic del mouse.SC_MOVESpostare l'oggettoCWnd.SC_NEXTWINDOWPassare alla finestra successiva.SC_PREVWINDOWPassare alla finestra precedente.SC_RESTORERipristinare la posizione e le dimensioni normali della finestra.SC_SCREENSAVEEsegue l'applicazione screen saver specificata nella sezione [boot] delSYSTEM.INIfile.SC_SIZERidimensionare l'oggettoCWnd.SC_TASKLISTEseguire o attivare l'applicazione Gestione attività di Windows.SC_VSCROLLScorrere 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_HOTKEYAttivare la finestra associata al tasto di scelta rapida specificato dall'applicazione. La parola in ordine basso dilParamidentifica 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:
| Sequenza | 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:
IDABORTL'utente ha fatto clic su un pulsante di interruzione modificabile.IDCANCELL'utente ha fatto clic su un pulsante Annulla modificabile.IDCLOSEL'utente ha chiuso la scheda di training.IDHELPL'utente ha fatto clic su un pulsante della Guida di Windows modificabile.IDIGNOREL'utente ha fatto clic su un pulsante Ignora modificabile.IDOKL'utente ha fatto clic su un pulsante OK modificabile.IDNOL'utente ha fatto clic su un pulsante No modificabile.IDRETRYL'utente ha fatto clic su un pulsante Riprova modificabile.HELP_TCARD_DATAL'utente ha fatto clic su un pulsante modificabile. IldwActionDataparametro contiene un numero intero lungo specificato dall'autore della Guida.HELP_TCARD_NEXTL'utente ha fatto clic su un pulsante Avanti modificabile.HELP_TCARD_OTHER_CALLERUn'altra applicazione ha richiesto schede di training.IDYESL'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_hWndHandle in una finestrauId=(UINT)hWndChildHandle in una finestra figliouFlags|=TTF_IDISHWNDHandle dello strumentolpszText=LPSTR_TEXTCALLBACKPuntatore 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_CLEARL'elemento dello stato dell'interfaccia utente (specificato danUIElement) deve essere nascosto.UIS_INITIALIZEL'elemento dello stato dell'interfaccia utente (specificato danUIElement) deve essere modificato in base all'ultimo evento di input. Per altre informazioni, vedere la sezione Osservazioni diWM_UPDATEISTATE.UIS_SETL'elemento dello stato dell'interfaccia utente (specificato danUIElement) 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_HIDEACCELTasti di scelta rapida.UISF_HIDEFOCUSIndicatori di stato attivo.UISF_ACTIVEWindows 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_BOTTOMScorrere verso il basso.SB_ENDSCROLLScorrere alla fine.SB_LINEDOWNScorrere una riga verso il basso.SB_LINEUPScorrere una riga verso l'alto.SB_PAGEDOWNScorrere una pagina verso il basso.SB_PAGEUPScorrere verso l'alto una pagina verso l'alto.SB_THUMBPOSITIONScorrere fino alla posizione assoluta. La posizione corrente viene specificata innPos.SB_THUMBTRACKTrascinare la casella di scorrimento nella posizione specificata. La posizione corrente viene specificata innPos.SB_TOPScorrere 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_BOTTOMScorrere verso il basso.SB_ENDSCROLLScorrere alla fine.SB_LINEDOWNScorrere una riga verso il basso.SB_LINEUPScorrere una riga verso l'alto.SB_PAGEDOWNScorrere una pagina verso il basso.SB_PAGEUPScorrere verso l'alto una pagina verso l'alto.SB_THUMBPOSITIONScorrere fino alla posizione assoluta. La posizione corrente viene specificata innPos.SB_TOPScorrere 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; in caso contrario FALSE.
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_CHECKVISIBLEDisegnare la finestra solo se è visibile.PRF_CHILDRENDisegnare tutte le finestre figlio visibili.PRF_CLIENTDisegnare l'area client della finestra.PRF_ERASEBKGNDCancellare lo sfondo prima di disegnare la finestra.PRF_NONCLIENTDisegnare l'area non client della finestra.PRF_OWNEDDisegnare tutte le finestre di proprietà.
Osservazioni:
CWnd::DefWindowProc funzione elabora questo messaggio in base all'opzione di disegno specificata:
Se
PRF_CHECKVISIBLEviene specificato e la finestra non è visibile, non eseguire alcuna operazione.Se
PRF_NONCLIENTviene specificato, disegnare l'area non client nel contesto di dispositivo specificato.Se
PRF_ERASEBKGNDviene specificato, inviare alla finestra unWM_ERASEBKGNDmessaggio.Se
PRF_CLIENTviene specificato, inviare alla finestra unWM_PRINTCLIENTmessaggio.Se
PRF_CHILDRENè impostato, inviare a ogni finestra figlio visibile unWM_PRINTmessaggio.Se
PRF_OWNEDè impostato, inviare a ogni finestra di proprietà visibile unWM_PRINTmessaggio.
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_CHECKVISIBLEDisegnare la finestra solo se è visibile.PRF_CHILDRENDisegnare tutte le finestre figlio visibili.PRF_CLIENTDisegnare l'area client della finestra.PRF_ERASEBKGNDCancellare lo sfondo prima di disegnare la finestra.PRF_NONCLIENTDisegnare l'area non client della finestra.PRF_OWNEDDisegnare 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
Aggiorna 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 prgnUpdate lpRectUpdate sono NULL, l'intera area client viene aggiunta all'area di aggiornamento.
flags
Per invalidare la finestra vengono usati i flag seguenti:
RDW_ERASEFa in modo che la finestra riceva unWM_ERASEBKGNDmessaggio quando la finestra viene aggiornata. È inoltre necessario specificare il flag. InRDW_INVALIDATEcaso contrario, RDW_ERASE non ha alcun effetto.RDW_FRAMEDetermina la ricezione di unWM_NCPAINTmessaggio da parte dell'area non client della finestra che interseca l'area di aggiornamento. È inoltre necessario specificare il flag. InRDW_INVALIDATEcaso contrarioRDW_FRAME, non ha alcun effetto.RDW_INTERNALPAINTDetermina la pubblicazione di unWM_PAINTmessaggio nella finestra indipendentemente dal fatto che la finestra contenga un'area non valida.RDW_INVALIDATEInvalidarelpRectUpdateoprgnUpdate(solo uno potrebbe nonNULLessere ). Se entrambi sonoNULL, l'intera finestra viene invalidata.
Per convalidare la finestra vengono usati i flag seguenti:
RDW_NOERASEElimina tutti i messaggi in sospesoWM_ERASEBKGND.RDW_NOFRAMEElimina tutti i messaggi in sospesoWM_NCPAINT. Questo flag deve essere usato conRDW_VALIDATEe viene in genere usato conRDW_NOCHILDREN. Questa opzione deve essere usata con attenzione, in quanto potrebbe impedire che parti di una finestra dipingano correttamente.RDW_NOINTERNALPAINTElimina eventuali messaggi interni inWM_PAINTsospeso. Questo flag non influisce suiWM_PAINTmessaggi risultanti da aree non valide.RDW_VALIDATElpRectUpdateConvalida oprgnUpdate(solo uno potrebbe nonNULLessere ). Se entrambi sonoNULL, l'intera finestra viene convalidata. Questo flag non influisce sui messaggi interniWM_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_ERASENOWFa sì che le finestre interessate (come specificato daiRDW_ALLCHILDRENflag eRDW_NOCHILDREN) ricevanoWM_NCPAINTeWM_ERASEBKGND, se necessario, prima che la funzione restituisca.WM_PAINTi messaggi vengono posticipati.RDW_UPDATENOWFa sì che le finestre interessate (come specificato daiRDW_ALLCHILDRENflag eRDW_NOCHILDREN) ricevanoWM_NCPAINT, se necessario, i messaggi ,WM_ERASEBKGNDeWM_PAINTprima 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_ALLCHILDRENInclude le finestre figlio, se presenti, nell'operazione di riproduzione.RDW_NOCHILDRENEsclude 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::reposDefaultEsegue il layout delle barre di controllo.lpRectParamnon viene usato e può essereNULL.CWnd::reposQueryIl layout delle barre di controllo non viene eseguito; viene invecelpRectParaminizializzato con le dimensioni dell'area client, come se il layout fosse stato effettivamente eseguito.CWnd::reposExtraAggiunge i valori dilpRectParamall'area client dinIDLasted 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_NOIDLEMSGNon inviareWM_ENTERIDLEmessaggi all'elemento padre.MLF_NOKICKIDLENon inviareWM_KICKIDLEmessaggi alla finestra.MLF_SHOWONIDLEMostra 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 ContinueModal FALSE 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_ERASESe specificato conSW_INVALIDATE, cancella l'area appena invalidata inviando unWM_ERASEBKGNDmessaggio alla finestra.SW_INVALIDATEInvalida l'area identificata daprgnUpdatedopo lo scorrimento.SW_SCROLLCHILDRENScorre tutte le finestre figlio che intersecano il rettangolo alpRectScrollcui punta il numero di pixel specificato indxedy. Windows invia unWM_MOVEmessaggio a tutte le finestre figlio che intersecanolpRectScroll, 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 la 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_CTLContiene i parametri per un controllo barra di scorrimento. Ilm_hWndmembro dati deve essere l'handle del controllo barra di scorrimento.SB_HORZSpecifica che la finestra è una barra di scorrimento orizzontale.SB_VERTSpecifica 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_HORZImposta la posizione della casella di scorrimento nella barra di scorrimento orizzontale della finestra.SB_VERTImposta 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 bRedraw FALSE è 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_HORZImposta l'intervallo della barra di scorrimento orizzontale della finestra.SB_VERTImposta 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:
wndBottomPosiziona la finestra nella parte inferiore dell'ordine Z. Se si trattaCWnddi una finestra in alto, la finestra perde lo stato più alto; il sistema posiziona la finestra nella parte inferiore di tutte le altre finestre.wndTopPosiziona la finestra nella parte superiore dell'ordine Z.wndTopMostPosiziona la finestra sopra tutte le finestre non più in alto. La finestra mantiene la posizione superiore anche quando viene disattivata.wndNoTopMostRiposiziona 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_DRAWFRAMEDisegna una cornice (definita al momento della creazione della finestra) intorno alla finestra.SWP_FRAMECHANGEDInvia unWM_NCCALCSIZEmessaggio alla finestra, anche se le dimensioni della finestra non vengono modificate. Se questo flag non viene specificato,WM_NCCALCSIZEviene inviato solo quando vengono modificate le dimensioni della finestra.SWP_HIDEWINDOWNasconde la finestra.SWP_NOACTIVATENon 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 delpWndInsertAfterparametro).SWP_NOCOPYBITSRimuove 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_NOMOVEMantiene la posizione corrente (ignora ixparametri ey).SWP_NOOWNERZORDERNon modifica la posizione della finestra del proprietario nell'ordine Z.SWP_NOREDRAWNon 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 aSWP_NOOWNERZORDER.SWP_NOSENDCHANGINGImpedisce alla finestra di ricevere ilWM_WINDOWPOSCHANGINGmessaggio.SWP_NOSIZEMantiene le dimensioni correnti (ignora icxparametri ecy).SWP_NOZORDERMantiene l'ordinamento corrente (ignorapWndInsertAfter).SWP_SHOWWINDOWVisualizza 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_NOACTIVATE né SWP_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:
Né
&wndTopMostné è&wndNoTopMostspecificato nelpWndInsertAfterparametro .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 bRedraw TRUE 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_BOTHSpecifica le barre di scorrimento orizzontali e verticali della finestra.SB_HORZSpecifica che la finestra è una barra di scorrimento orizzontale.SB_VERTSpecifica 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_HIDENasconde questa finestra e passa l'attivazione a un'altra finestra.SW_MINIMIZERiduce a icona la finestra e attiva la finestra di primo livello nell'elenco del sistema.SW_RESTOREAttiva e visualizza la finestra. Se la finestra è ridotta a icona o ingrandita, Windows lo ripristina alla dimensione e alla posizione originali.SW_SHOWAttiva la finestra e la visualizza nella dimensione e nella posizione correnti.SW_SHOWMAXIMIZEDAttiva la finestra e la visualizza come finestra ingrandita.SW_SHOWMINIMIZEDAttiva la finestra e la visualizza come icona.SW_SHOWMINNOACTIVEVisualizza la finestra come icona. La finestra attualmente attiva rimane attiva.SW_SHOWNAVisualizza la finestra nello stato corrente. La finestra attualmente attiva rimane attiva.SW_SHOWNOACTIVATEVisualizza la finestra nella dimensione e nella posizione più recenti. La finestra attualmente attiva rimane attiva.SW_SHOWNORMALAttiva 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
Aggiorna l'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 ValidateRect ValidateRgn 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 ValidateRect ValidateRgn 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



