CWnd-Klasse

Stellt die Basisfunktionalität aller Fensterklassen der Microsoft Foundation Class-Bibliothek bereit.

Syntax

class CWnd : public CCmdTarget

Member

Öffentliche Konstruktoren

Name Beschreibung
CWnd::CWnd Erstellt ein CWnd-Objekt.

Öffentliche Methoden

Name Beschreibung
CWnd::accDoDefaultAction Wird durch das Framework aufgerufen, um die Standardaktion des Objekts auszuführen.
CWnd::accHitTest Wird durch das Framework aufgerufen, um das untergeordnete Element oder untergeordnete Objekt an einem bestimmten Punkt auf dem Bildschirm abzurufen.
CWnd::accLocation Wird durch das Framework aufgerufen, um die aktuelle Bildschirmposition des angegebenen Objekts abzurufen.
CWnd::accNavigate Wird durch das Framework aufgerufen, um zu einem anderen Benutzer-Schnittstellenelement innerhalb eines Containers zu gelangen und wenn möglich, das Objekt abzurufen.
CWnd::accSelect Wird durch das Framework aufgerufen, um die Auswahl zu ändern oder den Tastaturfokus des angegebenen Objekts zu verschieben.
CWnd::AnimateWindow Animiert das zugeordnete Fensterobjekt.
CWnd::ArrangeIconicWindows Ordnet alle minimierten untergeordneten Fenster (Symbole).
CWnd::Attach Fügt ein Windows-Handle zu einem CWnd-Objekt hinzu.
CWnd::BeginModalState Rufen Sie diese Memberfunktion auf, um ein Framefenster modal zu machen.
CWnd::BeginPaint Bereit CWnd für die Zeichnung vor.
CWnd::BindDefaultProperty Bindet die standardmäßige einfache gebundene Eigenschaft des aufrufenden Objekts gemäß der Markierung in der Typenbibliothek an einen Cursor, der mit dem Datenquellen-Steuerelement verknüpft ist.
CWnd::BindProperty Bindet eine cursorgebundene Eigenschaft auf einem datengebundenen Steuerelement mit einem Datenquellen-Steuerelement und registriert diese Beziehung mit dem MFC-Bindungs-Manager.
CWnd::BringWindowToTop Bringt CWnd nach oben im Stapel überlappender Fenster.
CWnd::CalcWindowRect Wird aufgerufen, um das Fensterrechtecke aus dem Clientrechteck zu berechnen.
CWnd::CancelToolTips Deaktiviert das QuickInfo-Steuerelement.
CWnd::CenterWindow Zentriert ein Fenster relativ zu dessen übergeordnetem Element.
CWnd::ChangeClipboardChain Entfernt CWnd aus der Kette der Zwischenablageansichten.
CWnd::CheckDlgButton Setzt ein Häkchen neben einem Schaltflächensteuerelement oder entfernt ein Häkchen aus einem Schaltflächensteuerelement.
CWnd::CheckRadioButton Überprüft das angegebene Optionsfeld und entfernt das Häkchen aus allen anderen Optionsfeldern in der angegebenen Gruppe der Schaltflächen.
CWnd::ChildWindowFromPoint Ermittelt welches der untergeordneten Fenster ggf. den angegebenen Punkt enthält.
CWnd::ClientToScreen Konvertiert die Clientkoordinaten eines bestimmten Punkts oder Rechtecks auf der Anzeige zu Bildschirmkoordinaten.
CWnd::CloseWindow Minimiert das Fenster.
CWnd::ContinueModal Setzt den modalen Status eines Fensters fort.
CWnd::Create Erstellt und initialisiert das untergeordnete Fenster, das mit dem CWnd-Objekt verknüpft ist.
CWnd::CreateAccessibleProxy Erstellt einen Active Accessibility-Proxy für das angegebene Objekt.
CWnd::CreateCaret Erstellt eine neue Form für den Systemzeiger und ruft die Inhaberschaft des Caretzeichens ab.
CWnd::CreateControl Erstellt ein ActiveX-Steuerelement, das in einem MFC-Programm durch ein CWnd-Objekt dargestellt wird.
CWnd::CreateEx Erstellt ein überlapptes, Popup- oder untergeordnetes Fenster von Windows und fügt es an ein CWnd-Objekt an.
CWnd::CreateGrayCaret Erstellt einen grauen Block für den Systemzeiger und ruft die Inhaberschaft des Caretzeichens ab.
CWnd::CreateSolidCaret Erstellt einen durchgezogenen Block für den Systemzeiger und ruft die Inhaberschaft des Caretzeichens ab.
CWnd::DeleteTempMap Wird automatisch durch den CWinApp-Leerlaufzeithandler aufgerufen, wobei durch FromHandle erstellte temporäre CWnd-Objekte gelöscht werden.
CWnd::DestroyWindow Zerstört das angefügte Windows-Fenster.
CWnd::Detach Trennt ein Windows-Handle von einem CWnd-Objekt und gibt das Handle zurück.
CWnd::DlgDirList Füllt ein Listenfeld mit einer Datei- oder Verzeichnisauflistung auf.
CWnd::DlgDirListComboBox Füllt das Listenfeld eines Kombinationsfelds mit einer Datei- oder Verzeichnisauflistung auf.
CWnd::DlgDirSelect Ruft die aktuelle Auswahl aus einem Listenfeld ab.
CWnd::DlgDirSelectComboBox Ruft die neueste Auswahl aus dem Listenfeld von einem Kombinationsfeld ab.
CWnd::DragAcceptFiles Gibt an, dass das Fenster gezogene Dateien akzeptiert.
CWnd::DragDetect Erfasst die Maus und zeichnet ihre Bewegung auf, bis der Benutzer die linke Maustaste loslässt, die ESC-Taste drückt oder die Maus so bewegt, dass sie sich außerhalb des Ziehrechtecks um den angegebenen Punkt herum befindet.
CWnd::DrawAnimatedRects Zeichnet ein Drahtrahmenrechteck und animiert es, um das Öffnen eines Symbols oder das Minimieren bzw. Maximieren eines Fensters anzudeuten.
CWnd::DrawCaption Zeichnet eine Beschriftung.
CWnd::DrawMenuBar Zeichnet die Menüleiste neu.
CWnd::EnableActiveAccessibility Aktiviert benutzerdefinierte Active Accessibility-Funktionen.
CWnd::EnableDynamicLayout Ermöglicht, dass die Position und Größe von untergeordneten Fenstern automatisch angepasst werden können, wenn der Benutzer die Größe des Fensters ändert.
CWnd::EnableD2DSupport Aktiviert oder deaktiviert die Fensterunterstützung für D2D. Rufen Sie diese Methode vor der Initialisierung des Hauptfensters auf.
CWnd::EnableScrollBar Aktiviert oder deaktiviert einen oder beide Pfeile auf einer Scrollleiste.
CWnd::EnableScrollBarCtrl Aktiviert oder deaktiviert ein gleichgeordnetes Scrollleisten-Steuerelement.
CWnd::EnableToolTips Aktiviert das QuickInfo-Steuerelement.
CWnd::EnableTrackingToolTips Aktiviert das QuickInfo-Steuerelement im Überwachungsmodus.
CWnd::EnableWindow Aktiviert oder deaktiviert die Maus- und Tastatureingaben.
CWnd::EndModalLoop Beendet den modalen Status eines Fensters.
CWnd::EndModalState Rufen Sie diese Memberfunktion auf, um ein Framefenster von einem modalen in einen Status ohne Modus zu ändern.
CWnd::EndPaint Markiert das Ende der Zeichnung.
CWnd::ExecuteDlgInit Initiiert eine Dialogfeldressource.
CWnd::FilterToolTipMessage Ruft den Titel oder Text ab, der mit einem Steuerelement in einem Dialogfeld verknüpft ist.
CWnd::FindWindow Gibt das Handle für das Fenster zurück, das anhand seines Fensternamens und seiner Fensterklasse bestimmt wird.
CWnd::FindWindowEx Gibt das Handle für das Fenster zurück, das anhand seines Fensternamens und seiner Fensterklasse bestimmt wird.
CWnd::FlashWindow Bringt das Fenster einmal zum Blinken.
CWnd::FlashWindowEx Bringt das Fenster mit zusätzlicher Funktionalität zum Blinken.
CWnd::FromHandle Gibt einen Zeigt zu einem CWnd-Objekt zurück, wenn ein Handle zu einem Fenster vorhanden ist. Wenn ein CWnd Objekt nicht an das Handle angefügt ist, wird ein temporäres CWnd Objekt erstellt und angefügt.
CWnd::FromHandlePermanent Gibt einen Zeigt zu einem CWnd-Objekt zurück, wenn ein Handle zu einem Fenster vorhanden ist.
CWnd::get_accChild Wird durch das Framework aufgerufen, um die Adresse einer IDispatch-Schnittstelle für das angegebene, untergeordnete Element abzurufen.
CWnd::get_accChildCount Wird durch das Framework aufgerufen, um die Zahl der untergeordneten Elemente abzurufen, die zu diesem Objekt gehören.
CWnd::get_accDefaultAction Wird durch das Framework aufgerufen, um eine Zeichenfolge abzurufen, die die Standardaktion des Objekts beschreibt.
CWnd::get_accDescription Wird durch das Framework aufgerufen, um eine Zeichenfolge abzurufen, die die visuelle Darstellung des angegebenen Objekts beschreibt.
CWnd::get_accFocus Wird durch das Framework aufgerufen, um das Objekt abzurufen, das den Tastaturfokus hat.
CWnd::get_accHelp Vom Framework aufgerufen, um die Hilfeeigenschaftszeichenfolge eines Objekts abzurufen.
CWnd::get_accHelpTopic Wird durch das Framework aufgerufen, um den vollständigen Pfad der WinHelp-Datei abzurufen, die mit dem angegebenen Objekt verbunden ist und dem Bezeichner des passenden Themas innerhalb dieser Datei.
CWnd::get_accKeyboardShortcut Wird durch das Framework aufgerufen, um die Tastenkombination oder Zugriffstaste des angegebenen Objekts abzurufen.
CWnd::get_accName Wird durch das Framework aufgerufen, um den Namen des angegebenen Objekts abzurufen.
CWnd::get_accParent Wird durch das Framework aufgerufen, um die IDispatch-Schnittstelle des übergeordneten Elements des Objekts abzurufen.
CWnd::get_accRole Wird durch das Framework aufgerufen, um Informationen abzurufen, die die Rolle des angegebenen Objekts beschreiben.
CWnd::get_accSelection Wird durch das Framework aufgerufen, um die ausgewählten, untergeordneten Elemente dieses Objekts abzurufen.
CWnd::get_accState Wird durch das Framework aufgerufen, um den aktuellen Status des angegebenen Objekts abzurufen.
CWnd::get_accValue Wird durch das Framework aufgerufen, um den Wert des angegebenen Objekts abzurufen.
CWnd::GetActiveWindow Ruft das aktive Fenster ab.
CWnd::GetAncestor Ruft das Vorgängerfensterobjekt des angegebenen Fensters ab.
CWnd::GetCapture Ruft das von der Maus erfasste CWnd ab.
CWnd::GetCaretPos Ruft die Clientkoordinaten der aktuellen Position des Caretzeichens ab.
CWnd::GetCheckedRadioButton Gibt die ID des derzeit aktivierten Optionsfelds in einer Gruppe von Optionsfeldern zurück.
CWnd::GetClientRect Ruft die Abmessungen des CWnd-Clientbereichs ab.
CWnd::GetClipboardOwner Ruft einen Zeiger zum aktuellen Inhaber der Zwischenablage ab.
CWnd::GetClipboardViewer Ruft einen Zeiger zum ersten Fenster in einer Kette von Zwischenablageansichten ab.
CWnd::GetControlUnknown Ruft einen Zeiger zu einem unbekannten ActiveX-Steuerelement ab.
CWnd::GetDC Ruft einen Anzeigekontext für den Clientbereich ab.
CWnd::GetDCEx Ruft einen Anzeigekontext für den Clientbereich ab und aktiviert Clipping beim Zeichnen.
CWnd::GetDCRenderTarget Ruft das Renderziel des Geräts Gerätekontext (DC) für das CWnd-Fenster ab.
CWnd::GetDescendantWindow Sucht alle Nachfolgerfenster und gibt das Fenster mit der angegebenen ID zurück.
CWnd::GetDesktopWindow Ruft das Windows-Desktopfenster ab.
CWnd::GetDlgCtrlID Wenn es sich bei CWnd um ein untergeordnetes Fenster handelt, wird durch den Aufruf dieser Funktion der zugehörige ID-Wert zurückgegeben.
CWnd::GetDlgItem Ruft das Steuerelement mit der angegebenen ID aus dem angegebenen Dialogfeld ab.
CWnd::GetDlgItemInt Übersetzt den Text eines Steuerelements im angegebenen Dialogfeld in einen Ganzzahlenwert.
CWnd::GetDlgItemText Ruft die Beschriftung oder den Text ab, die bzw. der mit einem Steuerelement verknüpft ist.
CWnd::GetDSCCursor Ruft einen Zeiger zum zugrunde liegenden Cursor eines Datenquellen-Steuerelements ab, der durch die Eigenschaften „DataSource“, „UserName“, „Password“ und „SQL“ definiert ist.
CWnd::GetDynamicLayout Ruft einen Zeiger zum dynamischen Layout-Manager-Objekt ab.
CWnd::GetExStyle Gibt den erweiterten Stil des Fensters zurück.
CWnd::GetFocus Ruft CWnd ab, das derzeit über den Eingabefokus verfügt.
CWnd::GetFont Ruft die aktuelle Schriftart ab.
CWnd::GetForegroundWindow Gibt einen Zeiger zum Vordergrundfenster (das Fenster auf oberster Ebene, mit dem der Benutzer aktuell arbeitet) zurück.
CWnd::GetIcon Ruft das Handle für ein Symbol ab.
CWnd::GetLastActivePopup Bestimmt, welches CWnd gehörige Popupfenster zuletzt aktiv war.
CWnd::GetLayeredWindowAttributes Ruft die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters ab.
CWnd::GetMenu Ruft einen Zeiger zum angegebenen Menü ab.
CWnd::GetNextDlgGroupItem Sucht nach dem nächsten (oder vorherigen) Steuerelement in einer Steuerelementgruppe.
CWnd::GetNextDlgTabItem Ruft das erste Steuerelement mit der Formatvorlage ab, die WS_TABSTOP dem angegebenen Steuerelement folgt (oder vorangeht).
CWnd::GetNextWindow Gibt das nächste (oder vorherige) Fenster in der Liste des Fenster-Managers zurück.
CWnd::GetOleControlSite Ruft die benutzerdefinierte Site für das angegebene ActiveX-Steuerelement ab.
CWnd::GetOpenClipboardWindow Ruft einen Zeiger zum Fenster ab, bei dem die Zwischenablage aktuell geöffnet ist.
CWnd::GetOwner Rift einen Zeiger zum Inhaber von CWnd ab.
CWnd::GetParent Ruft das übergeordnete Fenster von CWnd (sofern vorhanden) ab.
CWnd::GetParentFrame Ruft das übergeordnete Framefenster des CWnd-Objekts ab.
CWnd::GetParentOwner Gibt einen Zeiger zum übergeordneten Fenster eines untergeordneten Fensters zurück.
CWnd::GetProperty Ruft eine ActiveX-Steuerelementeigenschaft ab.
CWnd::GetRenderTarget Ruft ein Renderziel ab, das mit diesem Fenster verknüpft ist.
CWnd::GetSafeHwnd Gibt m_hWndzurück, oder NULL, wenn der this Zeiger NULL ist.
CWnd::GetSafeOwner Ruft den sicheren Inhaber für das angegebene Fenster ab.
CWnd::GetScrollBarCtrl Gibt ein gleichgeordnetes Scrollleistensteuerelement zurück.
CWnd::GetScrollBarInfo Ruft Informationen über die angegebene Bildlaufleiste ab.
CWnd::GetScrollInfo Ruft die Informationen ab, die von der SCROLLINFO-Struktur über eine Scrollleiste verwaltet werden.
CWnd::GetScrollLimit Ruft den Grenzwert der Scrollleiste ab.
CWnd::GetScrollPos Ruft die aktuelle Position eines Scrollfelds ab.
CWnd::GetScrollRange Kopiert die aktuellen minimalen und maximalen Positionen der Scrollleiste für eine bestimmte Scrollleiste.
CWnd::GetStyle Gibt den aktuellen Fensterstil zurück.
CWnd::GetSystemMenu Ermöglicht der Anwendung, auf das Steuerelementmenü zuzugreifen, um Kopier- und Änderungsvorgänge vorzunehmen.
CWnd::GetTitleBarInfo Ruft Informationen über die angegebene Titelleiste ab.
CWnd::GetTopLevelFrame Ruft das Framefenster auf oberster Ebene des Fensters ab.
CWnd::GetTopLevelOwner Ruft das Fenster auf der obersten Ebene ab.
CWnd::GetTopLevelParent Ruft das übergeordnete Element auf oberster Ebene des Fensters ab.
CWnd::GetTopWindow Gibt das erste untergeordnete Element zurück, das zu CWnd gehört.
CWnd::GetUpdateRect Ruft die Koordinaten des kleines Rechtecks ab, das die CWnd-Aktualisierungsregion komplett umschließt.
CWnd::GetUpdateRgn Ruft die CWnd-Aktualisierungsregion ab.
CWnd::GetWindow Gibt das Fenster mit der angegebenen Beziehung zu diesem Fenster zurück.
CWnd::GetWindowContextHelpId Ruft den Hilfekontextbezeichner ab.
CWnd::GetWindowDC Ruft den Anzeigekontext für das gesamte Fenster, einschließlich Titelleiste, Menüs und Scrollleisten, ab.
CWnd::GetWindowedChildCount Gibt die Anzahl der zugehörigen untergeordneten Fenster zurück.
CWnd::GetWindowInfo Gibt Informationen über das Fenster zurück.
CWnd::GetWindowlessChildCount Gibt die Anzahl der zugehörigen untergeordneten Fenster ohne Fenster zurück.
CWnd::GetWindowPlacement Ruft den Anzeigestatus und die normalen (wiederhergestellt), minimierten und maximierten Positionen eines Fensters ab.
CWnd::GetWindowRect Ruft die Bildschirmkoordinaten von CWnd ab.
CWnd::GetWindowRgn Ruft eine Kopie der Fensterregion eines Fensters ab.
CWnd::GetWindowText Gibt den Fenstertext oder Beschriftungstitel (sofern vorhanden) zurück.
CWnd::GetWindowTextLength Gibt die Länge des Texts oder Beschriftungstitels des Fensters zurück.
CWnd::HideCaret Blendet das Caretzeichen aus, indem es auf dem Anzeigebildschirm entfernt wird.
CWnd::HiliteMenuItem Hebt die Hervorhebung eines Menüelements auf oberster Ebene (Menüleiste) hervor oder entfernt sie.
CWnd::HtmlHelp Wird aufgerufen, um die HTMLHelp-Anwendung zu initiieren.
CWnd::Invalidate Macht den gesamten Clientbereich ungültig.
CWnd::InvalidateRect Macht den Clientbereich im angegebenen Rechteck ungültig, indem dieses Rechteck zur aktuellen Aktualisierungsregion hinzugefügt wird.
CWnd::InvalidateRgn Macht den Clientbereich in der angegebenen Region ungültig, indem diese Region zur aktuellen Aktualisierungsregion hinzugefügt wird.
CWnd::InvokeHelper Ruft eine ActiveX-Steuerelementmethode oder -Eigenschaft ab.
CWnd::IsChild Gibt an, ob CWnd ein untergeordnetes Fenster oder ein weiterer direkter Nachfolger des angegebenen Fensters ist.
CWnd::IsD2DSupportEnabled Bestimmt, ob die D2D-Unterstützung aktiviert ist.
CWnd::IsDialogMessage Bestimmt, ob die angegebene Meldung für das Dialogfeld ohne Modus vorgesehen ist, und wenn dies der Fall ist, erfolgt die entsprechende Verarbeitung.
CWnd::IsDlgButtonChecked Bestimmt, ob ein Schaltflächensteuerelement aktiviert ist.
CWnd::IsDynamicLayoutEnabled Bestimmt, ob das dynamische Layout in diesem Fenster aktiviert ist. Wenn das dynamische Layout aktiviert ist, können sich die Position und die Größe der untergeordneten Fenster ändern, wenn der Benutzer die Größe des übergeordneten Fensters ändert.
CWnd::IsIconic Bestimmt, ob CWnd minimiert (Symbol) ist.
CWnd::IsTouchWindow Gibt an, ob CWnd über die Fingereingabeunterstützung verfügt.
CWnd::IsWindowEnabled Bestimmt, ob das Fenster für die Maus- und Tastatureingabe aktiviert ist.
CWnd::IsWindowVisible Bestimmt, ob das Fenster sichtbar ist.
CWnd::IsZoomed Bestimmt, ob CWnd maximiert ist.
CWnd::KillTimer Beendet einen Systemtimer.
CWnd::LockWindowUpdate Deaktiviert oder aktiviert die Zeichnung im angegebenen Fenster erneut.
CWnd::MapWindowPoints Konvertiert (Zuordnung) einen Satz von Punkten aus dem Koordinatenbereich von CWnd zum Koordinatenbereich des anderen Fensters.
CWnd::MessageBox Erstellt und zeigt ein Fenster an, das eine über die Anwendung bereitgestellte Meldung und Beschriftung aufweist.
CWnd::ModifyStyle Ändert den aktuellen Fensterstil.
CWnd::ModifyStyleEx Ändert den erweiterten Stil des Fensters.
CWnd::MoveWindow Ändert die Position und die Abmessungen von CWnd.
CWnd::NotifyWinEvent Signalisiert dem System, dass ein vordefiniertes Ereignis aufgetreten ist.
CWnd::OnAmbientProperty Implementieren Sie die Ambient-Eigenschaftswerte.
CWnd::OnDrawIconicThumbnailOrLivePreview Wird durch das Framework aufgerufen, wenn es eine auf der Windows 7-Registerkartenminiaturansicht oder auf dem Client für die Anwendungsvorschau anzuzeigende Bitmap abrufen muss.
CWnd::OnHelp Verarbeitet die F1-Hilfe in der Anwendung (unter Verwendung des aktuellen Kontexts).
CWnd::OnHelpFinder Behandelt die ID_HELP_FINDER Befehle und ID_DEFAULT_HELP Befehle.
CWnd::OnHelpIndex Behandelt den ID_HELP_INDEX Befehl und stellt ein Standardhilfethema bereit.
CWnd::OnHelpUsing Verarbeitet den Befehl ID_HELP_USING.
CWnd::OnToolHitTest Legt fest, ob sich ein Punkt im umgebenden Rechteck des angegebenen Tools befindet und fragt Informationen über das Tool ab.
CWnd::OpenClipboard Öffnet die Zwischenablage. Andere Anwendungen können die Zwischenablage erst ändern, wenn die Windows-Funktion CloseClipboard aufgerufen wird.
CWnd::PaintWindowlessControls Zeichnet fensterlose Steuerelemente auf dem Steuerelementcontainer.
CWnd::PostMessage Platziert eine Nachricht in der Anwendungswarteschlange, nimmt dann eine Rückgabe vor, ohne darauf zu warten, dass das Fenster die Nachricht verarbeitet.
CWnd::PreCreateWindow Wird vor der Erstellung des an diesem CWnd-Objekt angefügten Windows-Fensters aufgerufen.
CWnd::PreSubclassWindow Ermöglicht es anderen erforderlichen Unterklassen, bevor SubclassWindow sie aufgerufen werden.
CWnd::PreTranslateMessage Wird durch CWinApp verwendet, um Fenstermeldungen zu filtern, bevor sie an die Windows-Funktionen TranslateMessage und DispatchMessage gesendet werden.
CWnd::Print Zeichnet das aktuelle Fenster in den angegebenen Gerätekontext.
CWnd::PrintClient Zeichnet alle Fenster in den angegebenen Gerätekontext (für gewöhnlich einen Druckergerätkontext).
CWnd::PrintWindow Kopiert ein visuelles Fenster in den angegebenen Gerätekontext, für gewöhnlich handelt es sich dabei um einen Druckerdomänencontroller.
CWnd::RedrawWindow Aktualisiert das angegebene Rechteck bzw. die Region im Clientbereich.
CWnd::RegisterTouchWindow Registrieren Sie das Fenster für die Windows-Fingereingabe, oder heben Sie die Registrierung auf.
CWnd::ReleaseDC Gibt Client- und Fenstergerätkontexte für die Verwendung durch andere Anwendungen frei.
CWnd::RepositionBars Ordnet die Steuerleisten im Clientbereich neu an.
CWnd::RunModalLoop Ruft Meldungen für ein Fenster, das sich im modalen Status befindet, ab, übersetzt oder sendet sie.
CWnd::ScreenToClient Konvertiert die Bildschirmkoordinaten eines bestimmten Punkts oder Rechtecks auf der Anzeige zu Clientkoordinaten.
CWnd::ScrollWindow Scrollt durch Inhalte im Clientbereich.
CWnd::ScrollWindowEx Scrollt durch Inhalte im Clientbereich. Ähnelt ScrollWindow, weist jedoch zusätzliche Funktionen auf.
CWnd::SendChildNotifyLastMsg Stellt einem untergeordneten Fenster über das übergeordnete Fenster eine Benachrichtigungsmeldung bereit, sodass das untergeordnete Fenster eine Aufgabe verarbeiten kann.
CWnd::SendDlgItemMessage Sendet eine Nachricht an das angegebene Steuerelement.
CWnd::SendMessage Sendet eine Nachricht an das CWnd-Objekt und gibt erst etwas zurück, nachdem die Meldung verarbeitet wurde.
CWnd::SendMessageToDescendants Sendet eine Nachricht an alle Nachfolgefenster des Fensters.
CWnd::SendNotifyMessage Sendet die angegebene Meldung an das Fenster und gibt schnellstmöglich etwas zurück, und zwar in Abhängigkeit davon, ob der aufrufende Thread das Fenster erstellt hat.
CWnd::SetActiveWindow Aktiviert das Fenster.
CWnd::SetCapture Sorgt dafür, dass alle nachfolgenden Mauseingaben an CWnd gesendet werden.
CWnd::SetCaretPos Verschiebt das Caretzeichen an die angegebene Position.
CWnd::SetClipboardViewer Fügt CWnd zur Fensterkette hinzu, die benachrichtigt werden, sobald sich die Inhalte der Zwischenablage ändern.
CWnd::SetDlgCtrlID Legt die Fenster- oder Steuerelement-ID für das Fenster (hierbei kann es sich um beliebige untergeordnete Fenster und nicht nur um ein Steuerelement in einem Dialogfeld handeln) fest.
CWnd::SetDlgItemInt Legt den Text eines Steuerelements auf die Zeichenfolge fest, die einen Ganzzahlwert darstellt.
CWnd::SetDlgItemText Legt die Beschriftung oder den Text eines Steuerelements im angegebenen Dialogfeld fest.
CWnd::SetFocus Beansprucht den Eingabefokus.
CWnd::SetFont Legt die aktuelle Schriftart fest.
CWnd::SetForegroundWindow Versetzt den Thread, durch den das Fenster erstellt wurde, in den Vordergrund und aktiviert das Fenster.
CWnd::SetIcon Legt das Handle auf ein bestimmtes Symbol fest.
CWnd::SetLayeredWindowAttributes Legt die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters fest.
CWnd::SetMenu Legt das Menü auf das angegebene Menü fest.
CWnd::SetOwner Ändert den Inhaber vonCWnd.
CWnd::SetParent Ändert das übergeordnete Fenster.
CWnd::SetProperty Legt eine ActiveX-Steuerelementeigenschaft fest.
CWnd::SetRedraw Ermöglicht, dass Änderungen in CWnd neu gezeichnet werden oder verhindert, dass Änderungen neu gezeichnet werden.
CWnd::SetScrollInfo Legt die Informationen über die Bildlaufleiste fest.
CWnd::SetScrollPos Legt die aktuelle Position eines Scrollfelds fest und zeichnet (sofern angegeben) die Scrollleiste neu, um die neue Position zu berücksichtigen.
CWnd::SetScrollRange Legt die minimalen und maximalen Positionswerte für die angegebene Scrollleiste fest.
CWnd::SetTimer Installiert einen Systemtimer, der beim Auslösen eine WM_TIMER Nachricht sendet.
CWnd::SetWindowContextHelpId Legt den Hilfekontextbezeichner fest.
CWnd::SetWindowPlacement Legt den Anzeigestatus und die normalen (wiederhergestellt), minimierten und maximierten Positionen für ein Fenster fest.
CWnd::SetWindowPos Ändert die Größe, Position und Reihenfolge von untergeordneten, Popup- und Fenstern auf oberster Ebene.
CWnd::SetWindowRgn Legt die Region eines Fensters fest.
CWnd::SetWindowText Legt den Fenstertext oder Beschriftungstitel (sofern vorhanden) auf den angegebenen Text fest.
CWnd::ShowCaret Zeigt das Caretzeichen auf der Anzeige an der aktuellen Position des Caretzeichens. Sobald die Anzeige erfolgt, blinkt das Caretzeichen automatisch auf.
CWnd::ShowOwnedPopups Zeigt alle Popupfenster an, die dem Fenster gehören, oder blendet sie aus.
CWnd::ShowScrollBar Zeigt eine Scrollleiste an oder blendet sie aus.
CWnd::ShowWindow Zeigt das Fenster an oder blendet es aus.
CWnd::SubclassDlgItem Fügt ein Windows-Steuerelement an ein CWnd-Objekt an und initiiert das Weiterleiten von Nachrichten über die Nachrichtenzuordnung von CWnd.
CWnd::SubclassWindow Fügt ein Fenster an ein CWnd-Objekt an und initiiert das Weiterleiten von Nachrichten über die Nachrichtenzuordnung von CWnd.
CWnd::UnlockWindowUpdate Entsperrt ein Fenster, das mit CWnd::LockWindowUpdate gesperrt wurde.
CWnd::UnsubclassWindow Trennt ein Fenster von einem CWnd Objekt.
CWnd::UpdateData Initialisiert Daten von einem Dialogfeld oder ruft sie ab.
CWnd::UpdateDialogControls Wird aufgerufen, um den Status der Dialogfelder und von anderen Steuerelementen zu aktualisieren.
CWnd::UpdateLayeredWindow Aktualisiert die Position, Größe, Form, Inhalte und Lichtdurchlässigkeit eines überlappenden Fensters.
CWnd::UpdateWindow Aktualisiert den Clientbereich.
CWnd::ValidateRect Überprüft den Clientbereich in einem angegebenen Rechteck durch das Entfernen des Rechtecks aus der aktuellen Aktualisierungsregion.
CWnd::ValidateRgn Überprüft den Clientbereich in einer angegebenen Region durch das Entfernen der Region aus der aktuellen Aktualisierungsregion.
CWnd::WindowFromPoint Bestimmt das Fenster, das den angegebenen Punkt enthält.
CWnd::WinHelp Wird aufgerufen, um die WinHelp-Anwendung zu initiieren.

Geschützte Methoden

Name Beschreibung
CWnd::Default Ruft die standardmäßige Fensterprozedur auf, die eine standardmäßige Verarbeitung für Fenstermeldungen bereitstellt, die von einer Anwendung nicht verarbeitet werden.
CWnd::DefWindowProc Ruft die standardmäßige Fensterprozedur auf, die eine standardmäßige Verarbeitung für Fenstermeldungen bereitstellt, die von einer Anwendung nicht verarbeitet werden.
CWnd::DoDataExchange Für den Dialogfeld-Datenaustausch und die -validierung. Wird von UpdateData aufgerufen.
CWnd::GetCurrentMessage Gibt einen Zeiger zur Nachricht zurück, die durch dieses Fenster zurzeit verarbeitet wird. Sollte nur aufgerufen werden, wenn in einer OnMessage Message-Handler-Memberfunktion.
CWnd::InitDynamicLayout Wird durch das Framework aufgerufen, um das dynamische Layout für das Fenster zu initialisieren.
CWnd::LoadDynamicLayoutResource Lädt dynamische Layoutinformationen aus der Ressourcendatei.
CWnd::OnActivate Wird aufgerufen, wenn CWnd aktiviert bzw. deaktiviert wird.
CWnd::OnActivateApp Wird aufgerufen, wenn die Anwendung aktiviert oder deaktiviert wird.
CWnd::OnAppCommand Wird aufgerufen, wenn der Benutzer ein Anwendungsbefehlereignis generiert.
CWnd::OnAskCbFormatName Wird durch eine Zwischenablageansichtsanwendung aufgerufen, wenn der Zwischenablageinhaber die Zwischenablageinhalte anzeigt.
CWnd::OnCancelMode Wird aufgerufen, um zu ermöglichen, dass CWnd interne Modi wie die Mauserfassung abbricht.
CWnd::OnCaptureChanged Sendet eine Nachricht an das Fenster, dem die Mauserfassung entzogen wird.
CWnd::OnChangeCbChain Gibt eine Benachrichtigung darüber aus, dass ein angegebenes Fenster aus der Kette entfernt wird.
CWnd::OnChangeUIState Wird aufgerufen, wenn der Benutzeroberflächenstatus (UI) geändert werden sollte.
CWnd::OnChar Wird aufgerufen, wenn eine Tastatureingabe in ein systemfremdes Zeichen übersetzt wird.
CWnd::OnCharToItem Wird von einem untergeordneten Listenfeld mit der LBS_WANTKEYBOARDINPUT Formatvorlage als Reaktion auf eine WM_CHAR Nachricht aufgerufen.
CWnd::OnChildActivate Wird für untergeordnete MDI-Fenster (Multiple Document Interface, Schnittstelle für mehrere Dokumente) aufgerufen, sobald sich die Größe oder Position von CWnd ändert oder CWnd aktiviert wird.
CWnd::OnChildNotify Wird durch ein übergeordnetes Fenster aufgerufen, um einem Benachrichtigungssteuerelement zu ermöglichen, auf eine Steuerelementbenachrichtigung zu antworten.
CWnd::OnClipboardUpdate Wird aufgerufen, wenn die Inhalte der Zwischenablage geändert wurden.
CWnd::OnClose Wird als ein Signal aufgerufen, dass CWnd geschlossen werden sollte.
CWnd::OnColorizationColorChanged Wird aufgerufen, wenn sich die Renderrichtlinie des Nicht-Clientbereichs geändert hat.
CWnd::OnCommand Wird aufgerufen, wenn der Benutzer einen Befehl auswählt.
CWnd::OnCompacting Wird aufgerufen, wenn Windows erkennt, dass der Arbeitsspeicher des Systems niedrig ist.
CWnd::OnCompareItem Wird aufgerufen, um die relative Position eines neuen Elements in einem untergeordneten sortierten vom Besitzer gezeichneten Kombinationsfeld oder Listenfeld zu ermitteln.
CWnd::OnCompositionChanged Wird für alle Fenster auf oberster Ebene aufgerufen, wenn die Desktopfenster-Manager-Komposition aktiviert oder deaktiviert wird.
CWnd::OnContextMenu Wird aufgerufen, wenn der Benutzer mit die rechten Maustaste in das Fenster klickt.
CWnd::OnCopyData Kopiert Daten aus einer Anwendung in eine andere.
CWnd::OnCreate Wird im Rahmen einer Fenstererstellung aufgerufen.
CWnd::OnCtlColor Wird aufgerufen, wenn CWnd das übergeordnete Element eines Steuerelements ist, wenn das Steuerelement gezeichnet wird.
CWnd::OnDeadChar Wird aufgerufen, wenn eine Tastatureingabe in ein systemfremdes, funktionsloses Zeichen (beispielsweise Akzentzeichen) übersetzt wird.
CWnd::OnDeleteItem Wird aufgerufen, wenn ein vom Besitzer gezeichnetes Listen- oder Kombinationsfeld zerstört wird oder wenn Elemente aus dem Steuerelement entfernt werden.
CWnd::OnDestroy Wird aufgerufen, wenn CWnd zerstört wird.
CWnd::OnDestroyClipboard Wird aufgerufen, wenn die Zwischenablage durch einen Aufruf der Windows-Funktion EmptyClipboard geleert wird.
CWnd::OnDeviceChange Benachrichtigt eine Anwendung oder einen Gerätetreiber über eine Änderung an der Hardwarekonfiguration eines Geräts oder des Computers.
CWnd::OnDevModeChange Wird für alle Fenster auf oberster Ebene aufgerufen, wenn der Benutzer die Gerätemoduseinstellungen ändert.
CWnd::OnDrawClipboard Wird aufgerufen, wenn sich der Inhalt der Zwischenablage ändert.
CWnd::OnDrawItem Wird aufgerufen, wenn ein visueller Aspekt eines vom Besitzer gezeichneten untergeordneten Schaltflächensteuerelements, Kombinationsfeldsteuerelements, Listenfeldsteuerelements oder Menüs gezeichnet werden muss.
CWnd::OnDropFiles Wird aufgerufen, wenn der Benutzer die linke Maustaste über einem Fenster loslässt, das sich selbst als der Empfänger von abgelegten Dateien registriert hat.
CWnd::OnEnable Wird aufgerufen, wenn CWnd aktiviert oder deaktiviert ist.
CWnd::OnEndSession Wird aufgerufen, wenn die Sitzung beendet wird.
CWnd::OnEnterIdle Wird aufgerufen, um die Hauptfensterprozedur einer Anwendung darüber zu informieren, dass ein modales Dialogfeld oder ein Menü in den Leerlaufstatus übergeht.
CWnd::OnEnterMenuLoop Wird aufgerufen, wenn eine modale Menüschleife eingegangen wurde.
CWnd::OnEnterSizeMove Wird aufgerufen, nachdem das betroffene Fenster eine Verschiebungs- oder modale Größenanpassungsschleife eingeht.
CWnd::OnEraseBkgnd Wird aufgerufen, wenn der Fensterhintergrund gelöscht werden muss.
CWnd::OnExitMenuLoop Wird aufgerufen, wenn eine modale Menüschleife beendet wurde.
CWnd::OnExitSizeMove Wird aufgerufen, nachdem das betroffene Fenster eine Verschiebungs- oder modale Größenanpassungsschleife beendet.
CWnd::OnFontChange Wird aufgerufen, wenn sich der Pool der Schriftartressourcen ändert.
CWnd::OnGetDlgCode Wird für ein Steuerelement aufgerufen, sodass das Steuerelement die Eingabe für die PFEILTASTE und TAB-TASTE selbst verarbeiten kann.
CWnd::OnGetMinMaxInfo Wird aufgerufen, sobald Windows über die maximierte Position oder Dimensionen oder die minimale oder maximale Nachverfolgungsgröße informiert werden muss.
CWnd::OnHelpInfo Wird durch das Framework aufgerufen, wenn der Benutzer die F1-TASTE drückt.
CWnd::OnHotKey Wird aufgerufen, wenn der Benutzer eine systemübergreifende Abkürzungstaste drückt.
CWnd::OnHScroll Wird aufgerufen, wenn der Benutzer auf die horizontale Scrollleiste von CWnd klickt.
CWnd::OnHScrollClipboard Wird aufgerufen, wenn ein Zwischenablageinhaber das Zwischenablagebild scrollen, den entsprechenden Abschnitt ungültig machen und die Scrollleistenwerte aktualisieren sollte.
CWnd::OnIconEraseBkgnd Wird aufgerufen, wenn CWnd minimiert (Symbol) ist und der Hintergrund des Symbols vor dem Zeichnen des Symbols aufgefüllt werden muss.
CWnd::OnInitMenu Wird aufgerufen, wenn ein Menü aktiv wird.
CWnd::OnInitMenuPopup Wird aufgerufen, wenn ein Popupmenü aktiv wird.
CWnd::OnInputDeviceChange Wird aufgerufen, wenn dem System ein E/A-Gerät hinzugefügt oder aus dem System entfernt wird.
CWnd::OnInputLangChange Wird aufgerufen, nachdem sich die Eingabesprache einer Anwendung geändert hat.
CWnd::OnInputLangChangeRequest Wird aufgerufen, wenn der Benutzer eine neue Eingabesprache auswählt.
CWnd::OnKeyDown Wird aufgerufen, wenn eine systemfremde Taste gedrückt wird.
CWnd::OnKeyUp Wird aufgerufen, wenn eine systemfremde Taste losgelassen wird.
CWnd::OnKillFocus Wird sofort aufgerufen, bevor CWnd den Eingabefokus verliert.
CWnd::OnLButtonDblClk Wird aufgerufen, wenn der Benutzer mit der linken Maustaste doppelklickt.
CWnd::OnLButtonDown Wird aufgerufen, wenn der Benutzer die linke Maustaste drückt.
CWnd::OnLButtonUp Wird aufgerufen, wenn der Benutzer die linke Maustaste loslässt.
CWnd::OnMButtonDblClk Wird aufgerufen, wenn der Benutzer mit der mittleren Maustaste doppelklickt.
CWnd::OnMButtonDown Wird aufgerufen, wenn der Benutzer auf die mittlere Maustaste drückt.
CWnd::OnMButtonUp Wird aufgerufen, wenn der Benutzer die mittlere Maustaste loslässt.
CWnd::OnMDIActivate Wird aufgerufen, wenn ein untergeordnetes MDI-Fenster aktiviert oder deaktiviert wird.
CWnd::OnMeasureItem Wird für ein vom Besitzer gezeichnetes untergeordnetes Kombinationsfeld, Listenfeld oder Menüelement aufgerufen, wenn das Steuerelement erstellt wird. CWnd informiert Windows über die Abmessungen des Steuerelements.
CWnd::OnMenuChar Wird aufgerufen, wenn der Benutzer auf ein mnemonisches Menüzeichen drückt, das nicht mit den vordefinierten mnemonischen Zeichen im aktuellen Menü übereinstimmt.
CWnd::OnMenuDrag Wird aufgerufen, wenn der Benutzer beginnt, ein Menüelement zu ziehen.
CWnd::OnMenuGetObject Wird aufgerufen, wenn der Mauszeiger in ein Menüelement geführt oder aus der Mitte des Elements zur Ober- oder Unterseite des Elements bewegt wird.
CWnd::OnMenuRButtonUp Wird aufgerufen, wenn die rechte Maustaste losgelassen wird und sich der Cursor dabei über einem Menüelement befindet.
CWnd::OnMenuSelect Wird aufgerufen, wenn der Benutzer ein Menüelement auswählt.
CWnd::OnMouseActivate Wird aufgerufen, wenn sich der Cursor in einem inaktiven Fenster befindet und der Benutzer eine Maustaste drückt.
CWnd::OnMouseHover Wird aufgerufen, wenn der Cursor über den Clientbereich des Fensters für den in einem vorherigen Aufruf TrackMouseEventangegebenen Zeitraum bewegt wird.
CWnd::OnMouseHWheel Wird aufgerufen, wenn das horizontale Bildlaufrad der Maus gekippt oder gedreht wird.
CWnd::OnMouseLeave Wird aufgerufen, wenn der Cursor den Clientbereich des in einem vorherigen Aufruf TrackMouseEventangegebenen Fensters verlässt.
CWnd::OnMouseMove Wird aufgerufen, wenn der Mauszeiger bewegt wird.
CWnd::OnMouseWheel Wird aufgerufen, wenn ein Benutzer das Mausrad dreht. Verwendet die Windows NT 4.0-Nachrichtenverarbeitung.
CWnd::OnMove Wird aufgerufen, nachdem die Position von CWnd geändert wurde.
CWnd::OnMoving Gibt an, dass ein Benutzer ein CWnd-Objekt verschiebt.
CWnd::OnNcActivate Wird aufgerufen, wenn der clientfremde Bereich geändert werden muss, um einen aktiven oder inaktiven Status anzugeben.
CWnd::OnNcCalcSize Wird aufgerufen, wenn die Größe und Position des Clientbereichs berechnet werden müssen.
CWnd::OnNcCreate Wird vor dem OnCreate Erstellen des Nicht-Clientbereichs aufgerufen.
CWnd::OnNcDestroy Wird aufgerufen, wenn der clientfremde Bereich zerstört wird.
CWnd::OnNcHitTest Wird durch Windows aufgerufen, sobald die Maus bewegt wird, wenn CWnd den Cursor enthält oder die Mauseingabe mit SetCapture erfasst hat.
CWnd::OnNcLButtonDblClk Wird aufgerufen, wenn der Benutzer mit der linken Maustaste doppelklickt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcLButtonDown Wird aufgerufen, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcLButtonUp Wird aufgerufen, wenn der Benutzer die linke Maustaste loslässt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcMButtonDblClk Wird aufgerufen, wenn der Benutzer mit der mittleren Maustaste doppelklickt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcMButtonDown Wird aufgerufen, wenn der Benutzer die mittlere Maustaste drückt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcMButtonUp Wird aufgerufen, wenn der Benutzer die mittlere Maustaste loslässt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcMouseHover Wird aufgerufen, wenn der Cursor über den Nicht-Clientbereich des Fensters für den in einem vorherigen Aufruf TrackMouseEventangegebenen Zeitraum bewegt wird.
CWnd::OnNcMouseLeave Das Framework ruft diese Memberfunktion auf, wenn der Cursor den Nicht-Clientbereich des fensters verlässt, das in einem vorherigen Aufruf TrackMouseEventangegeben ist.
CWnd::OnNcMouseMove Wird aufgerufen, wenn der Cursor innerhalb eines clientfremden Bereichs von CWnd bewegt wird.
CWnd::OnNcPaint Wird aufgerufen, wenn für den clientfremden Bereich eine Zeichnung erforderlich ist.
CWnd::OnNcRButtonDblClk Wird aufgerufen, wenn der Benutzer mit der rechten Maustaste doppelklickt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcRButtonDown Wird aufgerufen, wenn der Benutzer mit der rechten Maustaste klickt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcRButtonUp Wird aufgerufen, wenn der Benutzer mit der rechten Maustaste klickt, während sich der Cursor in einem clientfremden Bereich von CWnd befindet.
CWnd::OnNcRenderingChanged Wird aufgerufen, wenn sich die Renderrichtlinie des Nicht-Clientbereichs geändert hat.
CWnd::OnNcXButtonDblClk Wird aufgerufen, wenn der Benutzer doppelklickt oder XBUTTON2 sich der Cursor im Nicht-Clientbereich eines Fensters XBUTTON1 befindet.
CWnd::OnNcXButtonDown Wird aufgerufen, wenn der Benutzer die Maus drückt oder XBUTTON2 die Maus drückt, während sich der Cursor im Nicht-Clientbereich eines Fensters XBUTTON1 befindet.
CWnd::OnNcXButtonUp Wird aufgerufen, wenn der Benutzer oder die Maus loslässt XBUTTON1 , XBUTTON2 während sich der Cursor im Nicht-Clientbereich eines Fensters befindet.
CWnd::OnNextMenu Wird aufgerufen, wenn der NACH-RECHTS- oder NACH-LINKS-PFEIL verwendet wird, um zwischen der Menüleiste und dem Systemmenü zu wechseln.
CWnd::OnNotify Wird durch das Framework aufgerufen, um ein übergeordnetes Fenster darüber zu informieren, dass ein Ereignis in einem seiner Steuerelemente aufgetreten ist oder dass das Steuerelement Informationen benötigt.
CWnd::OnNotifyFormat Wird aufgerufen, um zu ermitteln, ob das aktuelle Fenster ANSI- oder Unicode-Strukturen in der WM_NOTIFY Benachrichtigung akzeptiert.
CWnd::OnPaint Wird aufgerufen, um eine Teilmenge des Fensters neu zu zeichnen.
CWnd::OnPaintClipboard Wird aufgerufen, wenn der Clientbereich der Zwischenablagenansicht neu gezeichnet werden muss.
CWnd::OnPaletteChanged Wird aufgerufen, um Fenstern zu erlauben, die eine Farbpalette verwenden, ihre logischen Paletten zu realisieren und ihre Clientbereiche zu aktualisieren.
CWnd::OnPaletteIsChanging Informiert andere Anwendungen, wenn eine Anwendung ihre logische Palette realisiert.
CWnd::OnParentNotify Wird aufgerufen, wenn ein untergeordnetes Fenster erstellt oder zerstört wird oder wenn der Benutzer eine Maustaste drückt, während sich der Cursor über einem untergeordneten Fenster befindet.
CWnd::OnPowerBroadcast Wird aufgerufen, wenn ein Energieverwaltungsereignis auftritt.
CWnd::OnQueryDragIcon Wird aufgerufen, wenn ein minimiertes CWnd (Symbol) durch den Benutzer gezogen wird.
CWnd::OnQueryEndSession Wird aufgerufen, wenn der Benutzer entscheidet, die Windows-Sitzung zu beenden.
CWnd::OnQueryNewPalette Informiert CWnd darüber, dass es den Eingabefokus empfängt.
CWnd::OnQueryOpen Wird aufgerufen, wenn CWnd ein Symbol ist und der Benutzer das Öffnen des Symbols anfordert.
CWnd::OnQueryUIState Wird aufgerufen, um den Benutzeroberflächenstatus (UI) für ein Fenster abzurufen.
CWnd::OnRawInput Wird aufgerufen, wenn das aktuelle Fenster nicht formatierte Daten erhält.
CWnd::OnRButtonDblClk Wird aufgerufen, wenn der Benutzer mit der rechten Maustaste doppelklickt.
CWnd::OnRButtonDown Wird aufgerufen, wenn der Benutzer die rechte Maustaste drückt.
CWnd::OnRButtonUp Wird aufgerufen, wenn der Benutzer die rechte Maustaste loslässt.
CWnd::OnRenderAllFormats Wird aufgerufen, wenn die Inhaberanwendung zerstört wird und ihre gesamten Formate rendern muss.
CWnd::OnRenderFormat Wird für den Zwischenablageinhaber aufgerufen, wenn ein bestimmtes Format mit verzögertem Rendering gerendert werden muss.
CWnd::OnSessionChange Wird aufgerufen, um eine Anwendung über eine Änderung im Sitzungsstatus zu informieren.
CWnd::OnSetCursor Wird aufgerufen, wenn die Mauseingabe nicht erfasst wird und die Maus die Cursorbewegung innerhalb eines Fensters verursacht.
CWnd::OnSetFocus Wird aufgerufen, nachdem CWnd den Eingabefokus erhält.
CWnd::OnSettingChange Wird aufgerufen, wenn die SystemParametersInfo-Win32-Funktion eine systemübergreifende Einstellung ändert.
CWnd::OnShowWindow Wird aufgerufen, wenn CWnd ausgeblendet oder angezeigt wird.
CWnd::OnSize Wird aufgerufen, nachdem die Größe von CWnd geändert wurde.
CWnd::OnSizeClipboard Wird aufgerufen, wenn sich die Größe des Clientbereichs des Zwischenablageanzeigefensters geändert hat.
CWnd::OnSizing Gibt an, dass der Benutzer die Größe des Rechtecks ändert.
CWnd::OnSpoolerStatus Wird vom Druck-Manager aufgerufen, sobald der Druck-Manager-Warteschlange ein Auftrag hinzugefügt wird bzw. einer aus ihr entfernt wird.
CWnd::OnStyleChanged Gibt an, dass die SetWindowLong Windows-Funktion eine oder mehrere Formatvorlagen des Fensters geändert hat.
CWnd::OnStyleChanging Gibt an, dass die SetWindowLong Windows-Funktion eine oder mehrere Formatvorlagen des Fensters ändern soll.
CWnd::OnSysChar Wird aufgerufen, wenn eine Tastatureingabe in ein Systemzeichen übersetzt wird.
CWnd::OnSysColorChange Wird für alle Fenster auf oberster Ebene aufgerufen, wenn in der Systemfarbeneinstellung eine Änderung vorgenommen wird.
CWnd::OnSysCommand Wird aufgerufen, wenn der Benutzer einen Befehl aus dem Steuerelementmenü auswählt oder wenn der Benutzer die Schaltfläche „Maximieren“ oder „Minimieren“ auswählt.
CWnd::OnSysDeadChar Wird aufgerufen, wenn eine Tastatureingabe in ein funktionsloses Systemzeichen (beispielsweise Akzentzeichen) übersetzt wird.
CWnd::OnSysKeyDown Wird aufgerufen, wenn der Benutzer die ALT-TASTE gedrückt hält und dann eine andere Taste drückt.
CWnd::OnSysKeyUp Wird aufgerufen, wenn der Benutzer eine Taste loslässt, die gedrückt wurde, während die ALT-TASTE gedrückt gehalten wurde.
CWnd::OnTCard Wird aufgerufen, wenn der Benutzer auf eine bearbeitbare Schaltfläche drückt
CWnd::OnTimeChange Wird für alle Fenster auf oberster Ebene aufgerufen, nachdem die Systemzeit geändert wurde.
CWnd::OnTimer Wird nach jedem Intervall aufgerufen, das in SetTimer.
CWnd::OnTouchInput Verarbeitet die einzelne Eingabe aus Windows Touch.
CWnd::OnTouchInputs Verarbeitet Eingaben aus Windows Touch.
CWnd::OnUniChar Wird aufgerufen, wenn eine Taste gedrückt wird. Das heißt, das aktuelle Fenster hat den Tastaturfokus, und eine WM_KEYDOWN Nachricht wird von der TranslateMessage Funktion übersetzt.
CWnd::OnUnInitMenuPopup Wird aufgerufen, wenn eine Dropdownmenü oder -untermenü zerstört wurde.
CWnd::OnUpdateUIState Wird aufgerufen, um den Benutzeroberflächenstatus für das angegebene Fenster und alle zugehörigen untergeordneten Fenster zu ändern.
CWnd::OnUserChanged Wird aufgerufen, nachdem sich der Benutzer an- oder abgemeldet hat.
CWnd::OnVKeyToItem Wird von einem Listenfeld aufgerufen, das als Antwort auf eine WM_KEYDOWN Nachricht gehörtCWnd.
CWnd::OnVScroll Wird aufgerufen, wenn der Benutzer auf die vertikale Scrollleiste des Fensters klickt.
CWnd::OnVScrollClipboard Wird aufgerufen, wenn der Inhaber das Zwischenablagebild scrollen, den entsprechenden Abschnitt ungültig machen und die Scrollleistenwerte aktualisieren sollte.
CWnd::OnWindowPosChanged Wird aufgerufen, wenn sich die Größe, Position oder Z-Reihenfolge aufgrund eines Aufrufs oder SetWindowPos einer anderen Fensterverwaltungsfunktion geändert hat.
CWnd::OnWindowPosChanging Wird aufgerufen, wenn die Größe, Position oder Z-Reihenfolge aufgrund eines Aufrufs SetWindowPos oder einer anderen Fensterverwaltungsfunktion geändert werden soll.
CWnd::OnWinIniChange Wird nach der Windows-Initialisierungsdatei nach der Windows-Initialisierungsdatei für alle Fenster auf oberster Ebene aufgerufen. WIN.INI
CWnd::OnWndMsg Gibt an, ob eine Fenstermeldung verarbeitet wurde.
CWnd::OnXButtonDblClk Wird aufgerufen, wenn der Benutzer doppelklickt oder XBUTTON2 sich der Cursor im Clientbereich eines Fensters XBUTTON1 befindet.
CWnd::OnXButtonDown Wird aufgerufen, wenn der Benutzer drückt oder XBUTTON2 sich der Cursor im Clientbereich eines Fensters XBUTTON1 befindet.
CWnd::OnXButtonUp Wird aufgerufen, wenn der Benutzer loslässt XBUTTON1 oder XBUTTON2 sich der Cursor im Clientbereich eines Fensters befindet.
CWnd::PostNcDestroy Diese virtuelle Funktion wird von der Standardmäßigen OnNcDestroy-Funktion aufgerufen, nachdem das Fenster zerstört wurde.
CWnd::ReflectChildNotify Hilfsfunktion, die eine Nachricht an die Quelle angibt.
CWnd::ReflectLastMsg Gibt die letzte Meldung zum untergeordneten Fenster weiter.
CWnd::ResizeDynamicLayout Wird durch das Framework aufgerufen, wenn sich die Fenstergröße ändert, um das Layout der untergeordneten Fenster anzupassen, wenn das dynamische Layout für das Fenster aktiviert ist.
CWnd::WindowProc Stellt eine Fensterprozedur für CWnd bereit. Der Standard versendet Meldungen über die Meldungszuordnung.

Öffentliche Operatoren

Name Beschreibung
CWnd::operator HWND Nehmen Sie einen Aufruf vor, um ein Handle zu einem Fenster zu erhalten.
CWnd::operator != Bestimmt, ob ein Fenster nicht mit dem Fenster übereinstimmt, dessen Handle lautet m_hWnd.
CWnd::operator == Bestimmt, ob ein Fenster mit dem Fenster identisch ist, dessen Handle lautet m_hWnd.

Öffentliche Datenmember

Name Beschreibung
CWnd::m_hWnd Gibt den HWND an, der an diese CWndAngefügt ist.

Hinweise

Ein CWnd-Objekt unterscheidet sich von einem Windows-Fenster, aber beide sind jedoch eng miteinander verknüpft. Ein CWnd-Objekt wird durch den CWnd-Konstruktor und -Dekonstruktor erstellt oder zerstört. Das Windows-Fenster ist dagegen eine interne Datenstruktur für Windows, die von einer Create Memberfunktion erstellt und durch den CWnd virtuellen Destruktor zerstört wird. Die DestroyWindow Funktion zerstört das Windows-Fenster, ohne das Objekt zu zerstören.

Die CWnd Klasse und der Nachrichtenzuordnungsmechanismus blenden die WndProc Funktion aus. Eingehende Windows-Benachrichtigungen werden automatisch über die Nachrichtenzuordnung an die richtigen "OnMessage"CWnd -Memberfunktionen weitergeleitet. Sie überschreiben eine OnMessage-Memberfunktion , um die bestimmte Nachricht eines Mitglieds in den abgeleiteten Klassen zu behandeln.

Mithilfe der CWnd-Klasse können Sie auch ein untergeordnetes Windows-Fenster für Ihre Anwendung erstellen. Leiten Sie eine Klasse aus CWnd ab, fügen Sie dann der abgeleiteten Klasse Membervariablen hinzu, um für Ihre Anwendung spezifische Daten zu speichern. Implementieren Sie Meldungshandler-Memberfunktionen und eine Meldungszuordnung in der abgeleiteten Klasse, um anzugeben, was passiert, wenn Meldungen an das Fenster weitergeleitet werden.

Ein untergeordnetes Fenster wird in zwei Schritten erstellt. Rufen Sie zuerst den Konstruktor CWnd auf, um das CWnd Objekt zu erstellen, und rufen Sie dann die Create Memberfunktion auf, um das untergeordnete Fenster zu erstellen und es an das CWnd Objekt anzufügen.

Wenn der Benutzer Ihr untergeordnetes Fenster beendet, zerstören Sie das Objekt CWnd, oder rufen Sie die Memberfunktion DestroyWindow auf, um das Fenster zu entfernen und dessen Datenstrukturen zu zerstören.

In der Microsoft Foundation Class-Bibliothek werden weitere Klassen aus CWnd abgeleitet, um bestimmte Fenstertypen bereitzustellen. Viele dieser Klassen, einschließlich CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CViewund CDialog, sind für die weitere Ableitung konzipiert. Die von , zCButton. B. , abgeleiteten CWndSteuerelementklassen können direkt verwendet werden oder zur weiteren Ableitung von Klassen verwendet werden.

Weitere Informationen zur Verwendung CWndfinden Sie unter Frame Windows " Window Objects".

Vererbungshierarchie

CObject

CCmdTarget

CWnd

Anforderungen

Header: afxwin.h

CWnd::accDoDefaultAction

Wird durch das Framework aufgerufen, um die Standardaktion des Objekts auszuführen.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parameter

Varchild
Gibt an, ob die aufgerufene Standardaktion das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Ausführen der Standardaktion des Objekts) oder eine untergeordnete ID (zum Ausführen der Standardaktion eines der untergeordneten Elemente des Objekts) sein.

Rückgabewert

Gibt S_OK bei Erfolg zurück, einem COM-Fehlercode bei Einem Fehler. Siehe Rückgabewerte in IAccessible::accDoDefaultAction im Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, um die Standardaktion des Objekts auszuführen. Weitere Informationen finden Sie unter "IAccessible::accDoDefaultAction " im Windows SDK.

CWnd::accHitTest

Wird durch das Framework aufgerufen, um das untergeordnete Element oder untergeordnete Objekt an einem bestimmten Punkt auf dem Bildschirm abzurufen.

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

Parameter

xLeft
X-Koordinate des Punkts, der treffergeprüft werden soll (in Bildschirmeinheiten).

yTop
Y-Koordinate des Punkts, der (in Bildschirmeinheiten) getestet werden soll.

pvarChild
Empfängt Informationen, die das Objekt an dem durch xLeft und yTop. Siehe pvarID im IAccessible::accHitTest Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::accHitTest Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::accHitTest Windows SDK.

CWnd::accLocation

Wird durch das Framework aufgerufen, um die aktuelle Bildschirmposition des angegebenen Objekts abzurufen.

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

Parameter

pxLeft
Empfängt x-Koordinate der oberen linken Ecke des Objekts (in Bildschirmeinheiten).

pyTop
Empfängt die y-Koordinate der oberen linken Ecke des Objekts (in Bildschirmeinheiten).

pcxWidth
Empfängt die Breite des Objekts (in Bildschirmeinheiten).

pcyHeight
Empfängt die Höhe des Objekts (in Bildschirmeinheiten).

varChild
Gibt an, ob der abzurufende Speicherort das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

Rückgabewert

Gibt S_OK bei Erfolg zurück, einem COM-Fehlercode bei Einem Fehler. Siehe Rückgabewerte im IAccessible::accLocation Windows SDK.

Hinweise

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::accLocation Windows SDK.

CWnd::accNavigate

Wird durch das Framework aufgerufen, um zu einem anderen Benutzer-Schnittstellenelement innerhalb eines Containers zu gelangen und wenn möglich, das Objekt abzurufen.

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

Parameter

navDir
Gibt die Navigationsrichtung an. Siehe navDir im IAccessible::accNavigate Windows SDK.

varStart
Gibt das Startobjekt an. Siehe varStart im IAccessible::accNavigate Windows SDK.

pvarEndUpAt
Empfängt Informationen zum Zielbenutzeroberflächenobjekt. Siehe pvarEnd im IAccessible::accNavigate Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::accNavigate Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::accNavigate Windows SDK.

CWnd::accSelect

Wird durch das Framework aufgerufen, um die Auswahl zu ändern oder den Tastaturfokus des angegebenen Objekts zu verschieben.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Parameter

flagsSelect
Gibt an, wie die aktuelle Auswahl oder der aktuelle Fokus geändert werden soll. Siehe flagsSelect im IAccessible::accSelect Windows SDK.

varChild
Gibt das auszuwählende Objekt an. Dieser Parameter kann entweder CHILDID_SELF (um das Objekt selbst auszuwählen) oder eine untergeordnete ID (zum Auswählen eines untergeordneten Objekts) sein.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::accSelect Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::accSelect Windows SDK.

CWnd::AnimateWindow

Erzeugt Spezialeffekte beim Ein- oder Ausblenden von Fenstern.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parameter

dwTime
Gibt an, wie lange die Wiedergabe der Animation in Millisekunden dauert. In der Regel dauert die Wiedergabe einer Animation 200 Millisekunden.

dwFlags
Gibt den Animationstyp an. Eine vollständige Liste möglicher Werte finden Sie unter AnimateWindow.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion AnimateWindow, wie im Windows SDK beschrieben.

CWnd::ArrangeIconicWindows

Ordnet alle minimierten untergeordneten Fenster (Symbole).

UINT ArrangeIconicWindows();

Rückgabewert

Die Höhe einer Zeile von Symbolen, wenn die Funktion erfolgreich ist; andernfalls 0.

Hinweise

Diese Memberfunktion ordnet auch Symbole im Desktopfenster an, die den gesamten Bildschirm abdeckt. Die GetDesktopWindow Memberfunktion ruft einen Zeiger auf das Desktopfensterobjekt ab.

Zum Anordnen von untergeordneten MDI-Fenstern in einem MDI-Clientfenster rufen Sie CMDIFrameWnd::MDIIconArrangeauf.

Beispiel

// 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

Fügt ein Windows-Fenster an ein CWnd Objekt an.

BOOL Attach(HWND hWndNew);

Parameter

hWndNew
Gibt ein Handle für ein Windows-Fenster an.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

In diesem Beispiel wird gezeigt, wie Sie das MDI-Clientfenster verwenden Attach und Detach zuordnen.

// 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

Rufen Sie diese Memberfunktion auf, um ein Framefenster modal zu machen.

virtual void BeginModalState();

CWnd::BeginPaint

Bereitet sich auf das Malen CWnd vor und füllt eine PAINTSTRUCT Datenstruktur mit Informationen über das Gemälde.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parameter

lpPaint
Verweist auf die PAINTSTRUCT Struktur, die Gemäldeinformationen empfängt.

Rückgabewert

Identifiziert den Gerätekontext für CWnd. Der Zeiger kann temporär sein und sollte nicht über den Bereich von EndPainthinaus gespeichert werden.

Hinweise

Die Paint-Struktur enthält eine RECT Datenstruktur mit dem kleinsten Rechteck, das den Aktualisierungsbereich vollständig umschließt, und ein Flag, das angibt, ob der Hintergrund gelöscht wurde.

Der Aktualisierungsbereich wird von den InvalidateFunktionen , InvalidateRectoder Memberfunktionen und InvalidateRgn vom System nach der Größe, Verschiebung, Erstellung, Bildlauf oder Durchführung eines anderen Vorgangs festgelegt, der sich auf den Clientbereich auswirkt. Wenn der Aktualisierungsbereich für das Löschen markiert ist, BeginPaint wird eine WM_ONERASEBKGND Nachricht gesendet.

Rufen Sie die BeginPaint Memberfunktion nur als Reaktion auf eine WM_PAINT Nachricht auf. Jeder Aufruf der BeginPaint Memberfunktion muss über einen übereinstimmenden Aufruf der EndPaint Memberfunktion verfügen. Wenn sich das Caretelement im zu bemalenden Bereich befindet, blendet die BeginPaint Memberfunktion automatisch das Caret aus, um zu verhindern, dass sie gelöscht wird.

Beispiel

// 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

Bindet die standardmäßige einfache gebundene Eigenschaft des aufrufenden Objekts (z. B. ein Bearbeitungssteuerelement), wie in der Typbibliothek gekennzeichnet, an den zugrunde liegenden Cursor, der durch das DataSourceDatenquellensteuerelement definiert ist. UserNamePasswordSQL

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

Parameter

dwDispID
Gibt die DISPID Eigenschaft eines datengebundenen Steuerelements an, das an ein Datenquellensteuerelement gebunden werden soll.

vtProp
Gibt den Typ der eigenschaft an, die gebunden werden soll. Beispiel: VT_BSTR, , VT_VARIANTusw.

szFieldName
Gibt den Namen der Spalte im Cursor an, der vom Datenquellensteuerelement bereitgestellt wird, an das die Eigenschaft gebunden wird.

pDSCWnd
Verweist auf das Fenster, in dem das Datenquellensteuerelement gehostet wird, an das die Eigenschaft gebunden wird. Rufen Sie GetDlgItem die Ressourcen-ID des Hostfensters des DCS auf, um diesen Zeiger abzurufen.

Hinweise

Das CWnd Objekt, für das Sie diese Funktion aufrufen, muss ein datengebundenes Steuerelement sein.

Beispiel

BindDefaultProperty kann im folgenden Kontext verwendet werden:

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

Bindet eine cursorgebundene Eigenschaft für ein datengebundenes Steuerelement (z. B. ein Rastersteuerelement) an ein Datenquellensteuerelement und registriert diese Beziehung mit dem MFC-Bindungs-Manager.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parameter

dwDispId
Gibt die DISPID Eigenschaft eines datengebundenen Steuerelements an, das an ein Datenquellensteuerelement gebunden werden soll.

pWndDSC
Verweist auf das Fenster, in dem das Datenquellensteuerelement gehostet wird, an das die Eigenschaft gebunden wird. Rufen Sie GetDlgItem die Ressourcen-ID des Hostfensters des DCS auf, um diesen Zeiger abzurufen.

Hinweise

Das CWnd Objekt, für das Sie diese Funktion aufrufen, muss ein datengebundenes Steuerelement sein.

Beispiel

BindProperty kann im folgenden Kontext verwendet werden:

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

CWnd::BringWindowToTop

Bringt CWnd nach oben im Stapel überlappender Fenster.

void BringWindowToTop();

Hinweise

Darüber hinaus aktiviert BringWindowToTop Popupfenster, Fenster der obersten Ebene und untergeordnete MDI-Fenster. Die Memberfunktion BringWindowToTop sollte dazu verwendet werden, um jedes Fenster aufzudecken, das von irgendeinem überlappenden Fenster teilweise oder vollständig verdeckt ist.

Diese Funktion ruft einfach die Win32-Funktion BringWindowToTop auf. Rufen Sie die Funktion auf, um die SetWindowPos Position eines Fensters in der Z-Reihenfolge zu ändern. Die BringWindowToTop-Funktion ändert nicht den Fensterstil, um daraus ein Fenster oberster Ebene zu machen. Weitere Informationen finden Sie unter Was ist der Unterschied zwischen HWND_TOP und HWND_TOPMOST

Beispiel

// 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

Berechnet das Fensterrechteck, das das angegebene Clientrechteck enthalten kann.

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

Parameter

lpClientRect
[in, out] Zeiger auf eine Rechteckstruktur. Bei Eingaben enthält diese Struktur das Clientrechteck. Nach Abschluss der Methode enthält diese Struktur das Fensterrechteck, das das angegebene Clientrechteck enthalten kann.

nAdjustType
[in] Wird CWnd::adjustBorder verwendet, um Fensterkoordinaten ohne Formatvorlage WS_EX_CLIENTEDGE zu berechnen; andernfalls verwenden Sie CWnd::adjustOutside.

Hinweise

Die Größe des berechneten Fensterrechtecks enthält keinen Platz für eine Menüleiste.

Weitere Nutzungseinschränkungen finden Sie unter AdjustWindowRectEx.

Beispiel

// 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

Rufen Sie diese Memberfunktion auf, um eine QuickInfo vom Bildschirm zu entfernen, wenn derzeit eine QuickInfo angezeigt wird.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parameter

bKeys
TRUE um QuickInfos abzubrechen, wenn eine Taste gedrückt wird, und legen Sie den Statusleistentext auf den Standardwert fest. andernfalls FALSE.

Hinweise

Hinweis

Die Verwendung dieser Memberfunktion hat keine Auswirkungen auf Tooltipps, die von Ihrem Code verwaltet werden. Es wirkt sich nur auf das toolinfo-Steuerelement aus, das von CWnd::EnableToolTips.

Beispiel

// 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

Zentriert ein Fenster relativ zu dessen übergeordnetem Element.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parameter

pAlternateOwner
Zeigen Sie auf ein alternatives Fenster relativ zu dem es zentriert wird (außer dem übergeordneten Fenster).

Hinweise

Wird in der Regel von CDialog::OnInitDialog bis zu mittleren Dialogfeldern relativ zum Standard Fenster der Anwendung aufgerufen. Standardmäßig zentriert die Funktion untergeordnete Fenster relativ zu ihrem übergeordneten Fenster und Popupfenster relativ zum Besitzer. Wenn das Popupfenster nicht im Besitz ist, wird es relativ zum Bildschirm zentriert. Um ein Fenster relativ zu einem bestimmten Fenster zu zentrieren, das nicht der Besitzer oder das übergeordnete Element ist, kann der pAlternateOwner Parameter auf ein gültiges Fenster festgelegt werden. Um die Zentrierung relativ zum Bildschirm zu erzwingen, übergeben Sie den wert, der als CWnd::GetDesktopWindowpAlternateOwnerzurückgegeben wird.

Beispiel

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

CWnd Entfernt aus der Kette der Zwischenablageanzeigen und macht das Fenster durch hWndNext den Nachfolger des CWnd Vorgängers in der Kette angegeben.

BOOL ChangeClipboardChain(HWND hWndNext);

Parameter

hWndNext
Identifiziert das fenster, das in der Zwischenablageanzeigekette folgt CWnd .

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

CWnd::CheckDlgButton

Wählt eine Schaltfläche aus (platziert ein Häkchen neben) oder löscht (entfernt ein Häkchen aus) oder ändert den Zustand einer Schaltfläche mit drei Status.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Parameter

nIDButton
Gibt die zu ändernde Schaltfläche an.

nCheck
Gibt die auszuführende Aktion an. Ist "nonzero" angegeben, platziert die CheckDlgButton Memberfunktion ein Häkchen neben der Schaltfläche. Wenn nCheck 0, wird das Häkchen entfernt. Bei Drei-Zustand-Schaltflächen ist der nCheck Schaltflächenzustand bei 2 unbestimmt.

Hinweise

Die CheckDlgButton Funktion sendet eine BM_SETCHECK Nachricht an die angegebene Schaltfläche.

Beispiel

// 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

Wählt ein bestimmtes Optionsfeld in einer Gruppe aus (fügt ein Häkchen hinzu) und löscht (entfernt ein Häkchen aus) alle anderen Optionsfelder in der Gruppe.

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

Parameter

nIDFirstButton
Gibt den ganzzahligen Bezeichner des ersten Optionsfelds in der Gruppe an.

nIDLastButton
Gibt den ganzzahligen Bezeichner des letzten Optionsfelds in der Gruppe an.

nIDCheckButton
Gibt den ganzzahligen Bezeichner des zu überprüfenden Optionsfelds an.

Hinweise

Die CheckRadioButton Funktion sendet eine BM_SETCHECK Nachricht an das angegebene Optionsfeld.

Beispiel

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

CWnd::ChildWindowFromPoint

Bestimmt, welche untergeordneten Fenster CWnd den angegebenen Punkt enthalten.

CWnd* ChildWindowFromPoint(POINT point) const;

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

Parameter

point
Gibt die Clientkoordinaten des zu testenden Punkts an.

nflags
Gibt an, welche untergeordneten Fenster übersprungen werden sollen. Dieser Parameter kann eine Kombination der folgenden Werte sein:

Wert Bedeutung
CWP_ALL Keine untergeordneten Fenster überspringen
CWP_SKIPINVISIBLE Unsichtbare untergeordnete Fenster überspringen
CWP_SKIPDISABLED Deaktivierte untergeordnete Fenster überspringen
CWP_SKIPTRANSPARENT Transparente untergeordnete Fenster überspringen

Rückgabewert

Identifiziert das untergeordnete Fenster, das den Punkt enthält. NULL Wenn der angegebene Punkt außerhalb des Kundenbereichs liegt. Wenn sich der Punkt innerhalb des Clientbereichs befindet, aber nicht in einem untergeordneten Fenster enthalten ist, CWnd wird zurückgegeben.

Diese Memberfunktion gibt ein ausgeblendetes oder deaktiviertes untergeordnetes Fenster zurück, das den angegebenen Punkt enthält.

Mehrere Fenster können den angegebenen Punkt enthalten. Diese Funktion gibt jedoch nur das CWnd* des ersten Fensters zurück, das den Punkt enthält.

Das CWndzurückgegebene * ist möglicherweise temporär und sollte nicht zur späteren Verwendung gespeichert werden.

Beispiel

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

Konvertiert die Clientkoordinaten eines bestimmten Punkts oder Rechtecks auf der Anzeige zu Bildschirmkoordinaten.

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

Parameter

lpPoint
Verweist auf eine Struktur oder CPoint ein POINT Objekt, die die zu konvertierenden Clientkoordinaten enthält.

lpRect
Verweist auf eine Struktur oder CRect ein RECT Objekt, die die zu konvertierenden Clientkoordinaten enthält.

Hinweise

Die ClientToScreen Memberfunktion verwendet die Clientkoordinaten in der POINT Struktur oder RECT das objektCRect, auf das CPoint bzw. das durch lpPoint oder lpRect um neue Bildschirmkoordinaten verweist. Anschließend werden die Koordinaten in der Struktur durch die neuen Koordinaten ersetzt. Die neuen Bildschirmkoordinaten sind relativ zur oberen linken Ecke der Systemanzeige.

Die ClientToScreen Memberfunktion geht davon aus, dass sich der angegebene Punkt oder das Rechteck in Clientkoordinaten befindet.

Beispiel

// 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

Minimiert das Fenster.

void CloseWindow();

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion CloseWindow, wie im Windows SDK beschrieben.

CWnd::ContinueModal

Diese Memberfunktion wird aufgerufen RunModalLoop , um zu bestimmen, wann der modale Zustand beendet werden soll.

virtual BOOL ContinueModal();

Rückgabewert

Nonzero, wenn modale Schleife fortgesetzt werden soll; 0, wenn EndModalLoop aufgerufen wird.

Hinweise

Standardmäßig gibt sie nicht null zurück, bis EndModalLoop sie aufgerufen wird.

CWnd::Create

Erstellt das angegebene untergeordnete Fenster und fügt es an das CWnd Objekt an.

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

Parameter

lpszClassName
[in] Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen einer registrierten Systemfensterklasse enthält; oder der Name einer vordefinierten Systemfensterklasse.

lpszWindowName
[in] Zeiger auf eine mit Null beendete Zeichenfolge, die den Anzeigenamen des Fensters enthält; andernfalls NULL für keinen Fensteranzeigenamen.

dwStyle
[in] Bitweise Kombination (OR) von Fensterformatvorlagen. Die WS_POPUP Option ist keine gültige Formatvorlage.

rect
[in] Die Größe und Position des Fensters relativ zur oberen linken Ecke des übergeordneten Fensters.

pParentWnd
[in] Zeiger auf das übergeordnete Fenster.

nID
[in] ID des Fensters.

pContext
[in] Zeiger auf eine CCreateContext Struktur, die zum Anpassen der Dokumentansichtsarchitektur für die Anwendung verwendet wird.

Rückgabewert

TRUE wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Warnung

CWnd::PreCreateWindowweist nun dem Zeiger das hMenuthis Element des CREATESTRUCT Parameters zu, wenn das Menü und die Formatvorlage enthalten WS_CHILDistNULL. Stellen Sie für die ordnungsgemäße Funktionalität sicher, dass das Dialogfeldsteuerelement über eine ID verfügt, die nicht NULLangegeben ist.

Diese Änderung behebt einen Absturz in verwalteten/nativen Interoperabilitätsszenarien. Eine TRACE Anweisung in CWnd::Create der Benachrichtigung des Entwicklers des Problems.

Verwenden Sie die AfxRegisterWndClass Funktion, um Fensterklassen zu registrieren. Benutzerdefinierte Fensterklassen sind im Modul verfügbar, in dem sie registriert sind.

Die CWnd::OnCreate Methode wird aufgerufen, bevor die Create Methode zurückgegeben wird und bevor das Fenster sichtbar wird.

Beispiel

// 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

Erstellt einen Active Accessibility-Proxy für das angegebene Objekt.

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

Parameter

wParam
Identifiziert das Objekt, auf das über den Active Accessibility-Proxy zugegriffen wird. Dies kann einer der folgenden Werte sein:

Wert Bedeutung
OBJID_CLIENT Bezieht sich auf den Clientbereich des Fensters.

lParam
Stellt zusätzliche nachrichtenabhängige Informationen bereit.

pResult
Ein Zeiger auf einen LRESULT , der den Ergebniscode speichert.

Hinweise

Erstellt einen Active Accessibility-Proxy für das angegebene Objekt.

CWnd::CreateCaret

Erstellt ein neues Shape für das System caret und den Anspruchsbesitz des Carets.

void CreateCaret(CBitmap* pBitmap);

Parameter

pBitmap
Identifiziert die Bitmap, die das Caret-Shape definiert.

Hinweise

Die Bitmap muss zuvor von der Memberfunktion, der CBitmap::CreateBitmapCreateDIBitmap Windows-Funktion oder der CBitmap::LoadBitmap Memberfunktion erstellt worden sein.

CreateCaret zerstört automatisch das vorherige Caret-Shape, falls vorhanden, unabhängig davon, welches Fenster das Caret besitzt. Nach der Erstellung wird das Caret zunächst ausgeblendet. Um das Caret anzuzeigen, muss die ShowCaret Memberfunktion aufgerufen werden.

Das System caret ist eine freigegebene Ressource. CWnd sollte nur dann ein Caret erstellen, wenn er den Eingabefokus hat oder aktiv ist. Er sollte das Caret zerstören, bevor er den Eingabefokus verliert oder inaktiv wird.

Beispiel

// 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

Verwenden Sie diese Memberfunktion, um ein ActiveX-Steuerelement zu erstellen, das im MFC-Programm durch ein CWnd Objekt dargestellt wird.

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);

Parameter

pszClass
Diese Zeichenfolge kann den OLE-"Kurznamen" (ProgID) für die Klasse enthalten. Beispiel: "CIRC3.Circ3Ctrl.1". Der Name muss mit demselben Namen übereinstimmen, der vom Steuerelement registriert ist. Alternativ kann die Zeichenfolge die Zeichenfolgenform einer CLSIDin geschweiften Klammern enthaltenen Zeichenfolge enthalten. Beispiel: "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Konvertiert in beiden Fällen CreateControl die Zeichenfolge in die entsprechende Klassen-ID.

pszWindowName
Ein Zeiger auf den Text, der im Steuerelement angezeigt werden soll. Legt den Wert der Caption- oder Text-Eigenschaft des Steuerelements fest (falls vorhanden). Wenn NULLdie Beschriftungs- oder Texteigenschaft des Steuerelements nicht geändert wird.

dwStyle
Windows-Formatvorlagen. Die verfügbaren Formatvorlagen werden unter "Anmerkungen" aufgeführt.

rect
Gibt die Größe und Position des Steuerelements an. Dabei kann es sich um ein CRect Objekt oder eine RECT Struktur handeln.

ppt
Verweist auf eine Struktur oder CPoint ein POINT Objekt, die die obere linke Ecke des Steuerelements enthält.

pSize
Verweist auf eine Struktur oder CSize ein SIZE Objekt, die die Größe des Steuerelements enthält.

*pParentWnd*
Gibt das übergeordnete Fenster des Steuerelements an. Es darf nicht sein NULL.

nID
Gibt die ID des Steuerelements an.

pPersist
Ein Zeiger auf einen CFile , der den permanenten Zustand für das Steuerelement enthält. Der Standardwert ist NULL, der angibt, dass das Steuerelement sich selbst initialisiert, ohne seinen Zustand aus einem dauerhaften Speicher wiederherzustellen. Andernfalls NULLsollte es sich um einen Zeiger auf ein CFileabgeleitetes Objekt handeln, das die persistenten Daten des Steuerelements in Form eines Datenstroms oder eines Speichers enthält. Diese Daten konnten in einer vorherigen Aktivierung des Clients gespeichert werden. Dies CFile kann andere Daten enthalten, muss jedoch den Lese-/Schreibzeiger auf das erste Byte persistenter Daten zum Zeitpunkt des Aufrufs CreateControlfestgelegt haben.

bStorage
Gibt an, ob die Daten pPersist als oder IStream Daten interpretiert IStorage werden sollen. Wenn es sich bei den Daten um pPersist einen Speicher handelt, bStorage sollte es sich um TRUEeinen . Wenn es sich bei den Daten in pPersist um einen Datenstrom handelt, bStorage sollte es sich um einen Datenstrom handelt FALSE. Der Standardwert ist FALSE.

bstrLicKey
Optionale Lizenzschlüsseldaten. Diese Daten werden nur zum Erstellen von Steuerelementen benötigt, für die ein Laufzeitlizenzschlüssel erforderlich ist. Wenn das Steuerelement die Lizenzierung unterstützt, müssen Sie einen Lizenzschlüssel angeben, damit das Steuerelement erfolgreich erstellt werden kann. Der Standardwert ist NULL.

clsid
Die eindeutige Klassen-ID des Steuerelements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

CreateControl ist eine direkte Analogie der CWnd::Create Funktion, die das Fenster für ein CWnd. CreateControl erstellt ein ActiveX-Steuerelement anstelle eines normalen Fensters.

Es werden nur eine Teilmenge der Windows-Flags dwStyle unterstützt für CreateControl:

  • WS_VISIBLE Erstellt ein Fenster, das anfangs sichtbar ist. Erforderlich, wenn das Steuerelement sofort sichtbar sein soll, z. B. normale Fenster.

  • WS_DISABLED Erstellt ein Fenster, das anfänglich deaktiviert ist. Ein deaktiviertes Fenster kann keine Eingaben vom Benutzer empfangen. Kann festgelegt werden, wenn das Steuerelement über eine Enabled-Eigenschaft verfügt.

  • WS_BORDER Erstellt ein Fenster mit einem dünnen Rahmen. Kann festgelegt werden, wenn das Steuerelement über eine BorderStyle Eigenschaft verfügt.

  • WS_GROUP Gibt das erste Steuerelement einer Gruppe von Steuerelementen an. Der Benutzer kann den Tastaturfokus mithilfe der Richtungstasten von einem Steuerelement in der Gruppe zum nächsten ändern. Alle Steuerelemente, die nach dem ersten Steuerelement mit der WS_GROUP Formatvorlage definiert sind, gehören zur gleichen Gruppe. Das nächste Steuerelement mit der WS_GROUP Formatvorlage beendet die Gruppe und startet die nächste Gruppe.

  • WS_TABSTOP Gibt ein Steuerelement an, das den Tastaturfokus erhalten kann, wenn der Benutzer die TAB-TASTE drückt. Durch Drücken der TAB-TASTE wird der Tastaturfokus auf das nächste Steuerelement der WS_TABSTOP Formatvorlage geändert.

Beispiel

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

Erstellt das angegebene Fenster und fügt es an das CWnd Objekt an.

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);

Parameter

dwExStyle
Bitweise Kombination (OR) von erweiterten Fensterformatvorlagen; andernfalls NULL für die standardmäßige erweiterte Fensterformatvorlage.

lpszClassName
Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen einer registrierten Systemfensterklasse enthält; oder der Name einer vordefinierten Systemfensterklasse.

lpszWindowName
Zeiger auf eine mit Null beendete Zeichenfolge, die den Anzeigenamen des Fensters enthält; andernfalls NULL für keinen Fensteranzeigenamen.

dwStyle
Bitweise Kombination (OR) von Fensterformatvorlagen; andernfalls NULL für die Standardfensterformatvorlage.

x
Der anfängliche horizontale Abstand des Fensters von der linken Seite des Bildschirms oder dem übergeordneten Fenster.

y
Der anfängliche vertikale Abstand des Fensters vom oberen Bildschirmrand oder dem übergeordneten Fenster.

nWidth
Die Breite des Fensters in Pixel.

nHeight
Die Höhe des Fensters in Pixel.

hwndParent
Bei einem untergeordneten Fenster wird das Handle für das übergeordnete Fenster verwendet. andernfalls das Handle des Besitzerfensters, wenn das Fenster über einen Besitzer verfügt.

nIDorHMenu
Für ein untergeordnetes Fenster die Fenster-ID; andernfalls die ID eines Menüs für das Fenster.

lpParam
Zeiger auf Benutzerdaten, die an die CWnd::OnCreate Methode im lpCreateParams Feld übergeben werden.

rect
Die Größe und Position des Fensters relativ zum Bildschirm oder zum übergeordneten Fenster.

pParentWnd
Zeigen Sie für ein untergeordnetes Fenster auf das übergeordnete Fenster; andernfalls zeigen Sie auf das Besitzerfenster, wenn das Fenster über einen Besitzer verfügt.

nID
Für ein untergeordnetes Fenster die Fenster-ID; andernfalls die ID eines Menüs für das Fenster.

Rückgabewert

TRUE wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Warnung

CWnd::PreCreateWindowweist nun dem Zeiger das hMenuthis Element des CREATESTRUCT Parameters zu, wenn das Menü und die Formatvorlage enthalten WS_CHILDistNULL. Stellen Sie für die ordnungsgemäße Funktionalität sicher, dass das Dialogfeldsteuerelement über eine ID verfügt, die nicht NULLangegeben ist.

Diese Änderung behebt einen Absturz in verwalteten/nativen Interoperabilitätsszenarien. Eine TRACE Anweisung in CWnd::Create der Benachrichtigung des Entwicklers des Problems.

Die standardmäßige Formatvorlage für erweiterte Fenster ist WS_EX_LEFT. Die Standardfensterformatvorlage ist WS_OVERLAPPED.

Verwenden Sie die AfxRegisterWndClass Funktion, um Fensterklassen zu registrieren. Benutzerdefinierte Fensterklassen sind im Modul verfügbar, in dem sie registriert sind.

Abmessungen für untergeordnete Fenster sind relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Fensters. Abmessungen für Fenster der obersten Ebene sind relativ zur oberen linken Ecke des Bildschirms.

Die CWnd::OnCreate Methode wird aufgerufen, bevor die CreateEx Methode zurückgegeben wird und bevor das Fenster sichtbar wird.

Beispiel

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

Erstellt ein graues Rechteck für das System caret und anspruchsbesitz des Caret.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parameter

nWidth
Gibt die Breite des Carets (in logischen Einheiten) an. Wenn dieser Parameter 0 ist, wird die Breite auf die vom System definierte Fensterrahmenbreite festgelegt.

nHeight
Gibt die Höhe des Carets (in logischen Einheiten) an. Wenn dieser Parameter 0 ist, wird die Höhe auf die vom System definierte Fensterrahmenhöhe festgelegt.

Hinweise

Das Caret-Shape kann eine Linie oder ein Block sein.

Die Parameter nWidth und nHeight angeben die Breite und Höhe des Carets (in logischen Einheiten), die genaue Breite und Höhe (in Pixel) hängen vom Zuordnungsmodus ab.

Die Fensterrahmenbreite oder -höhe des Systems kann von der GetSystemMetrics Windows-Funktion mit den und SM_CYBORDER den SM_CXBORDER Indizes abgerufen werden. Durch die Verwendung der Fensterrahmenbreite oder -höhe wird sichergestellt, dass das Caret auf einer hochauflösenden Anzeige sichtbar ist.

Die CreateGrayCaret Memberfunktion zerstört automatisch das vorherige Caret-Shape, falls vorhanden, unabhängig davon, welches Fenster das Caret besitzt. Nach der Erstellung wird das Caret zunächst ausgeblendet. Um das Caret anzuzeigen, muss die ShowCaret Memberfunktion aufgerufen werden.

Das System caret ist eine freigegebene Ressource. CWnd sollte nur dann ein Caret erstellen, wenn er den Eingabefokus hat oder aktiv ist. Er sollte das Caret zerstören, bevor er den Eingabefokus verliert oder inaktiv wird.

Beispiel

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

CWnd::CreateSolidCaret

Erstellt ein einfarbiges Rechteck für das System caret und anspruchsbesitz des Caret.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parameter

nWidth
Gibt die Breite des Carets (in logischen Einheiten) an. Wenn dieser Parameter 0 ist, wird die Breite auf die vom System definierte Fensterrahmenbreite festgelegt.

nHeight
Gibt die Höhe des Carets (in logischen Einheiten) an. Wenn dieser Parameter 0 ist, wird die Höhe auf die vom System definierte Fensterrahmenhöhe festgelegt.

Hinweise

Das Caret-Shape kann eine Linie oder ein Block sein.

Die Parameter nWidth und nHeight angeben die Breite und Höhe des Carets (in logischen Einheiten), die genaue Breite und Höhe (in Pixel) hängen vom Zuordnungsmodus ab.

Die Fensterrahmenbreite oder -höhe des Systems kann von der GetSystemMetrics Windows-Funktion mit den und SM_CYBORDER den SM_CXBORDER Indizes abgerufen werden. Durch die Verwendung der Fensterrahmenbreite oder -höhe wird sichergestellt, dass das Caret auf einer hochauflösenden Anzeige sichtbar ist.

Die CreateSolidCaret Memberfunktion zerstört automatisch das vorherige Caret-Shape, falls vorhanden, unabhängig davon, welches Fenster das Caret besitzt. Nach der Erstellung wird das Caret zunächst ausgeblendet. Um das Caret anzuzeigen, muss die ShowCaret Memberfunktion aufgerufen werden.

Das System caret ist eine freigegebene Ressource. CWnd sollte nur dann ein Caret erstellen, wenn er den Eingabefokus hat oder aktiv ist. Er sollte das Caret zerstören, bevor er den Eingabefokus verliert oder inaktiv wird.

Beispiel

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

CWnd::CWnd

Erstellt ein CWnd-Objekt.

CWnd();

Hinweise

Das Windows-Fenster wird erst erstellt und angefügt, wenn die CreateEx Funktion oder Create member aufgerufen wird.

CWnd::Default

Ruft die Standardfensterprozedur auf.

LRESULT Default();

Rückgabewert

Hängt von der gesendeten Nachricht ab.

Hinweise

Die Standardfensterprozedur stellt die Standardverarbeitung für alle Fenstermeldungen bereit, die von einer Anwendung nicht verarbeitet werden. Diese Memberfunktion stellt sicher, dass jede Nachricht verarbeitet wird.

Beispiel

// 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

Ruft die Standardfensterprozedur auf, die die Standardverarbeitung für alle Fenstermeldungen bereitstellt, die von einer Anwendung nicht verarbeitet werden.

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

Parameter

message
Gibt die Windows-Nachricht an, die verarbeitet werden soll.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

Rückgabewert

Hängt von der gesendeten Nachricht ab.

Hinweise

Diese Memberfunktion stellt sicher, dass jede Nachricht verarbeitet wird. Sie sollte mit denselben Parametern aufgerufen werden, die von der Fensterprozedur empfangen werden.

CWnd::DeleteTempMap

Wird automatisch vom Leerlaufzeithandler des CWinApp Objekts aufgerufen.

static void PASCAL DeleteTempMap();

Hinweise

Löscht alle temporären CWnd Objekte, die von der FromHandle Memberfunktion erstellt wurden.

Beispiel

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

CWnd::DestroyWindow

Zerstört das windows-Fenster, das dem CWnd Objekt zugeordnet ist.

virtual BOOL DestroyWindow();

Rückgabewert

Nonzero, wenn das Fenster zerstört wird; andernfalls 0.

Hinweise

Die DestroyWindow Memberfunktion sendet entsprechende Meldungen an das Fenster, um sie zu deaktivieren und den Eingabefokus zu entfernen. Außerdem zerstört es das Menü des Fensters, löscht die Anwendungswarteschlange, zerstört herausragende Zeitgeber, entfernt den Besitz der Zwischenablage und bricht die Zwischenablage-Viewer-Kette auf, wenn CWnd sie sich oben in der Viewerkette befindet. Sie sendet WM_DESTROY und WM_NCDESTROY Nachrichten an das Fenster. Es zerstört das CWnd Objekt nicht.

DestroyWindowist platzhalter für die Durchführung sauber up. Da DestroyWindow es sich um eine virtuelle Funktion handelt, wird sie in jeder CWndabgeleiteten Klasse in der Klassenansicht angezeigt. Aber selbst wenn Sie diese Funktion in Ihrer CWndabgeleiteten Klasse außer Kraft setzen, DestroyWindow wird sie nicht unbedingt aufgerufen. Wenn DestroyWindow der MFC-Code nicht aufgerufen wird, müssen Sie ihn explizit in Ihrem eigenen Code aufrufen, wenn er aufgerufen werden soll.

Angenommen, Sie haben in einer CViewabgeleiteten Klasse außer Kraft gesetztDestroyWindow. Da der MFC-Quellcode keine der CFrameWndabgeleiteten Klassen aufruftDestroyWindow, wird ihr Außerkraftsetzung DestroyWindow nur aufgerufen, wenn Sie ihn explizit aufrufen.

Wenn das Fenster das übergeordnete Element von Fenstern ist, werden diese untergeordneten Fenster automatisch zerstört, wenn das übergeordnete Fenster zerstört wird. Die DestroyWindow Memberfunktion zerstört zuerst untergeordnete Fenster und dann das Fenster selbst.

Die DestroyWindow Memberfunktion zerstört auch moduslose Dialogfelder, die von CDialog::Create.

Wenn das CWnd zerstörte Objekt ein untergeordnetes Fenster ist und nicht über den WS_EX_NOPARENTNOTIFY Formatvorlagensatz verfügt, wird die WM_PARENTNOTIFY Nachricht an das übergeordnete Element gesendet.

Beispiel

// 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

Trennt ein Windows-Handle von einem CWnd-Objekt und gibt das Handle zurück.

HWND Detach();

Rückgabewert

A HWND für das Windows-Objekt.

Beispiel

Sehen Sie sich das Beispiel für CWnd::Attach.

CWnd::DlgDirList

Füllt ein Listenfeld mit einer Datei- oder Verzeichnisauflistung auf.

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

Parameter

lpPathSpec
Verweist auf eine mit Null beendete Zeichenfolge, die den Pfad oder Dateinamen enthält. DlgDirList ändert diese Zeichenfolge, die lang genug sein sollte, um die Änderungen zu enthalten. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

nIDListBox
Gibt den Bezeichner eines Listenfelds an. Wenn nIDListBox 0 ist, wird davon ausgegangen, DlgDirList dass kein Listenfeld vorhanden ist und nicht versucht, ein Listenfeld auszufüllen.

nIDStaticPath
Gibt den Bezeichner des statischen Textsteuerelements an, das zum Anzeigen des aktuellen Laufwerks und Verzeichnisses verwendet wird. Wenn nIDStaticPath 0 ist, wird davon ausgegangen, DlgDirList dass kein solches Textsteuerelement vorhanden ist.

nFileType
Gibt die Attribute der anzuzeigenden Dateien an. Dabei kann es sich um eine beliebige Kombination der folgenden Werte handeln:

  • DDL_READWRITE Lese-/Schreibzugriff auf Datendateien ohne zusätzliche Attribute.

  • DDL_READONLY Schreibgeschützte Dateien.

  • DDL_HIDDEN Ausgeblendete Dateien.

  • DDL_SYSTEM Systemdateien.

  • DDL_DIRECTORY Verzeichnisse.

  • DDL_ARCHIVE Archive.

  • DDL_POSTMSGSLB_DIR Flag. Wenn die LB_DIR Kennzeichnung festgelegt ist, platziert Windows die von DlgDirList der Anwendung generierten Nachrichten in der Warteschlange. Andernfalls werden sie direkt an die Dialogfeldprozedur gesendet.

  • DDL_DRIVES Laufwerke. Wenn die DDL_DRIVES Kennzeichnung festgelegt ist, wird die DDL_EXCLUSIVE Kennzeichnung automatisch festgelegt. Um eine Verzeichnisauflistung zu erstellen, die Laufwerke und Dateien enthält, müssen Sie daher zweimal aufrufen DlgDirList : einmal mit dem DDL_DRIVES Kennzeichensatz und einmal mit den Flags für den Rest der Liste.

  • DDL_EXCLUSIVE Exklusives Bit. Wenn das exklusive Bit festgelegt ist, werden nur Dateien des angegebenen Typs aufgelistet; andernfalls werden normale Dateien und Dateien des angegebenen Typs aufgelistet.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

DlgDirList sendet LB_RESETCONTENT und LB_DIR Nachrichten an das Listenfeld. Es füllt das Listenfeld aus, das mit nIDListBox den Namen aller Dateien angegeben wird, die dem angegebenen lpPathSpecPfad entsprechen.

Der lpPathSpec Parameter hat das folgende Format:

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

In diesem Beispiel drive ist ein Laufwerkbuchstabe, directory ein gültiger Verzeichnisname und filename ein gültiger Dateiname, der mindestens ein Wild enthalten muss Karte. Die Platzhalter Karte sind ein Fragezeichen (?), was bedeutet, dass es sich um ein beliebiges Zeichen handelt, und ein Sternchen (*), was bedeutet, dass sie mit einer beliebigen Anzahl von Zeichen übereinstimmen.

Wenn Sie eine 0-Länge-Zeichenfolge für lpPathSpec, oder wenn Sie nur einen Verzeichnisnamen angeben, aber keine Dateispezifikation enthalten, wird die Zeichenfolge in "*.*" geändert.

Wenn lpPathSpec ein Laufwerk- und/oder Verzeichnisname enthalten ist, werden das aktuelle Laufwerk und das aktuelle Verzeichnis in das angegebene Laufwerk und verzeichnis geändert, bevor das Listenfeld ausgefüllt wird. Das von nIDStaticPath ihnen identifizierte Textsteuerelement wird auch mit dem neuen Laufwerk- und/oder Verzeichnisnamen aktualisiert.

Nachdem das Listenfeld ausgefüllt wurde, wird aktualisiert, lpPathSpec indem das Laufwerk und/oder der Verzeichnisteil des Pfads entfernt werden.

Beispiel

// 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

Füllt das Listenfeld eines Kombinationsfelds mit einer Datei- oder Verzeichnisauflistung auf.

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

Parameter

lpPathSpec
Verweist auf eine mit Null beendete Zeichenfolge, die den Pfad oder Dateinamen enthält. DlgDirListComboBox ändert diese Zeichenfolge, sodass sich diese Daten nicht in Form eines Zeichenfolgenliterals befinden sollten. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

nIDComboBox
Gibt den Bezeichner eines Kombinationsfelds in einem Dialogfeld an. Wenn nIDComboBox 0 ist, wird davon ausgegangen, DlgDirListComboBox dass kein Kombinationsfeld vorhanden ist und nicht versucht, ein Kombinationsfeld auszufüllen.

nIDStaticPath
Gibt den Bezeichner des statischen Textsteuerelements an, das zum Anzeigen des aktuellen Laufwerks und Verzeichnisses verwendet wird. Wenn nIDStaticPath 0 ist, wird davon ausgegangen, DlgDirListComboBox dass kein solches Textsteuerelement vorhanden ist.

nFileType
Gibt DOS-Dateiattribute der anzuzeigenden Dateien an. Dabei kann es sich um eine beliebige Kombination der folgenden Werte handeln:

  • DDL_READWRITE Lese-/Schreibzugriff auf Datendateien ohne zusätzliche Attribute.

  • DDL_READONLY Schreibgeschützte Dateien.

  • DDL_HIDDEN Ausgeblendete Dateien.

  • DDL_SYSTEM Systemdateien.

  • DDL_DIRECTORY Verzeichnisse.

  • DDL_ARCHIVE Archive.

  • DDL_POSTMSGSCB_DIR Flag. Wenn die CB_DIR Kennzeichnung festgelegt ist, platziert Windows die von DlgDirListComboBox der Anwendung generierten Nachrichten in der Warteschlange. Andernfalls werden sie direkt an die Dialogfeldprozedur gesendet.

  • DDL_DRIVES Laufwerke. Wenn die DDL_DRIVES Kennzeichnung festgelegt ist, wird die DDL_EXCLUSIVE Kennzeichnung automatisch festgelegt. Um eine Verzeichnisauflistung zu erstellen, die Laufwerke und Dateien enthält, müssen Sie daher zweimal aufrufen DlgDirListComboBox : einmal mit dem DDL_DRIVES Kennzeichensatz und einmal mit den Flags für den Rest der Liste.

  • DDL_EXCLUSIVE Exklusives Bit. Wenn das exklusive Bit festgelegt ist, werden nur Dateien des angegebenen Typs aufgelistet; andernfalls werden normale Dateien und Dateien des angegebenen Typs aufgelistet.

Rückgabewert

Gibt das Ergebnis der Funktion an. Es ist nicht null, wenn eine Auflistung erstellt wurde, sogar eine leere Auflistung. Ein 0-Rückgabewert impliziert, dass die Eingabezeichenfolge keinen gültigen Suchpfad enthält.

Hinweise

DlgDirListComboBox sendet CB_RESETCONTENT und CB_DIR Nachrichten an das Kombinationsfeld. Es füllt das Listenfeld des Kombinationsfelds, das mit nIDComboBox den Namen aller Dateien angegeben wird, die mit dem angegebenen lpPathSpecPfad übereinstimmen.

Der lpPathSpec Parameter hat das folgende Format:

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

In diesem Beispiel drive ist ein Laufwerkbuchstabe, directory ein gültiger Verzeichnisname und filename ein gültiger Dateiname, der mindestens ein Wild enthalten muss Karte. Die Platzhalter Karte sind ein Fragezeichen (?), was bedeutet, dass sie einem beliebigen Zeichen entsprechen, und einem Sternchen (*), was bedeutet, dass eine beliebige Anzahl von Zeichen übereinstimmt.

Wenn Sie eine leere Zeichenfolge angeben lpPathSpec, wird das aktuelle Verzeichnis verwendet und lpPathSpec nicht geändert. Wenn Sie nur einen Verzeichnisnamen angeben, aber keine Dateispezifikation enthalten, wird die Zeichenfolge in "*" geändert.

Wenn lpPathSpec ein Laufwerk- und/oder Verzeichnisname enthalten ist, werden das aktuelle Laufwerk und das aktuelle Verzeichnis in das angegebene Laufwerk und verzeichnis geändert, bevor das Listenfeld ausgefüllt wird. Das von nIDStaticPath ihnen identifizierte Textsteuerelement wird auch mit dem neuen Laufwerk- und/oder Verzeichnisnamen aktualisiert.

Nachdem das Kombinationsfeld-Listenfeld ausgefüllt wurde, wird aktualisiert, lpPathSpec indem das Laufwerk und/oder der Verzeichnisteil des Pfads entfernt werden.

Beispiel

// 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

Ruft die aktuelle Auswahl aus einem Listenfeld ab.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parameter

lpString
Verweist auf einen Puffer, der die aktuelle Auswahl im Listenfeld empfängt.

nIDListBox
Gibt die ganzzahlige ID eines Listenfelds im Dialogfeld an.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Es wird davon ausgegangen, dass das Listenfeld von der Memberfunktion ausgefüllt wurde und dass es sich bei der DlgDirList Auswahl um einen Laufwerkbuchstaben, eine Datei oder einen Verzeichnisnamen handelt.

Die DlgDirSelect Memberfunktion kopiert die Auswahl in den von lpString. Wenn keine Auswahl vorhanden ist, lpString ändert sich dies nicht.

DlgDirSelect sendet LB_GETCURSEL und LB_GETTEXT Nachrichten an das Listenfeld.

Es lässt nicht zu, dass mehr als ein Dateiname aus einem Listenfeld zurückgegeben wird. Das Listenfeld darf kein Listenfeld mit mehrfacher Auswahl sein.

CWnd::DlgDirSelectComboBox

Ruft die neueste Auswahl aus dem Listenfeld von einem Kombinationsfeld ab.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parameter

lpString
Verweist auf einen Puffer, der den ausgewählten Pfad empfängt.

nIDComboBox
Gibt die ganzzahlige ID des Kombinationsfelds im Dialogfeld an.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Es wird davon ausgegangen, dass das Listenfeld von der Memberfunktion ausgefüllt wurde und dass es sich bei der DlgDirListComboBox Auswahl um einen Laufwerkbuchstaben, eine Datei oder einen Verzeichnisnamen handelt.

Die DlgDirSelectComboBox Memberfunktion kopiert die Auswahl in den angegebenen Puffer. Wenn keine Auswahl vorhanden ist, werden die Inhalte des Puffers nicht geändert.

DlgDirSelectComboBox sendet CB_GETCURSEL und CB_GETLBTEXT Nachrichten an das Kombinationsfeld.

Es darf nicht mehr als ein Dateiname aus einem Kombinationsfeld zurückgegeben werden.

CWnd::DoDataExchange

Vom Framework aufgerufen, um Dialogdaten auszutauschen und zu überprüfen.

virtual void DoDataExchange(CDataExchange* pDX);

Parameter

pDX
Ein Zeiger auf ein CDataExchange-Objekt.

Hinweise

Rufen Sie diese Funktion nie direkt auf. Sie wird von der UpdateData Memberfunktion aufgerufen. Aufrufen UpdateData , um die Steuerelemente eines Dialogfelds zu initialisieren oder Daten aus einem Dialogfeld abzurufen.

Wenn Sie eine anwendungsspezifische Dialogklasse ableiten CDialog, müssen Sie diese Memberfunktion außer Kraft setzen, wenn Sie den automatischen Datenaustausch und die Validierung des Frameworks verwenden möchten. Der Assistent zum Hinzufügen von Variablen schreibt eine überschriebene Version dieser Memberfunktion für Sie, die die gewünschte "Datenzuordnung" des Dialogdatenaustauschs (DDX) und der globalen Funktionsaufrufe (Validation, DDV) enthält.

Um automatisch eine überschriebene Version dieser Memberfunktion zu generieren, erstellen Sie zuerst eine Dialogressource mit dem Dialog-Editor, und leiten Sie dann eine anwendungsspezifische Dialogklasse ab. Verwenden Sie dann den Assistenten "Variable hinzufügen", um Variablen, Daten und Gültigkeitsbereiche verschiedenen Steuerelementen im neuen Dialogfeld zuzuordnen. Der Assistent schreibt dann den Überschreibungsvorgang DoDataExchange, der eine Datenzuordnung enthält. Im Folgenden sehen Sie ein Beispiel für einen DDX/DDV-Codeblock, der vom Assistenten zum Hinzufügen von Variablen generiert wird:

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);
}

Die Außerkraftsetzungselementfunktion DoDataExchange muss den Makroanweisungen in der Quelldatei vorangehen.

Weitere Informationen zum Austausch und zur Validierung von Dialogfelddaten finden Sie unter Anzeigen und Bearbeiten von Daten in einem Formular und Dialogdatenaustausch und -validierung. Eine Beschreibung der vom Assistenten zum Hinzufügen von Variablen generierten DDX_ und DDV_ Makros finden Sie in technischem Hinweis 26.

CWnd::DragAcceptFiles

Rufen Sie diese Memberfunktion in einem Fenster mithilfe eines CWnd Zeigers in der Anwendung CWinApp::InitInstance auf, um anzugeben, dass das Fenster abgelegte Dateien aus dem Windows-Datei-Manager oder Explorer akzeptiert.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parameter

BAccept
Flag, das angibt, ob gezogene Dateien akzeptiert werden.

Hinweise

Nur das Fenster, das mit dem bAccept Parametersatz TRUE aufgerufen DragAcceptFiles wird, hat sich als in der Lage identifiziert, die Windows-Nachricht WM_DROPFILESzu verarbeiten. Wenn der Fensterzeiger beispielsweise in einer MDI-Anwendung CMDIFrameWnd im DragAcceptFiles Funktionsaufruf verwendet wird, ruft nur das CMDIFrameWnd Fenster die WM_DROPFILES Nachricht ab. Diese Nachricht wird nicht an alle geöffneten CMDIChildWnd Fenster gesendet. Damit ein CMDIChildWnd Fenster diese Nachricht empfängt, müssen Sie mit dem CMDIChildWnd Fensterzeiger anrufenDragAcceptFiles.

Um den Empfang von gezogenen Dateien abzubrechen, rufen Sie die Memberfunktion auf, auf bAccept die FALSEfestgelegt ist.

CWnd::DragDetect

Erfasst die Maus und zeichnet ihre Bewegung auf, bis der Benutzer die linke Maustaste loslässt, die ESC-Taste drückt oder die Maus so bewegt, dass sie sich außerhalb des Ziehrechtecks um den angegebenen Punkt herum befindet.

BOOL DragDetect(POINT pt) const;

Parameter

pt
Anfangsposition der Maus in Bildschirmkoordinaten. Die Funktion bestimmt die Koordinaten des Ziehrechtecks mithilfe dieses Punkts.

Rückgabewert

Wenn der Benutzer die Maus außerhalb des Ziehrechtecks verschoben hat, während er die linke Schaltfläche gedrückt hält, ist der Rückgabewert ungleich Null.

Wenn der Benutzer die Maus nicht außerhalb des Ziehrechtecks bewegt hat, während er die linke Schaltfläche gedrückt hält, ist der Rückgabewert null.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion DragDetect, wie im Windows SDK beschrieben.

CWnd::DrawAnimatedRects

Zeichnet ein Drahtrahmenrechteck und animiert es, um das Öffnen eines Symbols oder das Minimieren bzw. Maximieren eines Fensters anzudeuten.

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

Parameter

idAni
Gibt den Animationstyp an. Wenn Sie angebenIDANI_CAPTION, wird das Fenster Untertitel von der position animiert, die von lprcFrom der angegebenen Position angegeben wirdlprcTo. Der Effekt ähnelt dem Minimieren oder Maximieren eines Fensters.

lprcFrom
Zeigen Sie auf eine RECT Struktur, die die Position und Größe des Symbols oder minimiertes Fenster angibt.

lprcTo
Zeiger auf eine RECT Struktur, die die Position und Größe des wiederhergestellten Fensters angibt

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion DrawAnimatedRects, wie im Windows SDK beschrieben.

CWnd::DrawCaption

Zeichnet ein Fenster Untertitel.

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

Parameter

pDC
Ein Zeiger zu einem Gerätekontext. Die Funktion zeichnet das Fenster Untertitel in diesen Gerätekontext.

lprc
Ein Zeiger auf eine RECT Struktur, die das umgebende Rechteck für das Fenster Untertitel angibt.

uFlags
Gibt Zeichnungsoptionen an. Eine vollständige Liste der Werte finden Sie unter DrawCaption.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion DrawCaption, wie im Windows SDK beschrieben.

CWnd::DrawMenuBar

Zeichnet die Menüleiste neu.

void DrawMenuBar();

Hinweise

Wenn eine Menüleiste geändert wird, nachdem Windows das Fenster erstellt hat, rufen Sie diese Funktion auf, um die geänderte Menüleiste zu zeichnen.

Beispiel

Sehen Sie sich das Beispiel für CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Aktiviert benutzerdefinierte Active Accessibility-Funktionen.

void EnableActiveAccessibility();

Hinweise

Die standardmäßige Unterstützung für die aktive Barrierefreiheit von MFC reicht für Standardfenster und Steuerelemente, einschließlich ActiveX-Steuerelemente, aus. Wenn Ihre CWndabgeleitete Klasse jedoch nicht eingeblendete Benutzeroberflächenelemente enthält, hat MFC keine Möglichkeit, sie zu kennen. In diesem Fall müssen Sie die entsprechenden Active Accessibility-Memberfunktionen in Ihrer Klasse außer Kraft setzen, und Sie müssen den Konstruktor der Klasse aufrufen EnableActiveAccessibility .

CWnd::EnableDynamicLayout

Aktiviert oder deaktiviert den dynamischen Layout-Manager. Wenn das dynamische Layout aktiviert ist, können die Position und Größe von untergeordneten Fensters dynamisch angepasst werden, wenn der Benutzer die Größe des Fensters anpasst.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parameter

bEnable
TRUE um dynamisches Layout zu aktivieren; FALSE um das dynamische Layout zu deaktivieren.

Hinweise

Wenn Sie ein dynamisches Layout aktivieren möchten, reicht es nicht aus, nur diese Methode aufzurufen. Sie müssen auch Informationen zum dynamischen Layout bereitstellen, die angeben, wie die Steuerelemente im Fenster auf Änderungen der Größe reagieren. Sie können diese Informationen im Ressourcen-Editor oder programmgesteuert für jedes Steuerelement angeben. Siehe dynamisches Layout.

CWnd::EnableD2DSupport

Aktiviert oder deaktiviert die D2D-Unterstützung für Fenster. Rufen Sie diese Methode vor der Initialisierung des Hauptfensters auf.

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

Parameter

bEnable
Gibt an, ob die D2D-Unterstützung aktiviert oder deaktiviert werden soll.

bUseDCRenderTarget
Arten, ob das Renderziel Device Context (DC) verwendet werden soll. CDCRenderTarget Wenn der Wert FALSE ist, wird CHwndRenderTarget verwendet.

CWnd::EnableScrollBar

Aktiviert oder deaktiviert einen oder beide Pfeile auf einer Scrollleiste.

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

Parameter

nSBFlags
Gibt den Typ der Bildlaufleiste an. Kann einen der folgenden Werte aufweisen:

  • SB_BOTH Aktiviert oder deaktiviert die Pfeile der horizontalen und vertikalen Bildlaufleisten, die dem Fenster zugeordnet sind.

  • SB_HORZ Aktiviert oder deaktiviert die Pfeile der horizontalen Bildlaufleiste, die dem Fenster zugeordnet ist.

  • SB_VERT Aktiviert oder deaktiviert die Pfeile der vertikalen Bildlaufleiste, die dem Fenster zugeordnet ist.

nArrowFlags
Gibt an, ob die Bildlaufleistenpfeile aktiviert oder deaktiviert sind und welche Pfeile aktiviert oder deaktiviert sind. Kann einen der folgenden Werte aufweisen:

  • ESB_ENABLE_BOTH Aktiviert beide Pfeile einer Bildlaufleiste (Standardeinstellung).

  • ESB_DISABLE_LTUP Deaktiviert den linken Pfeil einer horizontalen Bildlaufleiste oder den Nach-oben-Pfeil einer vertikalen Bildlaufleiste.

  • ESB_DISABLE_RTDN Deaktiviert den Pfeil nach rechts einer horizontalen Bildlaufleiste oder den Abwärtspfeil einer vertikalen Bildlaufleiste.

  • ESB_DISABLE_BOTH Deaktiviert beide Pfeile einer Bildlaufleiste.

Rückgabewert

Nonzero, wenn die Pfeile wie angegeben aktiviert oder deaktiviert sind. Andernfalls ist es 0, was angibt, dass sich die Pfeile bereits im angeforderten Zustand befinden oder dass ein Fehler aufgetreten ist.

CWnd::EnableScrollBarCtrl

Aktiviert oder deaktiviert die Bildlaufleiste für dieses Fenster.

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

Parameter

nBar
Der Bezeichner der Bildlaufleiste.

bEnable
Gibt an, ob die Bildlaufleiste aktiviert oder deaktiviert werden soll.

Hinweise

Wenn das Fenster über ein gleichgeordnetes Bildlaufleisten-Steuerelement verfügt, wird diese Bildlaufleiste verwendet. andernfalls wird die eigene Bildlaufleiste des Fensters verwendet.

CWnd::EnableToolTips

Aktiviert QuickInfos für das angegebene Fenster.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parameter

bEnable
Gibt an, ob das QuickInfo-Steuerelement aktiviert oder deaktiviert ist. TRUE aktiviert das Steuerelement; FALSE deaktiviert das Steuerelement.

Rückgabewert

TRUE wenn QuickInfos aktiviert sind; andernfalls FALSE.

Hinweise

Überschreiben OnToolHitTest , um die TOOLINFO Struktur oder Struktur für das Fenster bereitzustellen.

Hinweis

Einige Fenster, z CToolBar. B. , bieten eine integrierte Implementierung von OnToolHitTest.

Weitere Informationen zu dieser Struktur finden Sie TOOLINFO im Windows SDK.

Einfaches Aufrufen EnableToolTips reicht nicht aus, um QuickInfos für Ihre untergeordneten Steuerelemente anzuzeigen, es sei denn, das übergeordnete Fenster wird von CFrameWnd. Dies liegt daran, dass CFrameWnd ein Standardhandler für die TTN_NEEDTEXT Benachrichtigung bereitgestellt wird. Wenn Ihr übergeordnetes Fenster nicht von CFrameWnddem abgeleitet ist, d. h. wenn es sich um ein Dialogfeld oder eine Formularansicht handelt, werden QuickInfos für die untergeordneten Steuerelemente nicht ordnungsgemäß angezeigt, es sei denn, Sie stellen einen Handler für die TTN_NEEDTEXT QuickInfo-Benachrichtigung bereit. Siehe Tool Tipps.

Die standardmäßigen QuickInfos, die für Ihre Fenster bereitgestellt werden, enthalten EnableToolTips keinen Text, der ihnen zugeordnet ist. Zum Abrufen von Text für die anzuzeigende QuickInfo wird die TTN_NEEDTEXT Benachrichtigung direkt vor der Anzeige des QuickInfo-Fensters an das übergeordnete Fenster des QuickInfo-Steuerelements gesendet. Wenn für diese Meldung kein Handler zum Zuweisen eines Werts zum pszText Element der TOOLTIPTEXT Struktur vorhanden ist, wird kein Text für die QuickInfo angezeigt.

Beispiel

// 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

Aktiviert oder deaktiviert die Nachverfolgung von QuickInfos.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parameter

bEnable
Gibt an, ob Die Tipps zum Nachverfolgen von Tools aktiviert oder deaktiviert sind. Wenn dieser Parameter lautet TRUE, werden die Tipps für das Nachverfolgungstool aktiviert. Wenn dieser Parameter lautet FALSE, werden die Tipps für das Nachverfolgungstool deaktiviert.

Rückgabewert

Gibt den Zustand an, bevor die EnableWindow Memberfunktion aufgerufen wurde. Der Rückgabewert ist nicht null, wenn das Fenster zuvor deaktiviert wurde. Der Rückgabewert ist 0, wenn das Fenster zuvor aktiviert oder ein Fehler aufgetreten ist.

Hinweise

Tipps zum Nachverfolgen von Tools sind QuickInfo-Fenster, die Sie dynamisch auf dem Bildschirm positionieren können. Durch eine schnelle Aktualisierung der Position scheint das QuickInfo-Fenster reibungslos oder "nachverfolgen" zu wechseln. Diese Funktion kann nützlich sein, wenn Sie QuickInfo-Text benötigen, um der Position des Zeigers zu folgen, während er verschoben wird.

CWnd::EnableWindow

Aktiviert oder deaktiviert die Maus- und Tastatureingaben.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parameter

bEnable
Gibt an, ob das angegebene Fenster aktiviert oder deaktiviert werden soll. Wenn dieser Parameter lautet TRUE, wird das Fenster aktiviert. Wenn dieser Parameter lautet FALSE, wird das Fenster deaktiviert.

Rückgabewert

Gibt den Zustand an, bevor die EnableWindow Memberfunktion aufgerufen wurde. Der Rückgabewert ist nicht null, wenn das Fenster zuvor deaktiviert wurde. Der Rückgabewert ist 0, wenn das Fenster zuvor aktiviert oder ein Fehler aufgetreten ist.

Hinweise

Wenn die Eingabe deaktiviert ist, werden Eingaben wie Mausklicks und Tastenanschläge ignoriert. Wenn die Eingabe aktiviert ist, verarbeitet das Fenster alle Eingaben.

Wenn sich der aktivierte Zustand ändert, wird die WM_ENABLE Nachricht gesendet, bevor diese Funktion zurückgegeben wird.

Wenn sie deaktiviert sind, werden alle untergeordneten Fenster implizit deaktiviert, obwohl sie keine Nachrichten gesendet WM_ENABLE werden.

Ein Fenster muss aktiviert werden, bevor es aktiviert werden kann. Wenn beispielsweise eine Anwendung ein Dialogfeld ohne Modus anzeigt und das Standard Fenster deaktiviert hat, muss das Standard-Fenster aktiviert werden, bevor das Dialogfeld zerstört wird. Andernfalls erhält ein anderes Fenster den Eingabefokus und wird aktiviert. Wenn ein untergeordnetes Fenster deaktiviert ist, wird es ignoriert, wenn Windows versucht, zu bestimmen, welches Fenster Mausnachrichten erhalten soll.

Standardmäßig ist ein Fenster aktiviert, wenn es erstellt wird. Eine Anwendung kann die WS_DISABLED Formatvorlage in der Create Oder CreateEx Memberfunktion angeben, um ein fenster zu erstellen, das anfänglich deaktiviert ist. Nachdem ein Fenster erstellt wurde, kann eine Anwendung auch die EnableWindow Memberfunktion verwenden, um das Fenster zu aktivieren oder zu deaktivieren.

Eine Anwendung kann diese Funktion verwenden, um ein Steuerelement in einem Dialogfeld zu aktivieren oder zu deaktivieren. Ein deaktiviertes Steuerelement kann den Eingabefokus nicht empfangen, oder ein Benutzer kann darauf zugreifen.

Beispiel

//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

Beendet einen Aufruf von RunModalLoop.

virtual void EndModalLoop(int nResult);

Parameter

nResult
Enthält den Wert, der an den Aufrufer von RunModalLoopzurückgegeben werden soll.

Hinweise

Der nResult Parameter wird an den Rückgabewert weitergegeben.RunModalLoop

CWnd::EndModalState

Rufen Sie diese Memberfunktion auf, um ein Framefenster von einem modalen in einen Status ohne Modus zu ändern.

virtual void EndModalState();

CWnd::EndPaint

Markiert das Ende der Malerei im angegebenen Fenster.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parameter

lpPaint
Verweist auf eine PAINTSTRUCT Struktur, die die von der BeginPaint Memberfunktion abgerufenen Malinformationen enthält.

Hinweise

Die EndPaint Memberfunktion ist für jeden Aufruf der Memberfunktion erforderlich, aber erst nach Abschluss des BeginPaint Malens.

Wenn das Caret von der BeginPaint Memberfunktion ausgeblendet wurde, EndPaint wird das Caret auf dem Bildschirm wiederhergestellt.

Beispiel

Sehen Sie sich das Beispiel für CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Initiiert eine Dialogfeldressource.

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

Parameter

lpszResourceName
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen der Ressource angibt.

lpResource
Ein Zeiger auf eine Ressource.

Rückgabewert

TRUE wenn eine Dialogressource ausgeführt wird; andernfalls FALSE.

Hinweise

ExecuteDlgInit verwendet Ressourcen, die an das ausgeführte Modul gebunden sind, oder Ressourcen aus anderen Quellen. Um dies zu erreichen, ExecuteDlgInit sucht ein Ressourcenhandle durch Aufrufen AfxFindResourceHandle. Wenn Ihre MFC-Anwendung die freigegebene DLL (MFCx0[U][D][D].DLL) nicht verwendet, AfxFindResourceHandle wird das AfxGetResourceHandleaktuelle Ressourcenhandle für die ausführbare Datei zurückgegeben. Wenn Ihre MFC-Anwendung, die MFCx0[U][D].DLL verwendet, die Objektliste der freigegebenen CDynLinkLibrary und MFC-Erweiterungs-DLLs durchläuft, AfxFindResourceHandle die nach dem richtigen Ressourcenhandle suchen.

CWnd::FilterToolTipMessage

Vom Framework aufgerufen, um QuickInfo-Meldungen anzuzeigen.

void FilterToolTipMessage(MSG* pMsg);

Parameter

pMsg
Ein Zeiger auf die QuickInfo-Nachricht.

Hinweise

In den meisten MFC-Anwendungen wird diese Methode vom Framework PreTranslateMessageEnableToolTipsaufgerufen, und Sie müssen sie nicht selbst aufrufen.

In bestimmten Anwendungen, z. B. einigen ActiveX-Steuerelementen, werden diese Methoden möglicherweise nicht vom Framework aufgerufen, und Sie müssen sich selbst aufrufen FilterToolTipMessage . Weitere Informationen finden Sie unter Methoden zum Erstellen von Tool-Tipps.

CWnd::FindWindow

Gibt die oberste Ebene CWnd zurück, deren Fensterklasse durch lpszClassName den Fensternamen oder den Titel angegeben wird.lpszWindowName

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

Parameter

lpszClassName
Verweist auf eine mit Null beendete Zeichenfolge, die den Klassennamen des Fensters (eine WNDCLASS Struktur) angibt. Ist lpClassName dies NULLder Grund, stimmen alle Klassennamen überein.

lpszWindowName
Verweist auf eine mit Null beendete Zeichenfolge, die den Fensternamen (den Titel des Fensters) angibt. Wenn lpWindowName ja NULL, stimmen alle Fensternamen überein.

Rückgabewert

Identifiziert das Fenster mit dem angegebenen Klassennamen und Fensternamen. NULL Wenn kein solches Fenster gefunden wird.

Das CWnd* kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Diese Funktion durchsucht keine untergeordneten Fenster.

Beispiel

// 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

Ruft das Fensterobjekt ab, dessen Klassenname und Fenstername den angegebenen Zeichenfolgen entsprechen.

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

Parameter

hwndParent
Behandeln Sie das übergeordnete Fenster, dessen untergeordnete Fenster durchsucht werden sollen.

hwndChildAfter
Behandeln eines untergeordneten Fensters. Die Suche beginnt mit dem nächsten untergeordneten Fenster in der Z-Reihenfolge. Das untergeordnete Fenster muss ein direktes untergeordnetes Fenster sein hwndParent, nicht nur ein untergeordnetes Fenster.

lpszClass
Zeiger auf eine mit Null beendete Zeichenfolge, die den Klassennamen oder ein Klassenatom angibt, der durch einen vorherigen Aufruf des oder RegisterClassExder RegisterClass .

lpszWindow
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Fensternamen (den Titel des Fensters) angibt. Wenn dieser Parameter lautet NULL, stimmen alle Fensternamen überein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Zeiger auf das Fensterobjekt mit den angegebenen Klassen- und Fensternamen. Wenn die Funktion fehlschlägt, lautet NULLder Rückgabewert .

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion FindWindowEx, wie im Windows SDK beschrieben.

CWnd::FlashWindow

Blinkt das angegebene Fenster einmal.

BOOL FlashWindow(BOOL bInvert);

Parameter

bInvert
Gibt an, ob der CWnd Zustand blinkt oder zurückgegeben werden soll. Der CWnd Wird von einem Zustand zum anderen geblitzt, wenn bInvert dies der Grund ist TRUE. Ist bInvert dies FALSEder Wert, wird das Fenster in den ursprünglichen Zustand (entweder aktiv oder inaktiv) zurückgegeben.

Rückgabewert

Nonzero, wenn das Fenster vor dem Aufruf der FlashWindow Memberfunktion aktiv war; andernfalls 0.

Hinweise

Erstellen Sie für aufeinanderfolgendes Blinken einen Systemzeitgeber und rufen Sie wiederholt auf FlashWindow. Das Blinken der Mittel bedeutet, CWnd die Darstellung der Titelleiste zu ändern, als ob die CWnd Änderung von inaktiv in den aktiven Status oder umgekehrt. (Eine inaktive Titelleiste ändert sich in eine aktive Titelleiste; eine aktive Titelleiste ändert sich in eine inaktive Titelleiste.)

In der Regel wird ein Fenster blinkt, um den Benutzer darüber zu informieren, dass es Aufmerksamkeit erfordert, aber dass es derzeit nicht den Eingabefokus hat.

Der bInvert Parameter sollte nur dann sein FALSE , wenn das Fenster den Eingabefokus erhält und nicht mehr blinkt. Er sollte TRUE auf aufeinander folgenden Aufrufen liegen, während er auf den Eingabefokus wartet.

Diese Funktion gibt immer nonzero für minimierte Fenster zurück. Wenn das Fenster minimiert ist, FlashWindow blinkt das Fenstersymbol; bInvert wird für minimierte Fenster ignoriert.

Beispiel

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

Blinkt das angegebene Fenster.

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

Parameter

*dwFlags*
Gibt den Blitzstatus an. Eine vollständige Liste der Werte finden Sie in der FLASHWINFO Struktur.

uCount
Gibt die Häufigkeit an, mit der das Fenster blinkt.

dwTimeout
Gibt die Rate in Millisekunden an, mit der das Fenster blinkt. Wenn dwTimeout null ist, verwendet die Funktion die Standardblitzrate des Cursors.

Rückgabewert

Der Rückgabewert gibt den Zustand des Fensters vor dem Aufruf der FlashWindowEx Funktion an. Wenn das Fenster Untertitel vor dem Aufruf als aktiv gezeichnet wurde, ist der Rückgabewert ungleich Null. Andernfalls ist der Rückgabewert null.

Hinweise

Diese Methode emuliert die Funktionalität der Funktion FlashWindowEx, wie im Windows SDK beschrieben.

CWnd::FromHandle

Gibt einen Zeigt zu einem CWnd-Objekt zurück, wenn ein Handle zu einem Fenster vorhanden ist. Wenn ein CWnd Objekt nicht an das Handle angefügt ist, wird ein temporäres CWnd Objekt erstellt und angefügt.

static CWnd* PASCAL FromHandle(HWND hWnd);

Parameter

hWnd
Ein HWND Windows-Fenster.

Rückgabewert

Gibt einen Zeigt zu einem CWnd-Objekt zurück, wenn ein Handle zu einem Fenster vorhanden ist. Wenn ein CWnd Objekt nicht an das Handle angefügt ist, wird ein temporäres CWnd Objekt erstellt und angefügt.

Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

CWnd::FromHandlePermanent

Gibt einen Zeigt zu einem CWnd-Objekt zurück, wenn ein Handle zu einem Fenster vorhanden ist.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parameter

hWnd
Ein HWND Windows-Fenster.

Rückgabewert

Ein Zeiger auf ein CWnd-Objekt.

Hinweise

Wenn ein CWnd Objekt nicht an das Handle angefügt ist, NULL wird dieses zurückgegeben.

Diese Funktion erstellt im Gegensatz dazu FromHandlekeine temporären Objekte.

CWnd::get_accChild

Wird durch das Framework aufgerufen, um die Adresse einer IDispatch-Schnittstelle für das angegebene, untergeordnete Element abzurufen.

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

Parameter

varChild
Identifiziert das untergeordnete Element, dessen IDispatch Schnittstelle abgerufen werden soll.

ppdispChild
Empfängt die Adresse der Schnittstelle des untergeordneten IDispatch Objekts.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accChild Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accChild Windows SDK.

CWnd::get_accChildCount

Wird durch das Framework aufgerufen, um die Zahl der untergeordneten Elemente abzurufen, die zu diesem Objekt gehören.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parameter

pcountChildren
Empfängt die Anzahl der untergeordneten Elemente.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accChildCount Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt). Rufen Sie die Basisklassenversion auf, und fügen Sie dann die nicht eingeblendten untergeordneten Elemente hinzu.

Weitere Informationen finden Sie im IAccessible::get_accChildCount Windows SDK.

CWnd::get_accDefaultAction

Wird durch das Framework aufgerufen, um eine Zeichenfolge abzurufen, die die Standardaktion des Objekts beschreibt.

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

Parameter

varChild
Gibt an, ob die abzurufende Standardaktion das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszDefaultAction
Adresse eines BSTR Objekts, das eine lokalisierte Zeichenfolge empfängt, die die Standardaktion für das angegebene Objekt beschreibt oder NULL wenn dieses Objekt keine Standardaktion aufweist.

Rückgabewert

Gibt S_OK bei Erfolg zurück, einem COM-Fehlercode bei Einem Fehler. Siehe Rückgabewerte in IAccessible::get_accDefaultAction im Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, um die Standardaktion Ihres Objekts zu beschreiben.

Weitere Informationen finden Sie im IAccessible::get_accDefaultAction Windows SDK.

CWnd::get_accDescription

Wird durch das Framework aufgerufen, um eine Zeichenfolge abzurufen, die die visuelle Darstellung des angegebenen Objekts beschreibt.

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

Parameter

varChild
Gibt an, ob die abzurufende Beschreibung das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszDescription
Adresse eines BSTR Objekts, das eine lokalisierte Zeichenfolge empfängt, die das angegebene Objekt beschreibt, oder NULL wenn keine Beschreibung für dieses Objekt verfügbar ist.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accDescription Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, um Ihr Objekt zu beschreiben. Rufen Sie die Basisklassenversion auf, und fügen Sie Ihre Beschreibung hinzu.

Weitere Informationen finden Sie im IAccessible::get_accDescription Windows SDK.

CWnd::get_accFocus

Wird durch das Framework aufgerufen, um das Objekt abzurufen, das den Tastaturfokus hat.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Parameter

pvarChild
Empfängt Informationen über das Objekt, das den Fokus hat. Siehe pvarID im IAccessible::get_accFocus Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accFocus Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accFocus Windows SDK.

CWnd::get_accHelp

Vom Framework aufgerufen, um die Hilfeeigenschaftszeichenfolge eines Objekts abzurufen.

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

Parameter

varChild
Gibt an, ob die abzurufenden Hilfeinformationen das Objekt oder eines der untergeordneten Elemente des Objekts sind. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszHelp
Adresse eines BSTR Objekts, das die lokalisierte Zeichenfolge mit den Hilfeinformationen für das angegebene Objekt empfängt oder NULL wenn keine Hilfeinformationen verfügbar sind.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accHelp Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in Ihrer CWndabgeleiteten Klasse, um Hilfetext für Ihr Objekt bereitzustellen.

Weitere Informationen finden Sie im IAccessible::get_accHelp Windows SDK.

CWnd::get_accHelpTopic

Wird vom Framework aufgerufen, um den vollständigen Pfad der WinHelp-Datei abzurufen, die dem angegebenen Objekt zugeordnet ist, und den Bezeichner des entsprechenden Themas innerhalb dieser Datei.

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

Parameter

pszHelpFile
Adresse eines BSTR Objekts, das den vollständigen Pfad der WinHelp Datei empfängt, die dem angegebenen Objekt zugeordnet ist, falls vorhanden.

varChild
Gibt an, ob das abzurufende Hilfethema das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen eines Hilfethemas für das Objekt) oder einer untergeordneten ID (zum Abrufen eines Hilfethemas für eines der untergeordneten Elemente des Objekts) sein.

pidTopic
Identifiziert das Hilfedateithema, das dem angegebenen Objekt zugeordnet ist. Siehe pidTopic im IAccessible::get_accHelpTopic Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accHelpTopic Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in Ihrer CWndabgeleiteten Klasse, um Hilfeinformationen zu Ihrem Objekt bereitzustellen.

Weitere Informationen finden Sie im IAccessible::get_accHelpTopic Windows SDK.

CWnd::get_accKeyboardShortcut

Wird durch das Framework aufgerufen, um die Tastenkombination oder Zugriffstaste des angegebenen Objekts abzurufen.

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

Parameter

varChild
Gibt an, ob die abzurufende Tastenkombination das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszKeyboardShortcut
Adresse eines BSTR Objekts, das eine lokalisierte Zeichenfolge empfängt, die die Tastenkombination identifiziert, oder NULL wenn dem angegebenen Objekt keine Tastenkombination zugeordnet ist.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accKeyboardShortcut Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung von Active Accessibility MFC.

Überschreiben Sie diese Funktion in ihrer CWndabgeleiteten Klasse, um die Tastenkombination für Ihr Objekt zu identifizieren.

Weitere Informationen finden Sie im IAccessible::get_accKeyboardShortcut Windows SDK.

CWnd::get_accName

Wird durch das Framework aufgerufen, um den Namen des angegebenen Objekts abzurufen.

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

Parameter

varChild
Gibt an, ob der abzurufende Name das Objekt oder eines der untergeordneten Elemente des Objekts ist. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszName
Adresse eines BSTR Objekts, das eine Zeichenfolge empfängt, die den Namen des angegebenen Objekts enthält.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accName Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, um den Namen des Objekts zurückzugeben.

Weitere Informationen finden Sie im IAccessible::get_accName Windows SDK.

CWnd::get_accParent

Wird durch das Framework aufgerufen, um die IDispatch-Schnittstelle des übergeordneten Elements des Objekts abzurufen.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Parameter

ppdispParent
Empfängt die Adresse der Schnittstelle des übergeordneten IDispatch Objekts. Die Variable wird festgelegt, NULL wenn kein übergeordnetes Element vorhanden ist oder wenn das untergeordnete Element nicht auf das übergeordnete Element zugreifen kann.

Rückgabewert

Gibt S_OK bei Erfolg einen COM Fehlercode für Fehler zurück. Siehe Rückgabewerte im IAccessible::get_accParent Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

In den meisten Fällen müssen Sie diese Funktion nicht außer Kraft setzen.

Weitere Informationen finden Sie im IAccessible::get_accParent Windows SDK.

CWnd::get_accRole

Wird durch das Framework aufgerufen, um Informationen abzurufen, die die Rolle des angegebenen Objekts beschreiben.

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

Parameter

varChild
Gibt an, ob die abzurufenden Rolleninformationen das Objekt oder eines der untergeordneten Elemente des Objekts sind. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pvarRole
Empfängt die Rolleninformationen. Siehe pvarRole im IAccessible::get_accRole Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accRole Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accRole Windows SDK.

CWnd::get_accSelection

Wird durch das Framework aufgerufen, um die ausgewählten, untergeordneten Elemente dieses Objekts abzurufen.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parameter

pvarChildren
Empfängt Informationen darüber, welche untergeordneten Elemente ausgewählt sind. Siehe pvarChildren im IAccessible::get_accSelection Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg zurück, einem COM-Fehlercode bei Einem Fehler. Siehe Rückgabewerte im IAccessible::get_accSelection Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accSelection Windows SDK.

CWnd::get_accState

Wird durch das Framework aufgerufen, um den aktuellen Status des angegebenen Objekts abzurufen.

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

Parameter

varChild
Gibt an, ob die abzurufenden Statusinformationen das Objekt oder eines der untergeordneten Elemente des Objekts sind. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pvarState
Empfängt Informationen zum Zustand des Objekts. Siehe pvarState im IAccessible::get_accState Windows SDK.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accState Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accState Windows SDK.

CWnd::get_accValue

Wird durch das Framework aufgerufen, um den Wert des angegebenen Objekts abzurufen.

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

Parameter

varChild
Gibt an, ob die abzurufenden Wertinformationen das Objekt oder eines der untergeordneten Elemente des Objekts sind. Dieser Parameter kann entweder CHILDID_SELF (zum Abrufen von Informationen über das Objekt) oder eine untergeordnete ID (zum Abrufen von Informationen zum untergeordneten Element des Objekts) sein.

pszValue
Die Adresse des Objekts, die BSTR eine lokalisierte Zeichenfolge empfängt, die den aktuellen Wert des Objekts enthält.

Rückgabewert

Gibt S_OK bei Erfolg einen COM-Fehlercode für fehler zurück. Siehe Rückgabewerte im IAccessible::get_accValue Windows SDK.

Hinweise

Diese Funktion ist Teil der Unterstützung für die aktive Barrierefreiheit von MFC.

Überschreiben Sie diese Funktion in der CWndabgeleiteten Klasse, wenn Sie nicht eingeblendete Benutzeroberflächenelemente haben (außer fensterlosen ActiveX-Steuerelementen, die MFC behandelt).

Weitere Informationen finden Sie im IAccessible::get_accValue Windows SDK.

CWnd::GetActiveWindow

Ruft einen Zeiger auf das aktive Fenster ab.

static CWnd* PASCAL GetActiveWindow();

Rückgabewert

Das aktive Fenster oder NULL wenn zum Zeitpunkt des Anrufs kein Fenster aktiv war. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Das aktive Fenster ist entweder das Fenster mit dem aktuellen Eingabefokus oder das Fenster, das explizit von der SetActiveWindow Memberfunktion aktiviert wurde.

CWnd::GetAncestor

Ruft das Vorgängerfensterobjekt des angegebenen Fensters ab.

CWnd* GetAncestor(UINT gaFlags) const;

Parameter

gaFlags
Gibt den vorgänger an, der abgerufen werden soll. Eine vollständige Liste der möglichen Werte finden Sie unter GetAncestor.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Zeiger auf das Vorgängerfensterobjekt. Wenn die Funktion fehlschlägt, lautet NULLder Rückgabewert .

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetAncestor, wie im Windows SDK beschrieben.

CWnd::GetCapture

Ruft das Fenster mit der Mausaufnahme ab.

static CWnd* PASCAL GetCapture();

Rückgabewert

Identifiziert das Fenster mit der Mausaufnahme. NULL Wenn kein Fenster über die Mauserfassung verfügt.

Der Rückgabewert kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Nur ein Fenster hat die Mausaufnahme zu einem bestimmten Zeitpunkt. Ein Fenster empfängt die Mausaufnahme, wenn die SetCapture Memberfunktion aufgerufen wird. Dieses Fenster empfängt Mauseingaben, unabhängig davon, ob sich der Cursor innerhalb des Rahmens befindet.

CWnd::GetCaretPos

Ruft die Clientkoordinaten der aktuellen Position des Carets ab und gibt sie als eine CPointzurück.

static CPoint PASCAL GetCaretPos();

Rückgabewert

CPoint -Objekt, das die Koordinaten der Caretposition enthält.

Hinweise

Die Caretposition wird in den Clientkoordinaten des CWnd Fensters angegeben.

CWnd::GetCheckedRadioButton

Ruft die ID des aktuell aktivierten Optionsfelds in der angegebenen Gruppe ab.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parameter

nIDFirstButton
Gibt den ganzzahligen Bezeichner des ersten Optionsfelds in der Gruppe an.

nIDLastButton
Gibt den ganzzahligen Bezeichner des letzten Optionsfelds in der Gruppe an.

Rückgabewert

ID des aktivierten Optionsfelds oder 0, wenn keine ausgewählt ist.

CWnd::GetClientRect

Kopiert die Clientkoordinaten des CWnd Clientbereichs in die Struktur, auf lpRectdie verwiesen wird.

void GetClientRect(LPRECT lpRect) const;

Parameter

lpRect
Verweist auf eine RECT Struktur oder ein CRect Objekt, um die Clientkoordinaten zu empfangen. Die Mitglieder und top die left Mitglieder sind 0. Die Elemente und bottom Elemente right enthalten die Breite und Höhe des Fensters.

Hinweise

Die Clientkoordinaten geben die oberen linken und unteren rechten Ecken des Clientbereichs an. Da Clientkoordinaten relativ zu den oberen linken Ecken des CWnd Clientbereichs sind, sind die Koordinaten der oberen linken Ecke (0,0).

Beispiel

Sehen Sie sich das Beispiel für CWnd::IsIconic.

CWnd::GetClipboardOwner

Ruft den aktuellen Besitzer der Zwischenablage ab.

static CWnd* PASCAL GetClipboardOwner();

Rückgabewert

Identifiziert das Fenster, das die Zwischenablage besitzt, wenn die Funktion erfolgreich ist. Andernfalls lautet der Wert NULL.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Die Zwischenablage kann weiterhin Daten enthalten, auch wenn sie derzeit nicht im Besitz ist.

CWnd::GetClipboardViewer

Ruft das erste Fenster in der Zwischenablageanzeigekette ab.

static CWnd* PASCAL GetClipboardViewer();

Rückgabewert

Identifiziert das Fenster, das derzeit für die Anzeige der Zwischenablage verantwortlich ist, wenn dies erfolgreich ist; andernfalls NULL (z. B. wenn kein Viewer vorhanden ist).

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

CWnd::GetControlUnknown

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf ein unbekanntes OLE-Steuerelement abzurufen.

LPUNKNOWN GetControlUnknown();

Rückgabewert

Ein Zeiger auf die IUnknown Schnittstelle des OLE-Steuerelements, das durch dieses CWnd Objekt dargestellt wird. Wenn dieses Objekt kein OLE-Steuerelement darstellt, lautet NULLder Rückgabewert .

Hinweise

Sie sollten diesen IUnknown Zeiger nicht freigeben. In der Regel würden Sie eine bestimmte Schnittstelle des Steuerelements abrufen.

Der von GetControlUnknown der Schnittstelle zurückgegebene Zeiger wird nicht vom Verweis gezählt. Rufen IUnknown::Release Sie den Zeiger nicht auf, es sei denn, Sie haben ihn zuvor aufgerufen IUnknown::AddRef .

Beispiel

// 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

Gibt einen Zeiger zur Nachricht zurück, die durch dieses Fenster zurzeit verarbeitet wird. Sollte nur aufgerufen werden, wenn in einer On Message-Message-Handler-Memberfunktion.

static const MSG* PASCAL GetCurrentMessage();

Rückgabewert

Gibt einen Zeiger auf die MSG Struktur zurück, die die Nachricht enthält, die das Fenster gerade verarbeitet. Sollte nur aufgerufen werden, wenn in einem OnMessage-Handler .

Beispiel

Sehen Sie sich das Beispiel für CMDIFrameWnd::MDICascade.

CWnd::GetDC

Ruft einen Zeiger auf einen allgemeinen, Klassen- oder privaten Gerätekontext für den Clientbereich ab, abhängig von der für die CWnd.

CDC* GetDC();

Rückgabewert

Gibt den Gerätekontext für den CWnd Clientbereich an, wenn dies erfolgreich ist. Andernfalls lautet NULLder Rückgabewert . Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Bei allgemeinen Gerätekontexten GetDC werden dem Kontext bei jedem Abrufen Standardattribute zugewiesen. Bei Klassen- und privaten Kontexten bleiben die zuvor zugewiesenen GetDC Attribute unverändert. Der Gerätekontext kann in nachfolgenden GDI-Funktionen (Graphics Device Interface) verwendet werden, um im Clientbereich zu zeichnen.

Sofern der Gerätekontext nicht zu einer Fensterklasse gehört, muss die ReleaseDC Memberfunktion aufgerufen werden, um den Kontext nach dem Zeichnen freizugeben.

Ein Gerätekontext, der zur CWnd Klasse gehört, wird von der GetDC Memberfunktion zurückgegeben, wenn CS_CLASSDCCS_OWNDC, oder CS_PARENTDC als Formatvorlage in der WNDCLASS Struktur angegeben wurde, als die Klasse registriert wurde.

CWnd::GetDCEx

Ruft das Handle eines Gerätekontexts für das CWnd Fenster ab.

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

Parameter

prgnClip
Identifiziert einen Clippingbereich, der mit dem sichtbaren Bereich des Clientfensters kombiniert werden kann.

flags
Kann einen der folgenden voreingestellten Werte aufweisen:

  • DCX_CACHE Gibt einen Gerätekontext aus dem Cache anstelle des OWNDC Fensters CLASSDC zurück. Überschreibt CS_OWNDC und CS_CLASSDC:

  • DCX_CLIPCHILDREN Schließt die sichtbaren Bereiche aller untergeordneten Fenster unterhalb des CWnd Fensters aus.

  • DCX_CLIPSIBLINGS Schließt die sichtbaren Bereiche aller gleichgeordneten Fenster oberhalb des CWnd Fensters aus.

  • DCX_EXCLUDERGN Schließt den aus dem sichtbaren Bereich des zurückgegebenen Gerätekontexts identifizierten prgnClip Clippingbereich aus.

  • DCX_INTERSECTRGN Überschneidet den Clippingbereich, der innerhalb des sichtbaren Bereichs des zurückgegebenen Gerätekontexts identifiziert prgnClip wird.

  • DCX_LOCKWINDOWUPDATE Ermöglicht das Zeichnen auch dann, wenn ein LockWindowUpdate Aufruf wirksam ist, der dieses Fenster andernfalls ausschließen würde. Dieser Wert wird während der Nachverfolgung für die Zeichnung verwendet.

  • DCX_PARENTCLIP Verwendet den sichtbaren Bereich des übergeordneten Fensters und ignoriert die Bits WS_CLIPCHILDREN und WS_PARENTDC Formatvorlagen des übergeordneten Fensters. Dieser Wert legt den Ursprung des Gerätekontexts auf die obere linke Ecke des CWnd Fensters fest.

  • DCX_WINDOW Gibt einen Gerätekontext zurück, der dem Fensterrechteck und nicht dem Clientrechteck entspricht.

Rückgabewert

Der Gerätekontext für das angegebene Fenster, wenn die Funktion erfolgreich ist; andernfalls NULL.

Hinweise

Der Gerätekontext kann in nachfolgenden GDI-Funktionen verwendet werden, um im Clientbereich zu zeichnen.

Diese Funktion, bei der es sich um eine Erweiterung der GetDC Funktion handelt, bietet einer Anwendung mehr Kontrolle darüber, wie und ob ein Gerätekontext für ein Fenster abgeschnitten wird.

Sofern der Gerätekontext nicht zu einer Fensterklasse gehört, muss die ReleaseDC Funktion aufgerufen werden, um den Kontext nach der Zeichnung freizugeben. Da jeweils nur fünf gängige Gerätekontexte verfügbar sind, kann das Freigeben eines Gerätekontexts andere Anwendungen daran hindern, zugriff auf einen Gerätekontext zu erhalten.

Um einen zwischengespeicherten Gerätekontext zu erhalten, muss eine Anwendung angeben DCX_CACHE. Wenn DCX_CACHE nicht angegeben ist und das Fenster weder CS_OWNDC noch CS_CLASSDCist, gibt diese Funktion zurück NULL.

Ein Gerätekontext mit besonderen Merkmalen wird von der GetDCEx Funktion zurückgegeben, wenn die CS_OWNDCCS_CLASSDC, oder CS_PARENTDC die Formatvorlage in der WNDCLASS Struktur angegeben wurde, als die Klasse registriert wurde.

Weitere Informationen zu diesen Merkmalen finden Sie in der Beschreibung der WNDCLASS Struktur im Windows SDK.

CWnd::GetDCRenderTarget

Ruft das Renderziel des Geräts Gerätekontext (DC) für das CWnd-Fenster ab.

CDCRenderTarget* GetDCRenderTarget();

Rückgabewert

Das Renderziel für den Gerätekontext für das angegebene Fenster, wenn die Funktion erfolgreich ist; andernfalls NULL.

Hinweise

CWnd::GetDescendantWindow

Rufen Sie diese Memberfunktion auf, um das durch die angegebene ID angegebene untergeordnete Fenster zu finden.

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

Parameter

nID
Gibt den Bezeichner des abzurufenden Steuerelements oder untergeordneten Fensters an.

bOnlyPerm
Gibt an, ob das zurückgegebene Fenster temporär sein kann. Wenn TRUE, nur ein permanentes Fenster zurückgegeben werden kann; wenn FALSE, kann die Funktion ein temporäres Fenster zurückgeben. Weitere Informationen zu temporären Fenstern finden Sie unter Technical Note 3.

Rückgabewert

Ein Zeiger auf ein CWnd Objekt oder NULL wenn kein untergeordnetes Fenster gefunden wird.

Hinweise

Diese Memberfunktion durchsucht die gesamte Struktur untergeordneter Fenster, nicht nur die Fenster, die direkt untergeordnete Elemente sind.

CWnd::GetDesktopWindow

Gibt das Windows-Desktopfenster zurück.

static CWnd* PASCAL GetDesktopWindow();

Rückgabewert

Identifiziert das Windows-Desktopfenster. Dieser Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Das Desktopfenster deckt den gesamten Bildschirm ab und ist der Bereich, in dem alle Symbole und andere Fenster gezeichnet werden.

CWnd::GetDlgCtrlID

Gibt den Wert der Fenster- oder Steuerelement-ID für ein untergeordnetes Fenster zurück, nicht nur das eines Steuerelements in einem Dialogfeld.

int GetDlgCtrlID() const;

Rückgabewert

Der numerische Bezeichner des CWnd untergeordneten Fensters, wenn die Funktion erfolgreich ist; andernfalls 0.

Hinweise

Da Fenster der obersten Ebene keinen ID-Wert aufweisen, ist der Rückgabewert dieser Funktion ungültig, wenn es CWnd sich um ein Fenster der obersten Ebene handelt.

Beispiel

Sehen Sie sich das Beispiel für CWnd::OnCtlColor.

CWnd::GetDlgItem

Ruft einen Zeiger auf das angegebene Steuerelement oder untergeordnete Fenster in einem Dialogfeld oder einem anderen Fenster ab.

CWnd* GetDlgItem(int nID) const;

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

Parameter

nID
Gibt den Bezeichner des abzurufenden Steuerelements oder untergeordneten Fensters an.

phWnd
Ein Zeiger auf ein untergeordnetes Fenster.

Rückgabewert

Ein Zeiger auf das angegebene Steuerelement oder untergeordnete Fenster. Wenn kein Steuerelement mit der ganzzahligen ID des nID Parameters vorhanden ist, lautet NULLder Wert .

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Der zurückgegebene Zeiger wird in der Regel in den Steuerelementtyp umgewandelt, der von nID.

Beispiel

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

CWnd::GetDlgItemInt

Ruft den Text des steuerelements ab, das durch nID.

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

Parameter

nID
Gibt den ganzzahligen Bezeichner des zu übersetzenden Dialogfeld-Steuerelements an.

lpTrans
Verweist auf die boolesche Variable, die das übersetzte Flag empfängt.

bSigned
Gibt an, ob der abzurufende Wert signiert ist.

Rückgabewert

Gibt den übersetzten Wert des Dialogfeldelementtexts an. Da 0 ein gültiger Rückgabewert ist, muss verwendet werden, lpTrans um Fehler zu erkennen. Wenn ein signierter Rückgabewert gewünscht wird, wandeln Sie ihn als Typ um int .

Die Funktion gibt 0 zurück, wenn die übersetzte Zahl größer als INT_MAX (für signierte Zahlen) oder UINT_MAX (für nicht signierte Nummern) ist.

Wenn Fehler auftreten, z. B. beim Auftreten nicht numerischer Zeichen und überschreitend der obigen Höchstwert, wird 0 an die Stelle kopiert, GetDlgItemInt auf lpTransdie verwiesen wird. Wenn keine Fehler vorhanden sind, lpTrans wird ein Wert ungleich Null empfangen. Ist lpTrans dies der Fall NULL, GetDlgItemInt warnt sie nicht vor Fehlern.

Hinweise

Er übersetzt den Text des angegebenen Steuerelements im angegebenen Dialogfeld in einen ganzzahligen Wert, indem zusätzliche Leerzeichen am Anfang des Texts entfernt und Dezimalziffern konvertiert werden. Sie stoppt die Übersetzung, wenn sie das Ende des Texts erreicht oder auf ein nicht numerisches Zeichen trifft.

Wenn bSigned ja TRUE, GetDlgItemInt wird am Anfang des Texts nach einem Minuszeichen (-) gesucht und der Text in eine signierte Zahl übersetzt. Andernfalls wird ein nicht signierter Wert erstellt.

Es sendet eine WM_GETTEXT Nachricht an das Steuerelement.

CWnd::GetDlgItemText

Rufen Sie diese Memberfunktion auf, um den Titel oder Text abzurufen, der einem Steuerelement in einem Dialogfeld zugeordnet ist.

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

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

Parameter

nID
Gibt den ganzzahligen Bezeichner des Steuerelements an, dessen Titel abgerufen werden soll.

lpStr
Verweist auf den Puffer, um den Titel oder Text des Steuerelements zu empfangen.

nMaxCount
Gibt die maximale Länge (in Zeichen) der Zeichenfolge an, in lpStrdie kopiert werden soll. Wenn die Zeichenfolge länger als nMaxCountist, wird sie abgeschnitten.

rString
Ein Verweis auf eine CString.

Rückgabewert

Gibt die tatsächliche Anzahl der in den Puffer kopierten Zeichen an, nicht einschließlich des endenden NULL-Zeichens. Der Wert ist 0, wenn kein Text kopiert wird.

Hinweise

Die GetDlgItemText Memberfunktion kopiert den Text an die Stelle, auf lpStr die verwiesen wird, und gibt eine Anzahl der Bytes zurück, die kopiert werden.

CWnd::GetDSCCursor

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf den zugrunde liegenden Cursor abzurufen, der durch die DataSourceEigenschaften , UserName, , Passwordund SQL des Datenquellensteuerelements definiert ist.

IUnknown* GetDSCCursor();

Rückgabewert

Ein Zeiger auf einen Cursor, der von einem Datenquellensteuerelement definiert wird. MFC kümmert sich um das Aufrufen AddRef des Zeigers.

Hinweise

Verwenden Sie den zurückgegebenen Zeiger, um die ICursor Eigenschaft eines komplexen datengebundenen Steuerelements festzulegen, z. B. das datengebundene Rastersteuerelement. Ein Datenquellensteuerelement wird erst aktiv, wenn das erste gebundene Steuerelement den Cursor anfordert. Dies kann entweder explizit durch einen Aufruf oder GetDSCCursor implizit durch den MFC-Bindungs-Manager geschehen. In beiden Fällen können Sie erzwingen, dass ein Datenquellensteuerelement aktiv wird, indem Sie den zurückgegebenen Zeiger aufrufen GetDSCCursorRelease und dann aufrufen.IUnknown Die Aktivierung bewirkt, dass das Datenquellensteuerelement versucht, eine Verbindung mit der zugrunde liegenden Datenquelle herzustellen. Der zurückgegebene Zeiger kann im folgenden Kontext verwendet werden:

Beispiel

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

Ruft einen Zeiger zum dynamischen Layout-Manager-Objekt ab.

CMFCDynamicLayout* GetDynamicLayout();

Rückgabewert

Ein Zeiger auf das Dynamische Layout-Manager-Objekt oder NULL wenn das dynamische Layout nicht aktiviert ist.

Hinweise

Das Fensterobjekt besitzt und verwaltet die Lebensdauer des zurückgegebenen Zeigers. Es sollte daher nur verwendet werden, um auf das Objekt zuzugreifen. Sie sollten den Zeiger weder löschen noch dauerhaft speichern.

CWnd::GetExStyle

Gibt den erweiterten Stil des Fensters zurück.

DWORD GetExStyle() const;

Rückgabewert

Die erweiterte Formatvorlage des Fensters. Weitere Informationen zu den in MFC verwendeten erweiterten Fensterformatvorlagen finden Sie unter "Erweiterte Fensterarten".

CWnd::GetFocus

Ruft einen Zeiger auf den Eingabefokus ab, der CWnd derzeit den Eingabefokus besitzt.

static CWnd* PASCAL GetFocus();

Rückgabewert

Ein Zeiger auf das Fenster mit dem aktuellen Fokus oder NULL wenn kein Fokusfenster vorhanden ist.

Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

CWnd::GetFont

Sendet die WM_GETFONT Nachricht an das Fenster, um die aktuelle Schriftart abzurufen.

CFont* GetFont() const;

Rückgabewert

Zeigen Sie auf ein CFont Objekt, das der aktuellen Schriftart für das Fenster zugeordnet ist.

Hinweise

Diese Methode hat keine Auswirkung, es sei denn, das Fenster verarbeitet die WM_GETFONT Nachricht. Viele MFC-Klassen, die von CWnd der Verarbeitung dieser Nachricht abgeleitet sind, weil sie an eine vordefinierte Fensterklasse angefügt sind, die einen Nachrichtenhandler für die WM_GETFONT Nachricht enthält. Um diese Methode zu verwenden, müssen Klassen, von denen Sie ableiten CWnd , einen Methodenhandler für die WM_GETFONT Nachricht definieren.

CWnd::GetForegroundWindow

Gibt einen Zeiger auf das Vordergrundfenster zurück (das Fenster, mit dem der Benutzer gerade arbeitet).

static CWnd* PASCAL GetForegroundWindow();

Rückgabewert

Ein Zeiger auf das Vordergrundfenster. Dies kann ein temporäres CWnd Objekt sein.

Hinweise

Das Vordergrundfenster gilt nur für Fenster der obersten Ebene (Rahmenfenster oder Dialogfelder).

CWnd::GetIcon

Rufen Sie diese Memberfunktion auf, um entweder ein großes (32 x 32) oder das Handle auf ein kleines Symbol (16x16) abzurufen, wie angegeben bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parameter

bBigIcon
Gibt ein Symbol von 32 Pixel x 32 Pixel an, wenn TRUE; gibt ein Symbol von 16 Pixel x 16 Pixel an, wenn FALSE.

Rückgabewert

Ein Handle zu einem Symbol. Wenn dies nicht erfolgreich ist, wird zurückgegeben NULL.

CWnd::GetLastActivePopup

Bestimmt, welches CWnd gehörige Popupfenster zuletzt aktiv war.

CWnd* GetLastActivePopup() const;

Rückgabewert

Identifiziert das zuletzt aktive Popupfenster. Der Rückgabewert ist das Fenster selbst, wenn eine der folgenden Bedingungen erfüllt ist:

  • Das Fenster selbst war zuletzt aktiv.

  • Das Fenster besitzt keine Popupfenster.

  • Das Fenster ist kein Fenster auf oberster Ebene oder besitzt kein anderes Fenster.

Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Beispiel

Sehen Sie sich das Beispiel für CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Ruft die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters ab.

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

Parameter

pcrKey
Zeigen Sie auf einen COLORREF Wert, der den Transparenzfarbschlüssel empfängt, der beim Verfassen des Mehrschichtfensters verwendet werden soll. Alle Pixel, die vom Fenster in dieser Farbe gezeichnet wurden, sind transparent. Dies kann sein NULL , wenn das Argument nicht benötigt wird.

pbAlpha
Zeiger auf einen BYTE , der den Alpha-Wert empfängt, der verwendet wird, um die Deckkraft des überschichteten Fensters zu beschreiben. Wenn die variable, auf die verwiesen pbAlpha wird, 0 ist das Fenster vollständig transparent. Wenn die variable, auf pbAlpha die verwiesen wird, 255 ist das Fenster undurchsichtig. Dies kann sein NULL , wenn das Argument nicht benötigt wird.

pdwFlags
Zeiger auf ein DWORD Layer-Flag, das ein Layer-Flag empfängt. Dies kann sein NULL , wenn das Argument nicht benötigt wird. Eine vollständige Liste der möglichen Werte finden Sie unter 'GetLayeredWindowAttributes.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetLayeredWindowAttributes, wie im Windows SDK beschrieben.

CWnd::GetMenu

Ruft einen Zeiger auf das Menü für dieses Fenster ab.

CMenu* GetMenu() const;

Rückgabewert

Identifiziert das Menü. Der Wert lautet, wenn CWnd kein Menü vorhanden istNULL. Der Rückgabewert ist nicht definiert, wenn CWnd es sich um ein untergeordnetes Fenster handelt.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Diese Funktion sollte nicht für untergeordnete Fenster verwendet werden, da sie nicht über ein Menü verfügen.

Beispiel

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

Ruft Informationen zur angegebenen Menüleiste ab.

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

Parameter

idObject
Gibt das Menüobjekt an. Eine Liste der möglichen Werte finden Sie unter GetMenuBarInfo.

idItem
Gibt das Element an, für das Informationen abgerufen werden sollen. Wenn dieser Parameter null ist, ruft die Funktion Informationen zum Menü selbst ab. Wenn dieser Parameter 1 ist, ruft die Funktion Informationen über das erste Element im Menü ab usw.

pmbi
Zeigen Sie auf eine MENUBARINFO Struktur, die die Informationen empfängt.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetMenuBarInfo, wie im Windows SDK beschrieben.

CWnd::GetNextDlgGroupItem

Sucht innerhalb einer Gruppe von Steuerelementen in einem Dialogfeld nach dem vorherigen oder nächsten Steuerelement.

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

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

Parameter

pWndCtl
Gibt das Steuerelement an, das als Ausgangspunkt für die Suche verwendet werden soll.

bPrevious
Gibt an, wie die Funktion die Gruppe von Steuerelementen im Dialogfeld durchsuchen soll. Wenn , sucht die Funktion nach dem vorherigen Steuerelement in der Gruppe. WennTRUEFALSE, wird nach dem nächsten Steuerelement in der Gruppe gesucht.

pCurSiteOrWnd
Identifiziert das COleControlSiteOrWnd Steuerelement. Weitere Informationen finden COleControlSiteOrWndSie in den Hinweisen.

Rückgabewert

Zeigen Sie auf das vorherige oder nächste Steuerelement in der Gruppe, wenn die Memberfunktion erfolgreich ist.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Eine Gruppe von Steuerelementen beginnt mit einem Steuerelement, das mit der WS_GROUP Formatvorlage erstellt wurde, und endet mit dem letzten Steuerelement, das nicht mit der WS_GROUP Formatvorlage erstellt wurde.

Standardmäßig gibt die GetNextDlgGroupItem Memberfunktion einen Zeiger auf das nächste Steuerelement in der Gruppe zurück. Wenn pWndCtl das erste Steuerelement in der Gruppe identifiziert wird und bPrevious ist TRUE, GetNextDlgGroupItem wird ein Zeiger auf das letzte Steuerelement in der Gruppe zurückgegeben.

Hinweis

Da MFC fensterlose ActiveX-Steuerelemente, Standard-ActiveX-Steuerelemente und -Fenster unterstützt, reicht das Verweisen auf ein Steuerelement nur HWND nicht mehr aus. Das COleControlSiteOrWnd Objekt enthält Informationen, die das Objekt als fensterloses ActiveX-Steuerelement, ein fensterloses ActiveX-Steuerelement oder ein Fenster wie folgt identifiziert:

Steuerelement- oder Fenstertyp Identifizieren von Informationen
ActiveX-Steuerelement mit Fenstern Enthält ein HWND COleControlSite -Objekt und ordnet es zu. Das m_hWnd Element des COleControlSiteOrWnd Steuerelements wird auf das HWND Steuerelement festgelegt, und das m_pSite Element verweist auf die Steuerelemente COleControlSite.
Fensterloses ActiveX-Steuerelement Enthält keine HWND. Das m_pSite Element des COleControlSiteOrWnd Steuerelements COleControlSiteverweist auf das Steuerelement, und das m_hWnd Element ist NULL.
Standardfenster Enthält nur ein HWND. Das m_hWnd Element COleControlSiteOrWnd von wird auf den HWND des Fensters festgelegt, und das m_pSite Element ist NULL.

CWnd::GetNextDlgTabItem

Ruft einen Zeiger auf das erste Steuerelement ab, das mit der WS_TABSTOP Formatvorlage erstellt wurde und dem angegebenen Steuerelement vorausgeht oder folgt.

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

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

Parameter

pWndCtl
Gibt das Steuerelement an, das als Ausgangspunkt für die Suche verwendet werden soll.

pCurSiteOrWnd
Identifiziert das COleControlSiteOrWnd Steuerelement. Weitere Informationen zu COleControlSiteOrWnd finden Sie unter CWnd::GetNextDlgGroupItem.

bPrevious
Gibt an, wie die Funktion das Dialogfeld durchsuchen soll. Wenn TRUE, sucht die Funktion im Dialogfeld nach dem vorherigen Steuerelement; wenn FALSE, wird nach dem nächsten Steuerelement gesucht.

Rückgabewert

Zeigen Sie auf das vorherige oder nächste Steuerelement mit der WS_TABSTOP Formatvorlage, wenn die Memberfunktion erfolgreich ist.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Weitere Informationen zu COleControlSiteOrWnd finden Sie unter CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Sucht nach dem nächsten (oder vorherigen) Fenster in der Liste des Fenster-Managers.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parameter

nFlag
Gibt an, ob die Funktion einen Zeiger auf das nächste Fenster oder das vorherige Fenster zurückgibt. Dabei kann es sich entweder GW_HWNDNEXTum ein Fenster handeln, das dem CWnd Objekt in der Liste des Fenster-Managers folgt, oder GW_HWNDPREVes kann sich um ein Fenster handeln, das das vorherige Fenster in der Liste des Fenster-Managers zurückgibt.

Rückgabewert

Gibt das nächste (oder das vorherige) Fenster in der Liste des Fenster-Managers an, wenn die Memberfunktion erfolgreich ist.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Die Liste des Fenster-Managers enthält Einträge für alle Fenster der obersten Ebene, die zugehörigen untergeordneten Fenster und die untergeordneten Fenster aller untergeordneten Fenster.

Wenn es sich um ein Fenster der obersten Ebene handelt, sucht die Funktion nach dem nächsten (oder vorherigen) Fenster der obersten Ebene. Wenn CWndCWnd es sich um ein untergeordnetes Fenster handelt, sucht die Funktion nach dem nächsten (oder vorherigen) untergeordneten Fenster.

CWnd::GetOleControlSite

Ruft die benutzerdefinierte Site für das angegebene ActiveX-Steuerelement ab.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parameter

idControl
Die ID des ActiveX-Steuerelements.

CWnd::GetOpenClipboardWindow

Ruft das Handle des Fensters ab, das derzeit die Zwischenablage geöffnet hat.

static CWnd* PASCAL GetOpenClipboardWindow();

Rückgabewert

Das Handle des Fensters, das derzeit die Zwischenablage geöffnet hat, wenn die Funktion erfolgreich ist; andernfalls NULL.

CWnd::GetOwner

Ruft einen Zeiger auf den Besitzer des Fensters ab.

CWnd* GetOwner() const;

Rückgabewert

Ein Zeiger auf ein CWnd-Objekt.

Hinweise

Wenn das Fenster keinen Besitzer hat, wird standardmäßig ein Zeiger auf das übergeordnete Fensterobjekt zurückgegeben. Beachten Sie, dass sich die Beziehung zwischen dem Besitzer und dem Besitz von dem übergeordneten untergeordneten Aspekt in mehreren wichtigen Aspekten unterscheidet. Beispielsweise ist ein Fenster mit einem übergeordneten Element auf den Clientbereich des übergeordneten Fensters beschränkt. Eigene Fenster können an einer beliebigen Stelle auf dem Desktop gezeichnet werden.

Das Besitzkonzept dieser Funktion unterscheidet sich vom Besitzkonzept von GetWindow.

CWnd::GetParent

Rufen Sie diese Funktion auf, um einen Zeiger auf das übergeordnete Fenster eines untergeordneten Fensters (sofern vorhanden) abzurufen.

CWnd* GetParent() const;

Rückgabewert

Weitere Informationen finden Sie im Abschnitt "Rückgabewerte" im GetParent Windows SDK.

Hinweise

Die GetParent Funktion gibt einen Zeiger auf das direkte übergeordnete Element (sofern vorhanden) zurück. Im Gegensatz dazu gibt die GetParentOwner Funktion einen Zeiger auf das direkt übergeordnete oder besitzerfenster zurück, das kein untergeordnetes Fenster ist (hat nicht die WS_CHILD Formatvorlage). Wenn Sie über ein untergeordnetes Fenster in einem untergeordneten Fenster GetParent verfügen und GetParentOwner unterschiedliche Ergebnisse zurückgeben.

CWnd::GetParentFrame

Rufen Sie diese Memberfunktion auf, um das übergeordnete Framefenster abzurufen.

CFrameWnd* GetParentFrame() const;

Rückgabewert

Ein Zeiger auf ein Rahmenfenster bei erfolgreicher Ausführung; andernfalls NULL.

Hinweise

Die Memberfunktion durchsucht die übergeordnete Kette, bis ein CFrameWnd (oder abgeleitetes Klassenobjekt) gefunden wird.

CWnd::GetParentOwner

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf das übergeordnete Fenster oder Besitzerfenster eines untergeordneten Fensters abzurufen.

CWnd* GetParentOwner() const;

Rückgabewert

Ein Zeiger auf ein CWnd-Objekt. Wenn ein CWnd Objekt nicht an das Handle angefügt ist, wird ein temporäres CWnd Objekt erstellt und angefügt. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

GetParentOwner gibt einen Zeiger auf das unmittelbarste übergeordnete fenster oder besitzerfenster zurück, das kein untergeordnetes Fenster ist (hat nicht die WS_CHILD Formatvorlage). Das aktuelle Besitzerfenster kann mit SetOwner. Standardmäßig ist das übergeordnete Element eines Fensters der Besitzer.

Im Gegensatz dazu gibt die GetParent Funktion einen Zeiger auf das direkte übergeordnete Element zurück, unabhängig davon, ob es sich um ein untergeordnetes Fenster handelt oder nicht. Wenn Sie über ein untergeordnetes Fenster in einem untergeordneten Fenster GetParent verfügen und GetParentOwner unterschiedliche Ergebnisse zurückgeben.

CWnd::GetProperty

Rufen Sie diese Memberfunktion auf, um die activeX-Steuerelementeigenschaft abzurufen, die durch dwDispID.

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

Parameter

dwDispID
Identifiziert die abzurufende Eigenschaft.

vtProp
Gibt den Typ der abzurufenden Eigenschaft an. Mögliche Werte finden Sie im Abschnitt "Hinweise" für COleDispatchDriver::InvokeHelper.

pvProp
Adresse der Variablen, die den Eigenschaftswert erhält. Sie muss mit dem durch vtPropangegebenen Typ übereinstimmen.

Hinweise

GetProperty gibt den Wert durch pvProp.

Hinweis

Diese Funktion sollte nur für ein CWnd Objekt aufgerufen werden, das ein ActiveX-Steuerelement darstellt.

Weitere Informationen zur Verwendung dieser Memberfunktion mit ActiveX-Steuerelementcontainern finden Sie im Artikel ActiveX-Steuerelementcontainer: Programmieren von ActiveX-Steuerelementen in einem ActiveX-Steuerelementcontainer.

CWnd::GetRenderTarget

Ruft ein Renderziel ab, das mit diesem Fenster verknüpft ist.

CHwndRenderTarget* GetRenderTarget();

Rückgabewert

Zeiger auf das Renderziel oder NULL.

CWnd::GetSafeHwnd

Gibt zurück m_hWnd, oder NULL wenn der this Zeiger ist NULL.

HWND GetSafeHwnd() const;

Rückgabewert

Gibt den Fensterziehpunkt für ein Fenster zurück. Gibt zurück NULL , wenn dies CWnd nicht an ein Fenster angefügt ist oder wenn sie mit einem NULLCWnd Zeiger verwendet wird.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SubclassWindow.

CWnd::GetSafeOwner

Rufen Sie diese Memberfunktion auf, um das Besitzerfenster abzurufen, das für Dialogfelder oder andere modale Fenster verwendet werden soll.

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

Parameter

pParent
Ein Zeiger auf ein übergeordnetes CWnd Fenster. Kann NULL sein.

pWndTop
Ein Zeiger auf das Fenster, das sich aktuell im Vordergrund befindet. Kann NULL sein.

Rückgabewert

Ein Zeiger auf den sicheren Besitzer für das angegebene Fenster.

Hinweise

Der sichere Besitzer ist das erste übergeordnete Fenster eines nicht untergeordneten Elements von pParent. Wenn pParent jaNULL, wird das Standard Fenster des Threads (abgerufen über AfxGetMainWnd) verwendet, um einen Besitzer zu finden.

Hinweis

Das Framework selbst verwendet diese Funktion, um das richtige Besitzerfenster für Dialogfelder und Eigenschaftenblätter zu bestimmen, in denen der Besitzer nicht angegeben ist.

CWnd::GetScrollBarCtrl

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf die angegebene gleichgeordnete Bildlaufleiste oder das Teilerfenster abzurufen.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parameter

nBar
Gibt den Typ der Bildlaufleiste an. Der Parameter kann einen der folgenden Werte annehmen:

  • SB_HORZ Ruft die Position der horizontalen Bildlaufleiste ab.

  • SB_VERT Ruft die Position der vertikalen Bildlaufleiste ab.

Rückgabewert

Ein gleichgeordnetes Bildlaufleisten-Steuerelement oder NULL wenn keines vorhanden ist.

Hinweise

Diese Memberfunktion funktioniert nicht für Bildlaufleisten, die beim Erstellen eines Fensters erstellt werden, wenn die WS_HSCROLL Bits WS_VSCROLL festgelegt werden. Die CWnd Implementierung dieser Funktion gibt einfach zurück NULL. Abgeleitete Klassen, z CView. B. , implementieren die beschriebene Funktionalität.

CWnd::GetScrollBarInfo

Ruft Informationen über die angegebene Bildlaufleiste ab.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parameter

idObject
Gibt das Menüobjekt an. Eine Liste der möglichen Werte finden Sie unter GetScrollBarInfo.

psbi
Zeigen Sie auf eine SCROLLBARINFO Struktur, die die Informationen empfängt.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetScrollBarInfo, wie im Windows SDK beschrieben.

CWnd::GetScrollInfo

Rufen Sie diese Memberfunktion auf, um die Informationen abzurufen, die die SCROLLINFO Struktur Standard über eine Bildlaufleiste enthält.

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

Parameter

nBar
Gibt an, ob es sich bei der Bildlaufleiste um ein Steuerelement oder einen Teil des Nichtclientbereichs eines Fensters handelt. Wenn sie Teil des Nichtclientbereichs ist, gibt auch an, nBar ob die Bildlaufleiste horizontal, vertikal oder beides positioniert ist. Es muss eine der folgenden Sein:

  • SB_CTL Ruft die Parameter für ein Bildlaufleisten-Steuerelement ab. Das m_hWnd Datenelement muss das Handle des Bildlaufleisten-Steuerelements sein.

  • SB_HORZ Ruft die Parameter für die standardmäßige horizontale Bildlaufleiste des Fensters ab.

  • SB_VERT Ruft die Parameter für die standardmäßige vertikale Bildlaufleiste des Fensters ab.

lpScrollInfo
Ein Zeiger auf eine SCROLLINFO Struktur. Weitere Informationen zu dieser Struktur finden Sie im Windows SDK.

nMask
Gibt die abzurufenden Bildlaufleistenparameter an. Der Standardwert gibt eine Kombination aus SIF_PAGE, , SIF_POS, SIF_TRACKPOSund SIF_RANGE. Weitere Informationen zu den Werten finden Sie unter.See SCROLLINFO for more information on the nMask values.

Rückgabewert

Wenn die Nachricht Werte abgerufen hat, lautet TRUEdie Rückgabe . Andernfalls lautet der Wert FALSE.

Hinweise

GetScrollInfo ermöglicht Anwendungen die Verwendung von 32-Bit-Bildlaufpositionen.

Die SCROLLINFO Struktur enthält Informationen zu einer Bildlaufleiste, einschließlich der minimalen und maximalen Bildlaufpositionen, der Seitengröße und der Position des Bildlauffelds (Ziehpunkt). SCROLLINFO Weitere Informationen zum Ändern der Strukturstandardeinstellungen finden Sie im Thema "Struktur" im Windows SDK.

Die MFC Windows-Meldungshandler, die die Bildlaufleistenposition angeben, CWnd::OnHScroll und CWnd::OnVScroll, stellen nur 16 Bit Positionsdaten bereit. GetScrollInfo und SetScrollInfo stellen 32 Bits von Bildlaufleistenpositionsdaten bereit. Daher kann eine Anwendung während der Verarbeitung oder CWnd::OnHScrollCWnd::OnVScroll zum Abrufen von 32-Bit-Bildlaufleistenpositionsdaten aufrufenGetScrollInfo.

CWnd::GetScrollLimit

Rufen Sie diese Memberfunktion auf, um die maximale Bildlaufposition der Bildlaufleiste abzurufen.

int GetScrollLimit(int nBar);

Parameter

nBar
Gibt den Typ der Bildlaufleiste an. Der Parameter kann einen der folgenden Werte annehmen:

  • SB_HORZ Ruft die Bildlaufgrenze der horizontalen Bildlaufleiste ab.

  • SB_VERT Ruft die Bildlaufgrenze der vertikalen Bildlaufleiste ab.

Rückgabewert

Gibt die maximale Position einer Bildlaufleiste an, wenn dies erfolgreich ist. andernfalls 0.

CWnd::GetScrollPos

Ruft die aktuelle Position des Bildlauffelds einer Bildlaufleiste ab.

int GetScrollPos(int nBar) const;

Parameter

nBar
Gibt die zu untersuchende Bildlaufleiste an. Der Parameter kann einen der folgenden Werte annehmen:

  • SB_HORZ Ruft die Position der horizontalen Bildlaufleiste ab.

  • SB_VERT Ruft die Position der vertikalen Bildlaufleiste ab.

Rückgabewert

Gibt die aktuelle Position des Bildlauffelds in der Bildlaufleiste an, wenn dies erfolgreich ist. andernfalls 0.

Hinweise

Die aktuelle Position ist ein relativer Wert, der vom aktuellen Bildlaufbereich abhängt. Wenn der Bildlaufbereich beispielsweise 50 bis 100 beträgt und sich das Bildlauffeld in der Mitte der Leiste befindet, ist die aktuelle Position 75.

CWnd::GetScrollRange

Kopiert die aktuellen minimalen und maximalen Bildlaufleistenpositionen für die angegebene Bildlaufleiste an die von lpMinPos und lpMaxPos.

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

Parameter

nBar
Gibt die zu untersuchende Bildlaufleiste an. Der Parameter kann einen der folgenden Werte annehmen:

  • SB_HORZ Ruft die Position der horizontalen Bildlaufleiste ab.

  • SB_VERT Ruft die Position der vertikalen Bildlaufleiste ab.

lpMinPos
Verweist auf die ganzzahlige Variable, die die Mindestposition erhält.

lpMaxPos
Verweist auf die ganzzahlige Variable, die die maximale Position erhält.

Hinweise

Wenn CWnd keine Bildlaufleiste vorhanden ist, kopiert die GetScrollRange Memberfunktion 0 in lpMinPos und lpMaxPos.

Der Standardbereich für eine Standard-Bildlaufleiste beträgt 0 bis 100. Der Standardbereich für ein Bildlaufleisten-Steuerelement ist leer (beide Werte sind 0).

CWnd::GetStyle

Gibt den aktuellen Fensterstil zurück.

DWORD GetStyle() const;

Rückgabewert

Die Formatvorlage des Fensters. Weitere Informationen zu den in MFC verwendeten Fensterformatvorlagen finden Sie unter "Fensterformatvorlagen".

CWnd::GetSystemMenu

Ermöglicht der Anwendung, auf das Steuerelementmenü zuzugreifen, um Kopier- und Änderungsvorgänge vorzunehmen.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parameter

bRevert
Gibt die auszuführende Aktion an. Wenn bRevert dies der Fall ist FALSE, GetSystemMenu wird ein Handle zu einer Kopie des derzeit verwendeten Steuerelementmenüs zurückgegeben. Diese Kopie ist anfänglich identisch mit dem Menü "Steuerelement", kann aber geändert werden. Wenn bRevert ja TRUE, GetSystemMenu setzt das Steuerelementmenü wieder auf den Standardzustand zurück. Das vorherige, möglicherweise geänderte Steuerelementmenü( falls vorhanden) wird zerstört. Der Rückgabewert ist in diesem Fall nicht definiert.

Rückgabewert

Gibt eine Kopie des Menüs "Steuerelement" an, falls bRevert vorhanden FALSE. Ist bRevert dies der Wert, ist TRUEder Rückgabewert nicht definiert.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Jedes Fenster, das nicht GetSystemMenu verwendet wird, um eine eigene Kopie des Menüs "Steuerelement" zu erstellen, erhält das Standardmenü "Steuerelement".

Der von der GetSystemMenu Memberfunktion zurückgegebene Zeiger kann mit den CMenu::AppendMenuFunktionen CMenu::InsertMenuoder CMenu::ModifyMenu Funktionen verwendet werden, um das Menü "Steuerelement" zu ändern.

Das Menü "Steuerelement" enthält zunächst Elemente, die mit verschiedenen ID-Werten wie SC_CLOSE, , SC_MOVEund SC_SIZE. Elemente im Menü "Steuerelement" generieren WM_SYSCOMMAND Nachrichten. Alle vordefinierten Steuerelementmenüelemente weisen ID-Nummern auf, die größer als 0xF000 sind. Wenn eine Anwendung dem Menü "Steuerelement" Elemente hinzufügt, sollte sie ID-Nummern verwenden, die kleiner als F000 sind.

Windows macht Elemente möglicherweise automatisch im Standardmenü "Steuerelement" nicht verfügbar. CWnd kann eine eigene Auswahl oder Nichtverfügbarkeit durchführen, indem sie auf die WM_INITMENU Nachrichten reagiert, die gesendet werden, bevor ein Menü angezeigt wird.

Beispiel

// 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

Ruft Informationen über die angegebene Titelleiste ab.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Parameter

pti
Zeigen Sie auf eine TITLEBARINFO Struktur, die die Informationen empfängt.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetTitleBarInfo, wie im Windows SDK beschrieben.

CWnd::GetTopLevelFrame

Rufen Sie diese Memberfunktion auf, um ggf. das Framefenster der obersten Ebene des Fensters abzurufen.

CFrameWnd* GetTopLevelFrame() const;

Rückgabewert

Identifiziert das Rahmenfenster der obersten Ebene des Fensters.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Wenn CWnd kein angefügtes Fenster vorhanden ist oder das übergeordnete Element der obersten Ebene kein -abgeleitetes CFrameWndObjekt ist, gibt diese Funktion zurück NULL.

CWnd::GetTopLevelOwner

Rufen Sie diese Memberfunktion auf, um das Fenster der obersten Ebene abzurufen.

CWnd* GetTopLevelOwner() const;

Rückgabewert

Identifiziert das Fenster auf oberster Ebene. Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Das Fenster auf oberster Ebene ist das Fenster, das ein untergeordnetes Element des Desktops ist. Wenn CWnd kein angefügtes Fenster vorhanden ist, gibt diese Funktion zurück NULL.

CWnd::GetTopLevelParent

Rufen Sie diese Memberfunktion auf, um das übergeordnete Element der obersten Ebene des Fensters abzurufen.

CWnd* GetTopLevelParent() const;

Rückgabewert

Identifiziert das übergeordnete Fenster der obersten Ebene des Fensters.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

GetTopLevelParentGetTopLevelFrame ähnelt und GetTopLevelOwner; er ignoriert jedoch den Wert, der als aktuelles Besitzerfenster festgelegt ist.

CWnd::GetTopWindow

Sucht nach dem untergeordneten Fenster der obersten Ebene, zu dem gehört CWnd.

CWnd* GetTopWindow() const;

Rückgabewert

Identifiziert das untergeordnete Fenster der obersten Ebene in einer CWnd verknüpften Liste der untergeordneten Fenster. Wenn keine untergeordneten Fenster vorhanden sind, lautet NULLder Wert .

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Wenn CWnd keine untergeordneten Elemente vorhanden sind, gibt diese Funktion zurück NULL.

CWnd::GetUpdateRect

Ruft die Koordinaten des kleines Rechtecks ab, das die -Aktualisierungsregion komplett umschließt.

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

Parameter

lpRect
Verweist auf ein Objekt oder RECT eine CRect Struktur, das die Clientkoordinaten des Updates empfängt, die den Updatebereich einschließen.

Legen Sie diesen Parameter fest, um zu NULL bestimmen, ob innerhalb der CWndDatei ein Aktualisierungsbereich vorhanden ist. Ist dies lpRect der Fall, gibt die GetUpdateRect Memberfunktion einen Wert ungleich Null zurück, wenn ein Aktualisierungsbereich vorhanden istNULL, und 0, wenn dies nicht der Fall ist. Auf diese Weise können Sie ermitteln, ob eine WM_PAINT Nachricht aus einem ungültigen Bereich resultierte. Legen Sie diesen Parameter NULL in Windows Version 3.0 und früher nicht fest.

bErase
Gibt an, ob der Hintergrund im Aktualisierungsbereich gelöscht werden soll.

Rückgabewert

Gibt den Status des Updatebereichs an. Der Wert ist nicht null, wenn der Aktualisierungsbereich nicht leer ist. andernfalls 0.

Wenn der lpRect Parameter auf NULL festgelegt ist, ist der Rückgabewert nicht null, wenn ein Aktualisierungsbereich vorhanden ist; andernfalls 0.

Hinweise

Wenn CWnd sie mit dem CS_OWNDC Stil erstellt wurde und der Zuordnungsmodus nicht MM_TEXTerfolgt, gibt die GetUpdateRect Memberfunktion das Rechteck in logischen Koordinaten an. GetUpdateRect Andernfalls wird das Rechteck in Clientkoordinaten angezeigt. Wenn kein Aktualisierungsbereich vorhanden ist, wird festgelegt, GetUpdateRect dass das Rechteck leer ist (alle Koordinaten werden auf 0 festgelegt).

Der bErase Parameter gibt an, ob GetUpdateRect der Hintergrund des Updatebereichs gelöscht werden soll. Wenn bErase der Aktualisierungsbereich nicht leer ist TRUE , wird der Hintergrund gelöscht. Um den Hintergrund zu löschen, GetUpdateRect sendet die WM_ERASEBKGND Nachricht.

Das von der BeginPaint Memberfunktion abgerufene Updaterechteck ist identisch mit dem, das von der GetUpdateRect Memberfunktion abgerufen wurde.

Die BeginPaint Memberfunktion überprüft automatisch den Aktualisierungsbereich, sodass jeder Aufruf GetUpdateRect , der unmittelbar nach einem Aufruf ausgeführt wird, um BeginPaint einen leeren Aktualisierungsbereich abzurufen.

CWnd::GetUpdateRgn

Ruft den Aktualisierungsbereich in eine Region ab, die von pRgn.

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Parameter

pRgn
Identifiziert den Aktualisierungsbereich.

bErase
Gibt an, ob der Hintergrund gelöscht wird und nichtclientfähige Bereiche untergeordneter Fenster gezeichnet werden. Wenn der Wert lautet FALSE, wird keine Zeichnung ausgeführt.

Rückgabewert

Gibt ein Flag mit kurzer Ganzzahl an, das den Typ des resultierenden Bereichs angibt. Der Wert kann eine der folgenden Werte annehmen:

  • SIMPLEREGION Der Bereich hat keine überlappenden Rahmen.

  • COMPLEXREGION Der Bereich hat überlappende Rahmen.

  • NULLREGION Die Region ist leer.

  • ERROR Es wurde keine Region erstellt.

Hinweise

Die Koordinaten dieses Bereichs sind relativ zur oberen linken Ecke (Clientkoordinaten).

Die BeginPaint Memberfunktion überprüft automatisch den Aktualisierungsbereich, sodass jeder Aufruf GetUpdateRgn , der unmittelbar nach einem Aufruf ausgeführt wird, um BeginPaint einen leeren Aktualisierungsbereich abzurufen.

CWnd::GetWindow

Gibt einen Zeiger auf das angeforderte Fenster oder NULL wenn keines zurück.

CWnd* GetWindow(UINT nCmd) const;

Parameter

*nCmd*
Gibt die Beziehung zwischen CWnd und dem zurückgegebenen Fenster an. Es kann einen der folgenden Werte dauern:

  • GW_CHILD Identifiziert das CWnd erste untergeordnete Fenster.

  • GW_HWNDFIRST Wenn CWnd es sich um ein untergeordnetes Fenster handelt, wird das erste gleichgeordnete Fenster zurückgegeben. Andernfalls wird das Fenster der ersten obersten Ebene in der Liste zurückgegeben.

  • GW_HWNDLAST Wenn CWnd es sich um ein untergeordnetes Fenster handelt, wird das letzte gleichgeordnete Fenster zurückgegeben. Andernfalls wird das letzte Fenster der obersten Ebene in der Liste zurückgegeben.

  • GW_HWNDNEXT Gibt das nächste Fenster in der Liste des Fenster-Managers zurück.

  • GW_HWNDPREV Gibt das vorherige Fenster in der Liste des Fenster-Managers zurück.

  • GW_OWNER Identifiziert den CWnd Besitzer.

Rückgabewert

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

CWnd::GetWindowContextHelpId

Rufen Sie diese Memberfunktion auf, um ggf. den Hilfekontextbezeichner abzurufen, der dem Fenster zugeordnet ist.

DWORD GetWindowContextHelpId() const;

Rückgabewert

Der Hilfekontextbezeichner. Gibt 0 zurück, wenn das Fenster keine hat.

CWnd::GetWindowedChildCount

Rufen Sie diese Memberfunktion auf, um die Anzahl der zugeordneten untergeordneten Fenster abzurufen.

long GetWindowedChildCount();

Rückgabewert

Die Anzahl der untergeordneten Fenster, die dem CWnd Objekt zugeordnet sind.

CWnd::GetWindowDC

Ruft den Anzeigekontext für das gesamte Fenster ab, einschließlich Untertitel Leiste, Menüs und Bildlaufleisten.

CDC* GetWindowDC();

Rückgabewert

Gibt den Anzeigekontext für das angegebene Fenster an, wenn die Funktion erfolgreich ist; andernfalls NULL.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden. ReleaseDCsollte einmal für jeden erfolgreichen Anruf aufgerufen werden.GetWindowDC

Hinweise

Ein Fensteranzeigekontext ermöglicht das Zeichnen an einer beliebigen Stelle CWnd, da der Ursprung des Kontexts die obere linke Ecke anstelle CWnd des Clientbereichs ist.

Standardattribute werden dem Anzeigekontext bei jedem Abrufen des Kontexts zugewiesen. Vorherige Attribute gehen verloren.

GetWindowDC ist für spezielle Maleffekte innerhalb des CWnd Nichtclientbereichs vorgesehen. Das Zeichnen in Nichtclientbereichen eines Fensters wird nicht empfohlen.

Die GetSystemMetrics Windows-Funktion kann verwendet werden, um die Dimensionen verschiedener Teile des Nichtclientbereichs abzurufen, z. B. die Untertitel Leiste, das Menü und die Bildlaufleisten.

Nach Abschluss des Malvorgangs muss die ReleaseDC Memberfunktion aufgerufen werden, um den Anzeigekontext freizugeben. Wenn der Anzeigekontext nicht freigegeben wird, wirkt sich dies aufgrund von Einschränkungen bei der Anzahl der Gerätekontexte, die gleichzeitig geöffnet werden können, ernsthaft auf die von Anwendungen angeforderte Malerei aus.

CWnd::GetWindowInfo

Ruft Informationen zum Fenster ab.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Parameter

pwi
Ein Zeiger auf eine WINDOWINFO Struktur.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion GetWindowInfo, wie im Windows SDK beschrieben.

CWnd::GetWindowlessChildCount

Ruft die Anzahl der zugeordneten fensterlosen untergeordneten Fenster ab.

long GetWindowlessChildCount();

Rückgabewert

Die Anzahl der fensterlosen untergeordneten Fenster, die dem CWnd Objekt zugeordnet sind.

CWnd::GetWindowPlacement

Ruft den Anzeigestatus und die normalen (wiederhergestellt), minimierten und maximierten Positionen eines Fensters ab.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Parameter

lpwndpl
Verweist auf die WINDOWPLACEMENT Struktur, die die Anzeigestatus- und Positionsinformationen empfängt.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Das flags Element der struktur, die WINDOWPLACEMENT von dieser Funktion abgerufen wird, ist immer 0. Wenn CWnd maximiert ist, ist das showCmd Element von WINDOWPLACEMENT .SW_SHOWMAXIMIZED Wenn das Fenster minimiert ist, ist SW_SHOWMINIMIZEDes . Andernfalls ist SW_SHOWNORMAL dies der Grund.

CWnd::GetWindowRect

Kopiert die Abmessungen des umgebenden Rechtecks des CWnd Objekts in die Struktur, auf lpRectdie verwiesen wird.

void GetWindowRect(LPRECT lpRect) const;

Parameter

lpRect
Verweist auf ein CRect Objekt oder eine RECT Struktur , die die Bildschirmkoordinaten der oberen linken und unteren rechten Ecke empfängt.

Hinweise

Die Abmessungen werden in Bildschirmkoordinaten relativ zur oberen linken Ecke des Bildschirms angegeben. Die Abmessungen der Untertitel, rahmen und bildlaufleisten( falls vorhanden) sind enthalten.

CWnd::GetWindowRgn

Rufen Sie diese Memberfunktion auf, um den Fensterbereich eines Fensters abzurufen.

int GetWindowRgn(HRGN hRgn)const;

Parameter

hRgn
Ein Handle zu einem Fensterbereich.

Rückgabewert

Der Rückgabewert gibt den Typ des Bereichs an, den die Funktion abruft. Es kann sich um einen der folgenden Werte handeln:

  • NULLREGION Die Region ist leer.

  • SIMPLEREGION Der Bereich ist ein einzelnes Rechteck.

  • COMPLEXREGION Der Bereich ist mehr als ein Rechteck.

  • ERROR Fehler; die Region ist nicht betroffen.

Hinweise

Der Fensterbereich bestimmt den Bereich innerhalb des Fensters, in dem das Betriebssystem das Zeichnen zulässt. Das Betriebssystem zeigt keinen Teil eines Fensters an, das sich außerhalb des Fensterbereichs befindet.

Die Koordinaten des Fensterbereichs eines Fensters sind relativ zur oberen linken Ecke des Fensters, nicht zum Clientbereich des Fensters.

Rufen Sie auf, um CWnd::SetWindowRgnden Fensterbereich eines Fensters festzulegen.

CWnd::GetWindowText

Kopiert den CWnd Untertitel Titel (sofern vorhanden) in den Puffer, auf lpszStringBuf den oder in die Zielzeichenfolge rStringverwiesen wird.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parameter

lpszStringBuf
Verweist auf den Puffer, der die kopierte Zeichenfolge des Fenstertitels empfängt.

nMaxCount
Gibt die maximale Anzahl von Zeichen an, die in den Puffer kopiert werden sollen, einschließlich des endenden Nullzeichens. Wenn die Zeichenfolge länger als die anzahl der in nMaxCountder Zeichenfolge angegebenen Zeichen ist, wird sie abgeschnitten.

rString
Ein CString Objekt, das die kopierte Zeichenfolge des Fenstertitels empfängt.

Rückgabewert

Gibt die Länge der kopierten Zeichenfolge in Zeichen an, nicht einschließlich des endenden NULL-Zeichens. Es ist 0, wenn CWnd keine Untertitel oder wenn die Untertitel leer ist.

Hinweise

Wenn es sich bei dem CWnd Objekt um ein Steuerelement handelt, kopiert die GetWindowText Memberfunktion den Text innerhalb des Steuerelements, anstatt die Untertitel zu kopieren.

Diese Memberfunktion bewirkt, dass die WM_GETTEXT Nachricht an das CWnd Objekt gesendet wird.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SetWindowText.

CWnd::GetWindowTextLength

Gibt die Länge des CWnd Objekts Untertitel Titels zurück.

int GetWindowTextLength() const;

Rückgabewert

Gibt die Textlänge in Zeichen an, einschließlich eines Null-Beendigungszeichens. Der Wert ist 0, wenn kein solcher Text vorhanden ist.

Hinweise

Wenn CWnd es sich um ein Steuerelement handelt, gibt die GetWindowTextLength Memberfunktion die Länge des Texts innerhalb des Steuerelements anstelle der Untertitel zurück.

Diese Memberfunktion bewirkt, dass die WM_GETTEXTLENGTH Nachricht an das CWnd Objekt gesendet wird.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SetWindowText.

CWnd::HideCaret

Blendet das Caretzeichen aus, indem es auf dem Anzeigebildschirm entfernt wird.

void HideCaret();

Hinweise

Obwohl das Caret nicht mehr sichtbar ist, kann es mithilfe der ShowCaret Memberfunktion erneut angezeigt werden. Durch das Ausblenden des Carets wird die aktuelle Form nicht zerstört.

Das Ausblenden ist kumulativ. Wenn HideCaret sie fünf Mal in einer Zeile aufgerufen wurde, muss die ShowCaret Memberfunktion fünf Mal aufgerufen werden, bevor das Caret angezeigt wird.

CWnd::HiliteMenuItem

Hebt hervor oder entfernt die Hervorhebung aus einem Menüelement der obersten Ebene (Menüleiste).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parameter

pMenu
Identifiziert das Menü der obersten Ebene, das das element enthält, das hervorgehoben werden soll.

nIDHiliteItem
Gibt das zu hervorgehobene Menüelement abhängig vom Wert des nHilite Parameters an.

nHilite
Gibt an, ob das Menüelement hervorgehoben oder die Hervorhebung entfernt wird. Es kann eine Kombination aus MF_HILITE oder mit oder MF_UNHILITE mit MF_BYCOMMAND .MF_BYPOSITION Die Werte können mit dem bitweisen OR Operator kombiniert werden. Diese Werte haben die folgenden Bedeutungen:

  • MF_BYCOMMANDnIDHiliteItem Interpretiert die Menüelement-ID (die Standardinterpretation).

  • MF_BYPOSITION Interpretiert den nullbasierten Offset des Menüelements nIDHiliteItem .

  • MF_HILITE Hebt das Element hervor. Wenn dieser Wert nicht angegeben wird, wird die Hervorhebung aus dem Element entfernt.

  • MF_UNHILITE Entfernt die Hervorhebung aus dem Element.

Rückgabewert

Gibt an, ob das Menüelement hervorgehoben wurde. Nonzero, wenn das Element hervorgehoben wurde; andernfalls 0.

Hinweise

Die MF_HILITE Kennzeichen MF_UNHILITE können nur mit dieser Memberfunktion verwendet werden. Sie können nicht mit der CMenu::ModifyMenu Memberfunktion verwendet werden.

CWnd::HtmlHelp

Rufen Sie diese Memberfunktion auf, um die HTMLHelp-Anwendung aufzurufen.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parameter

dwData
Gibt zusätzliche Daten an. Der verwendete Wert hängt vom Wert des nCmd Parameters ab.

nCmd
Gibt den Typ der angeforderten Hilfe an. Eine Liste der möglichen Werte und deren Auswirkungen auf den dwData Parameter finden Sie im Parameter, der uCommand in der HTML-Hilfe-API-Referenz im Windows SDK beschrieben wird.

Hinweise

Weitere Informationen finden Sie unter CWinApp::HtmlHelp.

CWnd::InitDynamicLayout

Wird durch das Framework aufgerufen, um das dynamische Layout für ein Fenster zu initialisieren.

void InitDynamicLayout();

Hinweise

Rufen Sie diese Methode nicht direkt auf.

CWnd::Invalidate

Ungültigt den gesamten Clientbereich von CWnd.

void Invalidate(BOOL bErase = TRUE);

Parameter

bErase
Gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll.

Hinweise

Der Clientbereich wird zum Zeichnen markiert, wenn die nächste WM_PAINT Nachricht auftritt. Der Bereich kann auch überprüft werden, bevor eine WM_PAINT Nachricht von der ValidateRect Funktion oder ValidateRgn member auftritt.

Der bErase Parameter gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll, wenn der Aktualisierungsbereich verarbeitet wird. Ist bErase dies TRUEder Grund, wird der Hintergrund gelöscht, wenn die BeginPaint Memberfunktion aufgerufen wird. Ist bErase dies der FALSEGrund, wird der Hintergrund unverändert Standard. Wenn bErase ein Teil der Aktualisierungsregion vorgesehen ist TRUE , wird der Hintergrund in der gesamten Region, nicht nur im angegebenen Teil, gelöscht.

Windows sendet eine WM_PAINT Nachricht, wenn der CWnd Updatebereich nicht leer ist und keine anderen Nachrichten in der Anwendungswarteschlange für dieses Fenster vorhanden sind.

Beispiel

Sehen Sie sich das Beispiel für CWnd::UpdateWindow.

CWnd::InvalidateRect

Ungültig wird der Clientbereich innerhalb des angegebenen Rechtecks durch Hinzufügen dieses Rechtecks zum CWnd Aktualisierungsbereich.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parameter

lpRect
Verweist auf ein CRect Objekt oder eine RECT Struktur , das das Rechteck (in Clientkoordinaten) enthält, das dem Aktualisierungsbereich hinzugefügt werden soll. Wenn lpRect ja NULL, wird der gesamte Clientbereich der Region hinzugefügt.

bErase
Gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll.

Hinweise

Das ungültige Rechteck zusammen mit allen anderen Bereichen im Aktualisierungsbereich wird zum Zeichnen markiert, wenn die nächste WM_PAINT Nachricht gesendet wird. Die ungültigen Bereiche werden im Aktualisierungsbereich angesammelt, bis der Bereich verarbeitet wird, wenn der nächste WM_PAINT Aufruf eintritt, oder bis die Region von der ValidateRect Funktion oder ValidateRgn Memberfunktion überprüft wird.

Der bErase Parameter gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll, wenn der Aktualisierungsbereich verarbeitet wird. Ist bErase dies TRUEder Grund, wird der Hintergrund gelöscht, wenn die BeginPaint Memberfunktion aufgerufen wird. Ist bErase dies der FALSEGrund, wird der Hintergrund unverändert Standard. TRUE Wenn bErase es sich um einen Teil des Aktualisierungsbereichs handelt, wird der Hintergrund in der gesamten Region gelöscht, nicht nur im angegebenen Teil.

Windows sendet eine WM_PAINT Nachricht, wenn der CWnd Updatebereich nicht leer ist und keine anderen Nachrichten in der Anwendungswarteschlange für dieses Fenster vorhanden sind.

CWnd::InvalidateRgn

Ungültig wird der Clientbereich innerhalb des angegebenen Bereichs durch Hinzufügen zum aktuellen Updatebereich von CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parameter

pRgn
Ein Zeiger auf ein CRgn Objekt, das den Bereich identifiziert, der dem Aktualisierungsbereich hinzugefügt werden soll. Es wird davon ausgegangen, dass der Bereich Clientkoordinaten hat. Wenn dieser Parameter lautet NULL, wird der gesamte Clientbereich dem Aktualisierungsbereich hinzugefügt.

bErase
Gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll.

Hinweise

Der ungültige Bereich wird zusammen mit allen anderen Bereichen im Aktualisierungsbereich zum Zeichnen markiert, wenn die WM_PAINT Nachricht als nächstes gesendet wird. Die ungültigen Bereiche werden in der Aktualisierungsregion gesammelt, bis die Region verarbeitet wird, wenn eine WM_PAINT Nachricht als nächstes gesendet wird, oder bis die Region von der ValidateRect Funktion oder ValidateRgn Member überprüft wird.

Der bErase Parameter gibt an, ob der Hintergrund innerhalb des Aktualisierungsbereichs gelöscht werden soll, wenn der Aktualisierungsbereich verarbeitet wird. Ist bErase dies TRUEder Grund, wird der Hintergrund gelöscht, wenn die BeginPaint Memberfunktion aufgerufen wird. Ist bErase dies der FALSEGrund, wird der Hintergrund unverändert Standard. Wenn bErase ein Teil der Aktualisierungsregion vorgesehen ist TRUE , wird der Hintergrund in der gesamten Region, nicht nur im angegebenen Teil, gelöscht.

Windows sendet eine WM_PAINT Nachricht, wenn der CWnd Updatebereich nicht leer ist und keine anderen Nachrichten in der Anwendungswarteschlange für dieses Fenster vorhanden sind.

Die angegebene Region muss zuvor von einer der Regionsfunktionen erstellt worden sein.

CWnd::InvokeHelper

Rufen Sie diese Memberfunktion auf, um die activeX-Steuerelementmethode oder -Eigenschaft aufzurufen, die in dwDispIDdem durch wFlagsden angegebenen Kontext angegeben ist.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Parameter

dwDispID
Bezeichnet die aufzurufende Methode oder Eigenschaft.

wFlags
Flags, die den Kontext des Aufrufs IDispatch::Invokebeschreiben.

vtRet
Gibt den Typ des Rückgabewerts an. Mögliche Werte finden Sie im Abschnitt "Hinweise" für COleDispatchDriver::InvokeHelper.

pvRet
Adresse der Variablen, die den Eigenschaftswert oder Rückgabewert erhält. Sie muss mit dem durch vtRetangegebenen Typ übereinstimmen.

pbParamInfo
Zeiger auf eine NULL-terminierte Zeichenfolge aus Bytes, die die Typen der Parameter angeben, die auf pbParamInfofolgen. Mögliche Werte finden Sie im Abschnitt "Hinweise" für COleDispatchDriver::InvokeHelper.

...
Variable Liste der Parameter, der in pbParamInfo.

Hinweise

Der pbParamInfo -Parameter gibt die Typen der an die Methode oder Eigenschaft übergebenen Parameter an. Die Variablenliste der Argumente wird in ... der Syntaxdeklaration dargestellt.

Diese Funktion konvertiert die Parameter in VARIANTARG Werte und ruft dann die IDispatch::Invoke Methode für das ActiveX-Steuerelement auf. Bei einem Fehler des Aufrufs von IDispatch::Invoke löst diese Funktion eine Ausnahme aus. Wenn der SCODE (Statuscode) zurückgegeben IDispatch::Invoke wird DISP_E_EXCEPTION, löst diese Funktion ein COleException Objekt aus, andernfalls wird ein COleDispatchException.

Hinweis

Diese Funktion sollte nur für ein CWnd Objekt aufgerufen werden, das ein ActiveX-Steuerelement darstellt.

Weitere Informationen zur Verwendung dieser Memberfunktion mit ActiveX-Steuerelementcontainern finden Sie im Artikel ActiveX-Steuerelementcontainer: Programmieren von ActiveX-Steuerelementen in einem ActiveX-Steuerelementcontainer.

CWnd::IsChild

Gibt an, ob das durch pWnd ein untergeordnetes Fenster angegebene Fenster oder ein anderer direkter Nachfolger von CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Parameter

pWnd
Identifiziert das zu testende Fenster.

Rückgabewert

Gibt das Ergebnis der Funktion an. Der Wert ist ungleich Null, wenn das durch pWnd ein untergeordnetes Fenster identifizierte Fenster von CWnd; andernfalls 0.

Hinweise

Ein untergeordnetes Fenster ist der direkte Nachfolger davon CWnd , ob sich das CWnd Objekt in der Kette der übergeordneten Fenster befindet, die vom ursprünglichen Popupfenster zum untergeordneten Fenster führt.

CWnd::IsD2DSupportEnabled

Bestimmt, ob die D2D-Unterstützung aktiviert ist.

BOOL IsD2DSupportEnabled();

Rückgabewert

TRUE wenn das Feature aktiviert ist; andernfalls FALSE.

CWnd::IsDialogMessage

Rufen Sie diese Memberfunktion auf, um zu bestimmen, ob die angegebene Nachricht für ein Dialogfeld ohne Modus vorgesehen ist; Ist dies der Fall, verarbeitet diese Funktion die Nachricht.

BOOL IsDialogMessage(LPMSG lpMsg);

Parameter

lpMsg
Verweist auf eine MSG Struktur, die die zu überprüfende Nachricht enthält.

Rückgabewert

Gibt an, ob die Memberfunktion die angegebene Nachricht verarbeitet hat. Es ist nicht null, wenn die Nachricht verarbeitet wurde; andernfalls 0. Wenn die Rückgabe 0 ist, rufen Sie die CWnd::PreTranslateMessage Memberfunktion der Basisklasse auf, um die Nachricht zu verarbeiten. In einer Außerkraftsetzung der CWnd::PreTranslateMessage Memberfunktion sieht der Code wie folgt aus:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Hinweise

Wenn die IsDialogMessage Funktion eine Nachricht verarbeitet, sucht sie nach Tastaturmeldungen und konvertiert sie in Auswahlbefehle für das entsprechende Dialogfeld. Beispielsweise wählt die TAB-TASTE das nächste Steuerelement oder die nächste Gruppe von Steuerelementen aus, und die NACH-UNTEN-TASTE wählt das nächste Steuerelement in einer Gruppe aus.

Sie dürfen eine Nachricht, die von IsDialogMessage den TranslateMessage Funktionen oder DispatchMessage Windows verarbeitet wird, nicht übergeben, da sie bereits verarbeitet wurde.

CWnd::IsDlgButtonChecked

Bestimmt, ob neben einem Schaltflächensteuerelement ein Häkchen vorhanden ist.

UINT IsDlgButtonChecked(int nIDButton) const;

Parameter

nIDButton
Gibt den ganzzahligen Bezeichner des Schaltflächensteuerelements an.

Rückgabewert

Nonzero, wenn das angegebene Steuerelement überprüft wird, und 0, wenn es nicht aktiviert ist. Es können nur Optionsfelder und Kontrollkästchen aktiviert werden. Bei Schaltflächen mit drei Status kann der Rückgabewert 2 sein, wenn die Schaltfläche unbestimmt ist. Diese Memberfunktion gibt 0 für eine Taste zurück.

Hinweise

Wenn es sich bei der Schaltfläche um ein Steuerelement mit drei Zuständen handelt, bestimmt die Memberfunktion, ob sie abgeblendet, überprüft oder nicht.

CWnd::IsDynamicLayoutEnabled

Bestimmt, ob das dynamische Layout in diesem Fenster aktiviert ist. Wenn das dynamische Layout aktiviert ist, können sich die Position und die Größe der untergeordneten Fenster ändern, wenn der Benutzer die Größe des übergeordneten Fensters ändert.

BOOL IsDynamicLayoutEnabled() const;

Rückgabewert

TRUE wenn dynamisches Layout aktiviert ist; andernfalls FALSE.

Hinweise

CWnd::IsIconic

Gibt an, ob CWnd minimiert (Iconic) ist.

BOOL IsIconic() const;

Rückgabewert

Nonzero, wenn CWnd minimiert ist; andernfalls 0.

Beispiel

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

Gibt an, ob CWnd über die Fingereingabeunterstützung verfügt.

BOOL IsTouchWindow() const;

Rückgabewert

TRUE wenn CWnd die Toucheingabe unterstützt wird; andernfalls FALSE.

Hinweise

CWnd::IsWindowEnabled

Gibt an, ob CWnd für Maus- und Tastatureingaben aktiviert ist.

BOOL IsWindowEnabled() const;

Rückgabewert

Ist "Nonzero" CWnd aktiviert, andernfalls 0.

Beispiel

//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

Bestimmt den Sichtbarkeitsstatus des angegebenen Fensters.

BOOL IsWindowVisible() const;

Rückgabewert

Ist "Nonzero" CWnd sichtbar (hat den WS_VISIBLE Formatvorlagenbitsatz, und das übergeordnete Fenster ist sichtbar). Da der Rückgabewert den Zustand des WS_VISIBLE Formatvorlagenbits widerspiegelt, kann der Rückgabewert nicht null sein, obwohl CWnd er von anderen Fenstern völlig verdeckt wird.

Hinweise

Ein Fenster besitzt einen Sichtbarkeitszustand, der durch das WS_VISIBLE Formatvorlagenbit angegeben ist. Wenn dieses Formatvorlagenbit mit einem Aufruf der ShowWindow Memberfunktion festgelegt wird, wird das Fenster angezeigt, und die nachfolgende Zeichnung des Fensters wird angezeigt, solange das Fenster den Formatvorlagenbitsatz aufweist.

Jede Zeichnung in ein Fenster mit der WS_VISIBLE Formatvorlage wird nicht angezeigt, wenn das Fenster von anderen Fenstern verdeckt wird oder durch das übergeordnete Fenster abgeschnitten wird.

Beispiel

// 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

Bestimmt, ob CWnd maximiert wurde.

BOOL IsZoomed() const;

Rückgabewert

Nonzero, wenn CWnd maximiert ist; andernfalls 0.

CWnd::KillTimer

Kills the timer event identified by nIDEvent from the earlier call to SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Parameter

nIDEvent
Der Wert des timer-Ereignisses, das an SetTimer.

Rückgabewert

Gibt das Ergebnis der Funktion an. Der Wert ist nicht null, wenn das Ereignis getötet wurde. Es ist 0, wenn die KillTimer Memberfunktion das angegebene Timerereignis nicht finden konnte.

Hinweise

Ausstehende WM_TIMER Nachrichten, die dem Timer zugeordnet sind, werden nicht aus der Nachrichtenwarteschlange entfernt.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Vom Framework aufgerufen, um Informationen zum dynamischen Layout aus der Ressourcendatei zu laden.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parameter

lpszResourceName
Der Name der Ressource, die das gewünschte dynamisches Layout für dieses Fenster enthält.

Rückgabewert

Ungleich null, wenn die Funktion erfolgreich ist. Es ist 0, wenn ein Fehler auftritt.

Hinweise

Rufen Sie diese Methode nicht direkt auf.

CWnd::LockWindowUpdate

Deaktiviert die Zeichnung im angegebenen Fenster.

BOOL LockWindowUpdate();

Rückgabewert

Ungleich null, wenn die Funktion erfolgreich ist. Es ist 0, wenn ein Fehler auftritt oder wenn die LockWindowUpdate Funktion verwendet wurde, um ein anderes Fenster zu sperren.

Hinweise

Ein gesperrtes Fenster kann nicht verschoben werden. Es kann jeweils nur ein Fenster gesperrt werden. Zum Entsperren eines fensters gesperrt mit LockWindowUpdate, rufen Sie UnlockWindowUpdateauf .

Wenn eine Anwendung mit einem gesperrten Fenster (oder gesperrten untergeordneten Fenstern) die GetDC, GetDCExoder BeginPaint Windows-Funktion aufruft, gibt die aufgerufene Funktion einen Gerätekontext zurück, dessen sichtbarer Bereich leer ist. Dies geschieht, bis die Anwendung das Fenster durch Aufrufen der UnlockWindowUpdate Memberfunktion entsperrt.

Während Fensteraktualisierungen gesperrt sind, verfolgt das System das umgebende Rechteck aller Zeichnungsvorgänge an Gerätekontexte, die einem gesperrten Fenster zugeordnet sind. Wenn die Zeichnung erneut aktiviert wird, wird dieses umgebende Rechteck im gesperrten Fenster und seinen untergeordneten Fenstern ungültig, um eine eventuelle WM_PAINT Meldung zum Aktualisieren des Bildschirms zu erzwingen. Wenn keine Zeichnung aufgetreten ist, während die Fensteraktualisierungen gesperrt wurden, ist kein Bereich ungültig.

Die LockWindowUpdate Memberfunktion macht das angegebene Fenster nicht unsichtbar und löscht das WS_VISIBLE Formatvorlagenbit nicht.

CWnd::m_hWnd

Das Handle des windows-Fensters, das an dieses CWndFenster angefügt ist.

HWND m_hWnd;

Hinweise

Das m_hWnd Datenelement ist eine öffentliche Variable vom Typ HWND.

CWnd::MapWindowPoints

Konvertiert (Zuordnung) einen Satz von Punkten aus dem Koordinatenbereich von CWnd zum Koordinatenbereich des anderen Fensters.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Parameter

pwndTo
Identifiziert das Fenster, in das Punkte konvertiert werden. Wenn dieser Parameter lautet NULL, werden die Punkte in Bildschirmkoordinaten konvertiert.

lpRect
Gibt das Rechteck an, dessen Punkte konvertiert werden sollen. Die erste Version dieser Funktion ist nur für Windows 3.1 und höher verfügbar.

lpPoint
Ein Zeiger auf ein StrukturarrayPOINT, das die zu konvertierende Gruppe von Punkten enthält.

nCount
Gibt die Anzahl der POINT Strukturen im Array an, auf die verwiesen wird lpPoint.

CWnd::MessageBox

Erstellt und zeigt ein Fenster an, das eine von der Anwendung bereitgestellte Nachricht und Untertitel enthält, sowie eine Kombination der vordefinierten Symbole und Pushbuttons, die in der Liste "Nachrichtenfeld-Formatvorlagen" beschrieben sind.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parameter

lpszText
Verweist auf ein Objekt oder eine CString mit Null beendete Zeichenfolge, die die anzuzeigende Nachricht enthält.

lpszCaption
Verweist auf ein Objekt oder eine CString mit Null beendete Zeichenfolge, die für das Meldungsfeld-Untertitel verwendet werden soll. Ist lpszCaption dies NULLder Grund, wird die Standardeinstellung Untertitel "Error" verwendet.

nType
Gibt den Inhalt und das Verhalten des Meldungsfelds an.

Rückgabewert

Diese Methode verwendet die MessageBox Im Windows SDK definierte Funktion. Diese Methode gibt das Ergebnis des Aufrufens dieser Funktion zurück.

Hinweise

Verwenden Sie die globale Funktion AfxMessageBox anstelle dieser Memberfunktion, um ein Meldungsfeld in Ihrer Anwendung zu implementieren.

Im Folgenden sind die verschiedenen Systemsymbole aufgeführt, die in einem Meldungsfeld verwendet werden können:

Symbol Makro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOP und MB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. MB_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. MB_ICONEXCLAMATION und MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. MB_ICONASTERISK und MB_ICONINFORMATION

Beispiel

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

Rufen Sie diese Memberfunktion auf, um die Formatvorlage eines Fensters zu ändern.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parameter

dwRemove
Gibt Fensterformatvorlagen an, die während der Formatvorlagenänderung entfernt werden sollen.

dwAdd
Gibt Fensterformatvorlagen an, die während der Änderung der Formatvorlage hinzugefügt werden sollen.

nFlags
Flags, die an SetWindowPosoder null übergeben werden sollen, wenn SetWindowPos sie nicht aufgerufen werden sollen. Der Standardwert ist 0. Eine Liste der voreingestellten Flags finden Sie im Abschnitt "Hinweise".

Rückgabewert

Nonzero, wenn die Formatvorlage erfolgreich geändert wurde; andernfalls 0.

Hinweise

Formatvorlagen, die hinzugefügt oder entfernt werden sollen, können mithilfe des bitweisen OR(|)-Operators kombiniert werden. Weitere Informationen zu den verfügbaren Fensterformatvorlagen finden Sie in den Themen "Fensterformatvorlagen" und CreateWindow im Windows SDK.

Wenn nFlags kein Nullwert ist, ModifyStyle ruft die Windows-API-Funktion SetWindowPos auf und zeichnet das Fenster neu, indem es mit den folgenden vier voreingestellten Flags kombiniert nFlags wird:

  • SWP_NOSIZE Behält die aktuelle Größe bei.

  • SWP_NOMOVE Behält die aktuelle Position bei.

  • SWP_NOZORDER Behält die aktuelle Z-Reihenfolge bei.

  • SWP_NOACTIVATE Aktiviert das Fenster nicht.

Informationen zum Ändern der erweiterten Formatvorlagen eines Fensters finden Sie unter ModifyStyleEx.

Hinweis

Bei einigen Formatvorlagen in bestimmten Steuerelementen (z. B. der ES_READONLY Formatvorlage im Bearbeitungssteuerelement) ModifyStyle wird die Formatvorlage möglicherweise nicht ordnungsgemäß geändert, da das Steuerelement möglicherweise eine spezielle interne Verarbeitung durchführen muss. In diesen Fällen steht eine entsprechende Meldung zum Ändern der Formatvorlage zur Verfügung ( EM_SETREADONLY im Beispiel Erwähnung ed).

Beispiel

// 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

Rufen Sie diese Memberfunktion auf, um die erweiterte Formatvorlage eines Fensters zu ändern.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parameter

dwRemove
Gibt erweiterte Formatvorlagen an, die beim Ändern der Formatvorlage entfernt werden sollen.

dwAdd
Gibt erweiterte Formatvorlagen an, die während der Änderung der Formatvorlage hinzugefügt werden sollen.

nFlags
Flags, die an SetWindowPosoder null übergeben werden sollen, wenn SetWindowPos sie nicht aufgerufen werden sollen. Der Standardwert ist 0. Eine Liste der voreingestellten Flags finden Sie im Abschnitt "Hinweise".

Rückgabewert

Nonzero, wenn die Formatvorlage erfolgreich geändert wurde; andernfalls 0.

Hinweise

Formatvorlagen, die hinzugefügt oder entfernt werden sollen, können mit dem Bitweise-OR(|)-Operator kombiniert werden. Weitere Informationen zu den verfügbaren erweiterten Formatvorlagen finden Sie in den Themen "Erweiterte Fensterarten" in diesem Buch und CreateWindowEx im Windows SDK.

Wenn nFlags kein Nullwert ist, ModifyStyleEx ruft die Windows-API-Funktion SetWindowPos auf und zeichnet das Fenster neu, indem es mit den folgenden vier voreingestellten Flags kombiniert nFlags wird:

  • SWP_NOSIZE Behält die aktuelle Größe bei.

  • SWP_NOMOVE Behält die aktuelle Position bei.

  • SWP_NOZORDER Behält die aktuelle Z-Reihenfolge bei.

  • SWP_NOACTIVATE Aktiviert das Fenster nicht.

Informationen zum Ändern von Fenstern mit normalen Fensterformatvorlagen finden Sie unter ModifyStyle.

Beispiel

// 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

Ändert die Position und Abmessungen.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Parameter

x
Gibt die neue Position der linken Seite der .CWnd

y
Gibt die neue Position des oberen Rands der .CWnd

nWidth
Gibt die neue Breite der CWnd.

nHeight
Gibt die neue Höhe der CWnd.

bRepaint
Gibt an, ob CWnd die Aktualisierung erfolgen soll. Wenn TRUE, CWnd empfängt eine WM_PAINT Nachricht im OnPaint Nachrichtenhandler wie gewohnt. Wenn dieser Parameter lautet FALSE, tritt keine Aktualisierung jeglicher Art auf. Dies gilt für den Clientbereich, für den Nichtclientbereich (einschließlich Titel und Bildlaufleisten) und für einen Teil des übergeordneten Fensters, der aufgrund der CWndVerschiebung aufgedeckt wird. Wenn dieser Parameter lautet FALSE, muss die Anwendung alle Teile des CWnd übergeordneten Fensters, die neu gezeichnet werden müssen, explizit ungültig oder neu zeichnen.

lpRect
Das CRect Objekt oder RECT die Struktur , das die neue Größe und Position angibt.

Hinweise

Bei einem Objekt auf oberster Ebene CWnd sind die x Parameter y relativ zur oberen linken Ecke des Bildschirms. Bei einem untergeordneten CWnd Objekt sind sie relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Fensters.

Die MoveWindow Funktion sendet die WM_GETMINMAXINFO Nachricht. Die Behandlung dieser Nachricht bietet CWnd die Möglichkeit, die Standardwerte für die größten und kleinsten möglichen Fenster zu ändern. Wenn die Parameter für die MoveWindow Memberfunktion diese Werte überschreiten, können die Werte durch die Minimal- oder Höchstwerte im WM_GETMINMAXINFO Handler ersetzt werden.

Beispiel

Sehen Sie sich das Beispiel für CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Signalisiert dem System, dass ein vordefiniertes Ereignis aufgetreten ist. Wenn Clientanwendungen eine Hook-Funktion für das Ereignis registriert haben, ruft das System die Hook-Funktion des Clients auf.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parameter

event
Gibt das ereignis an, das aufgetreten ist. Dieser Wert muss eine der Ereigniskonstanten sein.

idObjectType
Identifiziert die Art des Objekts, das das Ereignis generiert hat. Dieser Wert ist einer der vordefinierten Objektbezeichner oder ein benutzerdefinierter Objekt-ID-Wert.

idObject
Gibt an, ob das Ereignis von einem Objekt oder einem untergeordneten Element des Objekts generiert wurde. Wenn dieser Wert lautet CHILDID_SELF, wurde das Ereignis vom Objekt selbst generiert. Wenn dies nicht der Fall ist, ist dieser Wert die untergeordnete ID des Elements, das das Ereignis generiert hat.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion NotifyWinEvent, wie im Windows SDK beschrieben.

CWnd::OnActivate

Das Framework ruft diese Memberfunktion auf, wenn ein CWnd Objekt aktiviert oder deaktiviert wird.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parameter

nState
Gibt an, ob die CWnd Aktivierung oder Deaktivierung erfolgt. Es kann sich um einen der folgenden Werte handeln:

  • WA_INACTIVE Das Fenster wird deaktiviert.

  • WA_ACTIVE Das Fenster wird durch eine andere Methode als einen Mausklick aktiviert (z. B. durch Verwenden der Tastaturschnittstelle zum Auswählen des Fensters).

  • WA_CLICKACTIVE Das Fenster wird mit einem Mausklick aktiviert.

pWndOther
Zeiger auf das CWnd aktivierte oder deaktivierte Element. Der Zeiger kann sein NULL, und er kann vorübergehend sein.

bMinimized
Gibt den minimierten Zustand der CWnd Aktivierung oder Deaktivierung an. Ein Wert, der TRUE angibt, dass das Fenster minimiert ist.

Wenn TRUEdie CWnd Option aktiviert wird; andernfalls deaktiviert.

Hinweise

Wenn das CWnd Objekt mit einem Mausklick aktiviert wird, erhält es auch einen OnMouseActivate Memberfunktionsaufruf.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnActivateApp

Das Framework ruft diese Memberfunktion für alle Fenster der obersten Ebene der zu aktivierenden Aufgabe und für alle Fenster der obersten Ebene der Aufgabe auf, die deaktiviert werden.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parameter

bActive
Gibt an, ob die CWnd Aktivierung oder Deaktivierung erfolgt. TRUE bedeutet, dass die CWnd Aktivierung erfolgt. FALSE bedeutet, dass die CWnd Deaktivierung erfolgt.

dwThreadID
Gibt den Wert der Thread-ID an. Gibt in diesem bActive Beispiel TRUEdwThreadID den Thread an, der den CWnd deaktivierten Thread besitzt. Ist bActive dies der Fall FALSE, dwThreadID identifiziert den Thread, der die CWnd aktivierung besitzt.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnAmbientProperty

Das Framework ruft diese Memberfunktion auf, um Umgebungseigenschaftenwerte aus einem Fenster abzurufen, das OLE-Steuerelemente enthält.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parameter

pSite
Zeigen Sie auf die Website des Steuerelements, das die Umgebungseigenschaft angefordert hat.

dispid
Die Verteiler-ID der angeforderten Umgebungseigenschaft.

pvar
Zeiger auf eine vom Aufrufer zugewiesene VARIANT Struktur, über die der Wert der Umgebungseigenschaft zurückgegeben wird.

Rückgabewert

TRUE wenn die Umgebungseigenschaft unterstützt wird; FALSE Wenn nicht,.

Hinweise

Überschreiben Sie diese Funktion, um die standardwerte der Umgebungseigenschaft zu ändern, die von einem OLE-Steuerelementcontainer an die zugehörigen Steuerelemente zurückgegeben werden. Alle Umgebungseigenschaftenanforderungen, die nicht von einer Überschreibungsfunktion behandelt werden, sollten an die Basisklassenimplementierung weitergeleitet werden.

CWnd::OnAppCommand

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer ein Anwendungsbefehlsereignis generiert. Ein solches Ereignis tritt auf, wenn der Benutzer auf eine Anwendungsbefehlsschaltfläche klickt oder eine Anwendungsbefehlsschlüssel eingibt.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parameter

pWnd
[in] Zeigen Sie auf ein CWnd Objekt, das das Fenster darstellt, in dem der Benutzer auf die Befehlsschaltfläche geklickt oder die Befehlstaste gedrückt hat. Dieses Fenster kann ein untergeordnetes Fenster des Fensters sein, das die Nachricht empfängt.

nCmd
[in] Gibt den Anwendungsbefehl an. Eine Liste der möglichen Werte finden Sie unter den cmd Befehlen im Abschnitt des lParam Parameters von WM_APPCOMMAND.

nDevice
[in] Das Eingabegerät, das das Eingabeereignis generiert hat. Eine Liste der möglichen Werte finden Sie unter den Geräten unter dem uDevice Abschnitt des lParam Parameters von WM_APPCOMMAND.

nKey
[in] Gibt alle virtuellen Tasten an, die sich unten befinden, z. B. die STRG-TASTE oder die linke Maustaste. Eine Liste der möglichen Werte finden Sie unter den Schlüsseln unter dem dwKeys Abschnitt des lParam Parameters von WM_APPCOMMAND. Weitere Informationen finden Sie in der Unterüberschrift "Nachrichtenparameter" in "Informationen zur Mauseingabe".

Hinweise

Diese Methode empfängt die WM_APPCOMMAND Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnAskCbFormatName

Das Framework ruft diese Memberfunktion auf, wenn die Zwischenablage ein Datenhandle für das CF_OWNERDISPLAY Format enthält (d. a., wenn der Besitzer der Zwischenablage den Inhalt der Zwischenablage anzeigt).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parameter

nMaxCount
Gibt die maximale Anzahl der zu kopierenden Bytes an.

lpszString
Verweist auf den Puffer, in dem die Kopie des Formatnamens gespeichert werden soll.

Hinweise

Der Besitzer der Zwischenablage sollte einen Namen für sein Format angeben.

Überschreiben Sie diese Memberfunktion, und kopieren Sie den Namen des CF_OWNERDISPLAY Formats in den angegebenen Puffer, und überschreiten Sie nicht die maximale Anzahl der angegebenen Bytes.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCancelMode

Das Framework ruft diese Memberfunktion auf, um zu informieren CWnd , dass jeder interne Modus abgebrochen wird.

afx_msg void OnCancelMode();

Hinweise

Wenn das CWnd Objekt den Fokus hat, wird dessen OnCancelMode Memberfunktion aufgerufen, wenn ein Dialogfeld oder Meldungsfeld angezeigt wird. Dadurch erhalten Sie die CWnd Möglichkeit, Modi wie die Mausaufnahme abzubrechen.

Die Standardimplementierung reagiert durch Aufrufen der ReleaseCapture Windows-Funktion. Überschreiben Sie diese Memberfunktion in der abgeleiteten Klasse, um andere Modi zu verarbeiten.

CWnd::OnCaptureChanged

Das Framework ruft diese Memberfunktion auf, um das Fenster zu benachrichtigen, das die Mausaufnahme verliert.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parameter

pWnd
Ein Zeiger auf das Fenster, um die Mausaufnahme zu erhalten

Hinweise

Ein Fenster empfängt diese Nachricht auch dann, wenn es sich selbst aufruft ReleaseCapture . Eine Anwendung sollte nicht versuchen, die Mausaufnahme als Reaktion auf diese Nachricht festzulegen. Wenn sie diese Nachricht empfängt, sollte sich ein Fenster bei Bedarf neu zeichnen, um den neuen Zustand der Mausaufnahme widerzuspiegeln.

Informationen zur ReleaseCapture Windows-Funktion finden Sie im Windows SDK.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnChangeCbChain

Das Framework ruft diese Memberfunktion für jedes Fenster in der Zwischenablage-Viewer-Kette auf, um es zu benachrichtigen, dass ein Fenster aus der Kette entfernt wird.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parameter

hWndRemove
Gibt das Fensterhandle an, das aus der Zwischenablageanzeigekette entfernt wird.

hWndAfter
Gibt das Fensterhandle an, das auf das Fenster folgt, das aus der Zwischenablageanzeigekette entfernt wird.

Hinweise

Jedes CWnd Objekt, das einen OnChangeCbChain Aufruf empfängt, sollte die SendMessage Windows-Funktion verwenden, um die WM_CHANGECBCHAIN Nachricht an das nächste Fenster in der Zwischenablageanzeigekette (das von SetClipboardViewer) zurückgegebene Handle zu senden. Wenn hWndRemove es sich um das nächste Fenster in der Kette handelt, wird das durch hWndAfter das fenster angegebene Fenster zum nächsten Fenster, und Nachrichten aus der Zwischenablage werden an das Fenster übergeben.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnChangeUIState

Wird aufgerufen, wenn der Benutzeroberflächenstatus (UI) geändert werden sollte.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Parameter

nAction
Gibt die auszuführende Aktion an. Folgenden Werte sind möglich:

  • UIS_CLEAR Das ui-Zustandselement (angegeben durch nUIElement) sollte ausgeblendet werden.

  • UIS_INITIALIZE Das UI-Zustandselement (angegeben durch nUIElement) sollte basierend auf dem letzten Eingabeereignis geändert werden. Weitere Informationen finden Sie im Abschnitt "Hinweise " von WM_CHANGEUISTATE.

  • UIS_SET Das ui-Zustandselement (angegeben durch nUIElement) sollte sichtbar sein.

nUIElement
Gibt an, welche UI-Zustandselemente betroffen sind oder welche Formatvorlage das Steuerelement hat. Folgenden Werte sind möglich:

  • UISF_HIDEACCEL Zugriffstasten.

  • UISF_HIDEFOCUS Fokusindikatoren.

  • UISF_ACTIVE Windows XP: Ein Steuerelement sollte in der Formatvorlage gezeichnet werden, die für aktive Steuerelemente verwendet wird.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der WM_CHANGEUISTATE Nachricht, wie im Windows SDK beschrieben.

CWnd::OnChar

Das Framework ruft diese Memberfunktion auf, wenn ein Tastenanschlag in ein Nichtsystemzeichen übersetzt wird.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Enthält den Zeichencodewert des Schlüssels.

nRepCnt
Enthält die Wiederholungsanzahl, mit der die Tastatureingabe wiederholt wird, wenn der Benutzer die Taste gedrückt hält.

nFlags
Enthält den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode, wie in der folgenden Liste dargestellt:

Wert Bedeutung
0 - 15 Gibt die Wiederholungsanzahl an. Der Wert ist die Häufigkeit, mit der der Tastenanschlag wiederholt wird, wenn der Benutzer die Taste gedrückt hält.
16-23 Gibt den Scancode an. Der Wert hängt vom Originalgerätehersteller (OEM) ab.
24 Gibt an, ob es sich bei der Taste um eine erweiterte Taste handelt, z. B. die rechte ALT- und STRG-TASTE, die auf einer erweiterten 101- oder 102-Tastentastaturen angezeigt werden. Der Wert ist 1, wenn es sich um einen erweiterten Schlüssel handelt. andernfalls ist es 0.
25-28 Wird intern von Windows verwendet.
29 Gibt den Kontextcode an. Der Wert ist 1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird. andernfalls ist der Wert 0.
30 Gibt den vorherigen Schlüsselstatus an. Der Wert ist 1, wenn der Schlüssel vor dem Senden der Nachricht nach unten ist, oder wenn der Schlüssel nach oben ist.
31 Gibt den Übergangszustand an. Der Wert ist 1, wenn die Taste losgelassen wird, oder 0, wenn die Taste gedrückt wird.

Hinweise

Diese Funktion wird vor der OnKeyUp Memberfunktion und nach dem Aufrufen der OnKeyDown Memberfunktion aufgerufen. OnChar enthält den Wert der Tastaturtaste, die gedrückt oder losgelassen wird.

Da es nicht unbedingt eine 1:1-Entsprechung zwischen gedrückten Tasten und OnChar generierten Anrufen gibt, sind die Informationen in nFlags der Regel für Anwendungen nicht nützlich. Die Informationen in nFlags gelten nur für den letzten Aufruf der OnKeyUp Memberfunktion oder der Memberfunktion, die OnKeyDown dem Aufruf OnCharvorausgeht.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit der erweiterten Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCharToItem

Wird aufgerufen, wenn ein Listenfeld mit der Formatvorlage dem LBS_WANTKEYBOARDINPUT Besitzer eine WM_CHARTOITEM Nachricht als Antwort auf eine WM_CHAR Nachricht sendet.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Parameter

nChar
Gibt den Wert der taste an, die vom Benutzer gedrückt wird.

pListBox
Gibt einen Zeiger auf das Listenfeld an. Es kann vorübergehend sein.

nIndex
Gibt die aktuelle Caretposition an.

Rückgabewert

Das Framework ruft diese Memberfunktion auf, um die Aktion anzugeben, die die Anwendung als Reaktion auf den Aufruf ausgeführt hat. Ein Rückgabewert von -2 gibt an, dass die Anwendung alle Aspekte der Auswahl des Elements behandelt und keine weitere Aktion durch das Listenfeld wünscht. Ein Rückgabewert von -1 gibt an, dass das Listenfeld als Reaktion auf den Tastenanschlag die Standardaktion ausführen soll. Ein Rückgabewert von 0 oder höher gibt den nullbasierten Index eines Elements im Listenfeld an und gibt an, dass das Listenfeld die Standardaktion für die Tastatureingabe für das angegebene Element ausführen soll.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnChildActivate

Wenn es sich bei dem CWnd Objekt um ein untergeordnetes MDI-Fenster (Multiple Document Interface) handelt, wird das Framework aufgerufen, OnChildActivate wenn der Benutzer auf die Titelleiste des Fensters klickt oder wenn das Fenster aktiviert, verschoben oder angepasst wird.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Diese Memberfunktion wird vom übergeordneten Fenster dieses Fensters aufgerufen, wenn sie eine Benachrichtigung empfängt, die für dieses Fenster gilt.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parameter

message
Eine Windows-Nachrichtennummer, die an ein übergeordnetes Fenster gesendet wird.

wParam
Das wparam , das der Nachricht zugeordnet ist.

lParam
Der lparam , der der Nachricht zugeordnet ist.

pLResult
Ein Zeiger auf einen Wert, der aus der Fensterprozedur des übergeordneten Elements zurückgegeben werden soll. Dieser Zeiger wird angegeben NULL , wenn kein Rückgabewert erwartet wird.

Rückgabewert

Nonzero, wenn dieses Fenster für die Verarbeitung der an das übergeordnete Element gesendeten Nachricht verantwortlich ist; andernfalls 0.

Hinweise

Rufen Sie diese Memberfunktion nie direkt auf.

Die Standardimplementierung dieser Memberfunktion gibt "0" zurück, was bedeutet, dass das übergeordnete Element die Nachricht behandeln soll.

Überschreiben Sie diese Memberfunktion, um die Art und Weise zu erweitern, in der ein Steuerelement auf Benachrichtigungen reagiert.

CWnd::OnClipboardUpdate

Das Framework ruft diese Memberfunktion auf, wenn sich der Inhalt der Zwischenablage geändert hat.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

Das Framework ruft diese Memberfunktion als Signal auf, dass die CWnd Anwendung beendet werden soll.

afx_msg void OnClose();

Hinweise

Die standardmäßigen Implementierungsaufrufe DestroyWindow.

CWnd::OnColorizationColorChanged

Das Framework ruft dieses Element auf, wenn sich die Renderingrichtlinie für den Nichtclientbereich geändert hat.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parameter

dwColorizationColor
[in] Gibt die neue Farbgebungsfarbe an. Das Farbformat ist eine hexadezimale Zahl des Formulars 0xAARRGGBB, wobei jede der vier Komponenten von 0x00 bis 0xFF reicht. Die AA-Komponente ist der Alphawert, RR ist die Farbe Rot, GG ist grün, und BB ist blau.

bOpacity
[in] TRUE wenn die neue Farbe mit Deckkraft vermischt wird; FALSE wenn dies nicht der Der Grund ist.

Hinweise

Diese Methode empfängt die WM_DWMNCRENDERINGCHANGED Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCommand

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer ein Element aus einem Menü auswählt, wenn ein untergeordnetes Steuerelement eine Benachrichtigung sendet oder wenn eine Tastenkombination übersetzt wird.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parameter

wParam
Das Wort mit niedriger Reihenfolge wParam identifiziert die Befehls-ID des Menüelements, des Steuerelements oder der Zugriffstaste. Das Wort mit hoher Reihenfolge wParam gibt die Benachrichtigung an, wenn die Nachricht aus einem Steuerelement stammt. Wenn die Nachricht von einer Zugriffstaste stammt, lautet das Wort "Hochreihenfolge" 1. Wenn die Nachricht aus einem Menü stammt, lautet das Wort "Hochreihenfolge" 0.

lParam
Identifiziert das Steuerelement, das die Nachricht sendet, wenn die Nachricht von einem Steuerelement stammt. lParam Andernfalls ist 0.

Rückgabewert

Eine Anwendung gibt einen Wert ungleich Null zurück, wenn diese Nachricht verarbeitet wird; andernfalls 0.

Hinweise

OnCommand verarbeitet die Nachrichtenzuordnung zum Steuern von Benachrichtigungen und ON_COMMAND Einträgen und ruft die entsprechende Memberfunktion auf.

Überschreiben Sie diese Memberfunktion in der abgeleiteten Klasse, um die WM_COMMAND Nachricht zu behandeln. Eine Außerkraftsetzung verarbeitet die Nachrichtenzuordnung nur, wenn die Basisklasse OnCommand aufgerufen wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCompacting

Das Framework ruft diese Memberfunktion für alle Fenster der obersten Ebene auf, wenn Windows erkennt, dass mehr als 12,5 Prozent der Systemzeit über ein 30- bis 60-Sekunden-Intervall komprimiert werden.

afx_msg void OnCompacting(UINT nCpuTime);

Parameter

nCpuTime
Gibt das Verhältnis der cpu-Zeit an, die derzeit von Windows aufgewendet wird, um Arbeitsspeicher zu CPU-Zeit zu komprimieren, die für andere Vorgänge aufgewendet wurde. Beispielsweise stellt 8000h 50 Prozent der CPU-Zeit dar, die für die Komprimierung des Arbeitsspeichers aufgewendet wurde.

Hinweise

Dies weist darauf hin, dass der Systemspeicher niedrig ist.

Wenn ein CWnd Objekt diesen Aufruf empfängt, sollte es so viel Arbeitsspeicher wie möglich freigeben, wobei die aktuelle Aktivitätsstufe der Anwendung und die Gesamtzahl der in Windows ausgeführten Anwendungen berücksichtigt wird. Die Anwendung kann die Windows-Funktion aufrufen, um zu bestimmen, wie viele Anwendungen ausgeführt werden.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCompareItem

Das Framework ruft diese Memberfunktion auf, um die relative Position eines neuen Elements in einem untergeordneten sortierten Kombinations- oder Listenfeld für Besitzer-Zeichnen anzugeben.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parameter

nIDCtl
Der Bezeichner des Steuerelements, das die WM_COMPAREITEM Nachricht gesendet hat.

lpCompareItemStruct
Enthält einen langen Zeiger auf eine COMPAREITEMSTRUCT Datenstruktur, die die bezeichner und von der Anwendung bereitgestellten Daten für zwei Elemente im Kombinations- oder Listenfeld enthält.

Rückgabewert

Gibt die relative Position der beiden Elemente an. Dabei kann es sich um einen der folgenden Werte handeln:

Wert Bedeutung
-1 Element 1 sortiert vor Element 2.
0 Element 1 und Element 2 sortieren gleich.
1 Element 1 sortiert nach Element 2.

Hinweise

Wenn mit dem CBS_SORT Kombinations- oder LBS_SORT Listenfeld ein Kombinations- oder Listenfeld erstellt wird, sendet Windows dem Kombinationsfeld- oder Listenfeldbesitzer eine WM_COMPAREITEM Meldung, wenn die Anwendung ein neues Element hinzufügt.

Zwei Elemente im Kombinations- oder Listenfeld werden in einer COMPAREITEMSTRUCT Struktur reformiert, auf die lpCompareItemStructverwiesen wird. OnCompareItem sollte einen Wert zurückgeben, der angibt, welche elemente vor dem anderen angezeigt werden sollen. In der Regel führt Windows diesen Aufruf mehrmals aus, bis er die genaue Position für das neue Element bestimmt.

Wenn das hwndItem Element der COMPAREITEMSTRUCT Struktur zu einem CListBox oder CComboBox Objekt gehört, wird die CompareItem virtuelle Funktion der entsprechenden Klasse aufgerufen. Überschreiben CComboBox::CompareItem Oder CListBox::CompareItem in Ihrer abgeleiteten CListBox oder CComboBox Klasse, um den Elementvergleich zu erledigen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCompositionChanged

Das Framework ruft diese Memberfunktion für alle Fenster der obersten Ebene auf, wenn die Komposition des Desktopfenster-Managers (DWM) aktiviert oder deaktiviert ist.

afx_msg void OnCompositionChanged();

Hinweise

Diese Methode empfängt die WM_DWMCOMPOSITIONCHANGED Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnContextMenu

Wird vom Framework aufgerufen, wenn der Benutzer im Fenster auf die rechte Maustaste (mit der rechten Maustaste geklickt) geklickt hat.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parameter

pWnd
Behandeln Sie das Fenster, in dem der Benutzer mit der rechten Maustaste auf die Maus geklickt hat. Dies kann ein untergeordnetes Fenster des Fensters sein, das die Nachricht empfängt. Weitere Informationen zum Verarbeiten dieser Nachricht finden Sie im Abschnitt "Hinweise".

pos
Position des Cursors in Bildschirmkoordinaten zum Zeitpunkt des Mausklicks.

Hinweise

Sie können diese Meldung verarbeiten, indem Sie ein Kontextmenü mit dem TrackPopupMenu.

Wenn Sie kein Kontextmenü anzeigen, sollten Sie diese Meldung an die DefWindowProc Funktion übergeben. Wenn es sich bei Ihrem Fenster um ein untergeordnetes Fenster handelt, DefWindowProc wird die Nachricht an das übergeordnete Element gesendet. Andernfalls wird ein Standardkontextmenü angezeigt, DefWindowProc wenn sich die angegebene Position im Untertitel des Fensters befindet.

CWnd::OnCopyData

Diese Memberfunktion wird vom Framework aufgerufen, um Daten aus einer Anwendung in eine andere zu kopieren.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parameter

pWnd
Ein Zeiger auf ein CWnd Objekt, das die Daten sendet.

pCopyDataStruct
Ein Zeiger auf eine COPYDATASTRUCT Struktur, die die gesendeten Daten enthält.

Rückgabewert

Gibt zurück TRUE , wenn die empfangende Anwendung die Daten erfolgreich akzeptiert. Andernfalls wird FALSEzurückgegeben.

Hinweise

Die übergebenen Daten dürfen keine Zeiger oder andere Verweise auf Objekte enthalten, auf die die Anwendung nicht zugreifen kann, die die Daten empfängt.

Während die Daten kopiert werden, darf sie nicht von einem anderen Thread des Sendevorgangs geändert werden.

Die empfangende Anwendung sollte die Daten schreibgeschützt berücksichtigen. Die struktur, auf die der Parameter pCopyDataStruct verweist, ist nur während der Übertragung von Daten gültig. Die empfangende Anwendung sollte jedoch nicht den Speicher freigeben, der der Struktur zugeordnet ist.

Wenn die empfangende Anwendung nach dem Zurückgeben dieser Funktion Zugriff auf die Daten benötigt, muss sie die empfangenen Daten in einen lokalen Puffer kopieren.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCreate

Das Framework ruft diese Memberfunktion auf, wenn eine Anwendung anfordert, das Windows-Fenster durch Aufrufen der Create Funktion oder CreateEx Memberfunktion zu erstellen.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parameter

lpCreateStruct
Verweist auf eine CREATESTRUCT Struktur, die Informationen zum CWnd zu erstellenden Objekt enthält.

Rückgabewert

OnCreate muss 0 zurückgeben, um die Erstellung des CWnd Objekts fortzusetzen. Wenn die Anwendung -1 zurückgibt, wird das Fenster zerstört.

Hinweise

Das CWnd Objekt empfängt diesen Aufruf, nachdem das Fenster erstellt wurde, aber bevor es sichtbar wird. OnCreate wird aufgerufen, bevor die Create Funktion oder CreateEx Memberfunktion zurückgegeben wird.

Überschreiben Sie diese Memberfunktion, um alle erforderlichen Initialisierungen einer abgeleiteten Klasse auszuführen.

Die CREATESTRUCT Struktur enthält Kopien der Parameter, die zum Erstellen des Fensters verwendet werden.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnCtlColor

Das Framework ruft diese Memberfunktion auf, wenn ein untergeordnetes Steuerelement gezeichnet werden soll.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Parameter

pDC
Enthält einen Zeiger auf den Anzeigekontext für das untergeordnete Fenster. Kann vorübergehend sein.

pWnd
Enthält einen Zeiger auf das Steuerelement, das die Farbe anfragt. Kann vorübergehend sein.

nCtlColor
Enthält einen der folgenden Werte, der den Typ des Steuerelements angibt:

  • CTLCOLOR_BTN Schaltflächensteuerelement

  • CTLCOLOR_DLG Dialogfeld

  • CTLCOLOR_EDIT Steuerelement bearbeiten

  • CTLCOLOR_LISTBOX Listenfeld-Steuerelement

  • CTLCOLOR_MSGBOX Meldungsfeld

  • CTLCOLOR_SCROLLBAR Bildlaufleisten-Steuerelement

  • CTLCOLOR_STATIC Statisches Steuerelement

Rückgabewert

OnCtlColor muss einen Ziehpunkt an den Pinsel zurückgeben, der zum Zeichnen des Steuerelementhintergrunds verwendet werden soll.

Hinweise

Die meisten Steuerelemente senden diese Nachricht an das übergeordnete Element (in der Regel ein Dialogfeld), um das pDC Zeichnen des Steuerelements mit den richtigen Farben vorzubereiten.

Um die Textfarbe zu ändern, rufen Sie die SetTextColor Memberfunktion mit den gewünschten Rot-, Grün- und Blauwerten (RGB) auf.

Wenn Sie die Hintergrundfarbe eines einzeiligen Bearbeitungssteuerelements ändern möchten, legen Sie den Pinselpunkt sowohl in den CTLCOLOR_EDIT Codes als CTLCOLOR_MSGBOX auch in den Nachrichtencodes fest, und rufen Sie die CDC::SetBkColor Funktion als Reaktion auf den CTLCOLOR_EDIT Code auf.

OnCtlColor wird nicht für das Listenfeld eines Dropdown-Kombinationsfelds aufgerufen, da das Dropdown-Listenfeld tatsächlich ein untergeordnetes Element des Kombinationsfelds und kein untergeordnetes Element des Fensters ist. Um die Farbe des Dropdown-Listenfelds zu ändern, erstellen Sie eine CComboBox mit einer Außerkraftsetzung dieser OnCtlColor Überprüfungen CTLCOLOR_LISTBOX im nCtlColor Parameter. In diesem Handler muss die SetBkColor Memberfunktion verwendet werden, um die Hintergrundfarbe für den Text festzulegen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben. Zum Hinzufügen der folgenden Methode zur Dialogklasse verwenden Sie den Eigenschaftenbereich von Visual Studio, um einen Nachrichtenhandler für WM_CTLCOLOR. Alternativ können Sie der Nachrichtenkarte manuell einen ON_WM_CTLCOLOR() Eintrag hinzufügen.

Beispiel

// 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

Das Framework ruft diese Memberfunktion auf, wenn die OnKeyUp Memberfunktion und die OnKeyDown Memberfunktionen aufgerufen werden.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den Wert des Inaktiven Schlüsselzeichens an.

nRepCnt
Gibt die Wiederholungsanzahl an.

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Beschreibung
0-7 Scancode (OEM-abhängiger Wert). Low byte of high-order word.
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt; andernfalls 0).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird; andernfalls 0).
14 Vorheriger Schlüsselzustand (1, wenn die Taste vor dem Anruf nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Hinweise

Diese Memberfunktion kann verwendet werden, um den Zeichenwert eines inaktiven Schlüssels anzugeben. Eine inaktive Taste ist ein Schlüssel, z. B. das Umlautzeichen (Double-Dot), das mit anderen Zeichen kombiniert wird, um ein zusammengesetztes Zeichen zu bilden. Beispielsweise besteht das Umlaut-O-Zeichen aus dem toten Schlüssel, Umlaut und der O-Taste.

Eine Anwendung verwendet OnDeadChar in der Regel, um dem Benutzer Feedback zu den einzelnen gedrückten Tasten zu geben. Beispielsweise kann eine Anwendung den Akzent in der aktuellen Zeichenposition anzeigen, ohne das Caret zu verschieben.

Da es nicht unbedingt eine 1:1-Entsprechung zwischen gedrückten Tasten und OnDeadChar Anrufen gibt, sind die Informationen in nFlags der Regel für Anwendungen nicht nützlich. Die Informationen gelten nFlags nur für den letzten Aufruf der OnKeyUp Memberfunktion oder der Memberfunktion, die OnKeyDown dem OnDeadChar Aufruf vorausgeht.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit der erweiterten Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnDeleteItem

Das Framework ruft diese Memberfunktion auf, um den Besitzer eines Listenfelds oder Kombinationsfelds zu informieren, dass das Listenfeld oder Kombinationsfeld zerstört wird oder dass Elemente durch CComboBox::DeleteString, CListBox::DeleteString, , CComboBox::ResetContentoder CListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parameter

nIDCtl
Der Bezeichner des Steuerelements, das die WM_DELETEITEM Nachricht gesendet hat.

lpDeleteItemStruct
Gibt einen langen Zeiger auf eine DELETEITEMSTRUCT Datenstruktur an, die Informationen zum gelöschten Listenfeldelement enthält.

Hinweise

Wenn das hwndItem Element der DELETEITEMSTRUCT Struktur zu einem Kombinationsfeld oder Listenfeld gehört, wird die DeleteItem virtuelle Funktion der entsprechenden Klasse aufgerufen. Überschreiben Sie die DeleteItem Memberfunktion der Klasse des entsprechenden Steuerelements, um elementspezifische Daten zu löschen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnDestroy

Das Framework ruft diese Memberfunktion auf, um das CWnd Objekt darüber zu informieren, dass es zerstört wird.

afx_msg void OnDestroy();

Hinweise

OnDestroy wird aufgerufen, nachdem das CWnd Objekt vom Bildschirm entfernt wurde.

OnDestroy wird zuerst für das CWnd Zerstörte aufgerufen, dann für die Kinderfenster, wie CWnd sie zerstört werden. Es kann davon ausgegangen werden, dass alle untergeordneten Fenster während OnDestroy der Ausführung noch vorhanden sind.

Wenn das CWnd zu zerstörende Objekt Teil der Zwischenablage-Viewer-Kette ist (durch Aufrufen der SetClipboardViewer Memberfunktion festgelegt), muss sich das CWnd Objekt aus der Zwischenablage-Viewer-Kette entfernen, indem die ChangeClipboardChain Memberfunktion aufgerufen wird, bevor sie von der OnDestroy Funktion zurückgegeben wird.

CWnd::OnDestroyClipboard

Das Framework ruft diese Memberfunktion für den Besitzer der Zwischenablage auf, wenn die Zwischenablage über einen Aufruf der EmptyClipboard Windows-Funktion geleert wird.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

Das Framework ruft diese Memberfunktion auf, um eine Anwendung oder einen Gerätetreiber über eine Änderung an der Hardwarekonfiguration eines Geräts oder computers zu benachrichtigen.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Parameter

nEventType
Ein Ereignistyp. Eine Beschreibung der verfügbaren Werte finden Sie im Abschnitt "Hinweise"

dwData
Die Adresse einer Struktur, die ereignisspezifische Daten enthält. Seine Bedeutung hängt vom gegebenen Ereignis ab.

Hinweise

Für Geräte, die softwarekontrollierbare Features wie Ejection und Sperrung bieten, sendet das Betriebssystem in der Regel eine DBT_DEVICEREMOVEPENDING Meldung, damit Anwendungen und Gerätetreiber die Verwendung des Geräts ordnungsgemäß beenden können.

Wenn das Betriebssystem ein Gerät erzwungen entfernt, sendet DBT_DEVICEQUERYREMOVE es möglicherweise keine Nachricht, bevor es dies tut.

Der nEvent Parameter kann einer der folgenden Werte sein:

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnDevModeChange

Das Framework ruft diese Memberfunktion für alle Objekte der obersten Ebene CWnd auf, wenn der Benutzer die Gerätemoduseinstellungen ändert.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parameter

lpDeviceName
Verweist auf den in der Windows-Initialisierungsdatei angegebenen Gerätenamen. WIN.INI

Hinweise

Anwendungen, die die WM_DEVMODECHANGE Nachricht behandeln, können ihre Gerätemoduseinstellungen erneut initialisieren. Anwendungen, die die Windows-Funktion ExtDeviceMode zum Speichern und Wiederherstellen von Geräteeinstellungen verwenden, verarbeiten diese Funktion in der Regel nicht.

Diese Funktion wird nicht aufgerufen, wenn der Benutzer den Standarddrucker von Systemsteuerung ändert. In diesem Fall wird die OnWinIniChange Funktion aufgerufen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnDrawClipboard

Das Framework ruft diese Memberfunktion für jedes Fenster in der Zwischenablage-Viewer-Kette auf, wenn sich der Inhalt der Zwischenablage ändert.

afx_msg void OnDrawClipboard();

Hinweise

Nur Anwendungen, die der Zwischenablage-Viewer-Kette beigetreten sind, indem die SetClipboardViewer Memberfunktion aufgerufen wird, müssen auf diesen Aufruf reagieren.

Jedes Fenster, das einen OnDrawClipboard Aufruf empfängt, sollte die SendMessage Windows-Funktion aufrufen, um eine WM_DRAWCLIPBOARD Nachricht an das nächste Fenster in der Zwischenablageanzeigekette zu übergeben. Das Handle des nächsten Fensters wird von der SetClipboardViewer Memberfunktion zurückgegeben. Es kann als Reaktion auf einen OnChangeCbChain Memberfunktionsaufruf geändert werden.

CWnd::OnDrawIconicThumbnailOrLivePreview

Wird durch das Framework aufgerufen, wenn es eine auf der Windows 7-Registerkartenminiaturansicht oder auf dem Client für die Anwendungsvorschau anzuzeigende Bitmap abrufen muss.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Parameter

dc
Gibt den Gerätekontext an.

rect
Gibt das umgebende Rechteck des zu rendernden Bereichs an.

szRequiredThumbnailSize
Gibt die Größe der Zielminiaturansicht an. Sollte ignoriert werden, wenn bIsThumbnail dies der Grund ist FALSE.

bIsThumbnail
Gibt an, ob diese Methode für Iconic-Miniaturansichten oder Livevorschau (Vorschau) aufgerufen wird.

bAlphaChannelSet
[out] Legen Sie ihn fest, TRUE wenn die Implementierung den Alphakanal einer bitmap initialisiert, die in dc.

Hinweise

Überschreiben Sie diese Methode in einer abgeleiteten Klasse und zeichnen Sie im angegebenen Gerätekontext, um Miniaturansicht und Vorschau anzupassen. Ist bThumbnail dies der Grund TRUE, szRequiredThumbnailSize kann ignoriert werden. In diesem Fall sollten Sie beachten, dass Sie eine Bitmap mit voller Größe zeichnen (d. a. eine Bitmap, die den gesamten Clientbereich abdeckt). Der Gerätekontext (dc) enthält ausgewählte 32-Bit-Bitmap. Die Standardimplementierung sendet WM_PRINT an dieses Fenster mit PRF_CLIENT, PRF_CHILDRENund PRF_NONCLIENT flags.

CWnd::OnDrawItem

Das Framework ruft diese Memberfunktion für den Besitzer eines Steuerelements für die Schaltfläche "Besitzer zeichnen", eines Kombinationsfeld-Steuerelements, eines Listenfeld-Steuerelements oder eines Menüs auf, wenn sich ein visueller Aspekt des Steuerelements oder Menüs geändert hat.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parameter

nIDCtl
Enthält den Bezeichner des Steuerelements, das die WM_DRAWITEM Nachricht gesendet hat. Wenn ein Menü die Nachricht gesendet hat, nIDCtl enthält "0".

lpDrawItemStruct
Gibt einen langen Zeiger auf eine DRAWITEMSTRUCT Datenstruktur an, die Informationen zum zu zeichnenden Element und den erforderlichen Zeichnungstyp enthält.

Hinweise

Das itemAction Element der DRAWITEMSTRUCT Struktur definiert den Zeichnungsvorgang, der ausgeführt werden soll. Mit den Daten in diesem Member kann der Besitzer des Steuerelements bestimmen, welche Zeichnungsaktion erforderlich ist.

Bevor sie von der Verarbeitung dieser Nachricht zurückgegeben werden, sollte eine Anwendung sicherstellen, dass der vom hDC Element der DRAWITEMSTRUCT Struktur identifizierte Gerätekontext in den Standardzustand wiederhergestellt wird.

Wenn das hwndItem Element zu einem CButton, CMenu, CListBoxoder CComboBox -Objekt gehört, wird die DrawItem virtuelle Funktion der entsprechenden Klasse aufgerufen. Überschreiben Sie die DrawItem Memberfunktion der Klasse des entsprechenden Steuerelements, um das Element zu zeichnen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnDropFiles

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die linke Maustaste über ein Fenster loslässt, das sich als Empfänger abgelegter Dateien registriert hat.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parameter

hDropInfo
Ein Zeiger auf eine interne Datenstruktur, die die abgelegten Dateien beschreibt. Dieses Handle wird von den DragFinishFunktionen , DragQueryFileund DragQueryPoint Windows verwendet, um Informationen zu den abgelegten Dateien abzurufen.

Hinweise

In der Regel wird eine abgeleitete Klasse entwickelt, um abgelegte Dateien zu unterstützen, und sie registriert sich während der Fensterkonstruktion.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEnable

Das Framework ruft diese Memberfunktion auf, wenn eine Anwendung den aktivierten Zustand des CWnd Objekts ändert.

afx_msg void OnEnable(BOOL bEnable);

Parameter

bEnable
Gibt an, ob das CWnd Objekt aktiviert oder deaktiviert wurde. Dieser Parameter ist TRUE , wenn der CWnd Parameter aktiviert wurde. Er ist FALSE der Fall, wenn er CWnd deaktiviert wurde.

Hinweise

OnEnable wird aufgerufen, bevor die EnableWindow Memberfunktion zurückgegeben wird, aber nachdem sich der Status des Fensters (WS_DISABLED Formatvorlagenbit) geändert hat.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEndSession

Das Framework ruft diese Memberfunktion auf, nachdem das CWnd Objekt einen Wert ungleich Null von einem OnQueryEndSession Memberfunktionsaufruf zurückgegeben hat.

afx_msg void OnEndSession(BOOL bEnding);

Parameter

bEnding
Gibt an, ob die Sitzung beendet wird. TRUE Wenn die Sitzung beendet wird, andernfalls FALSE.

Hinweise

Der OnEndSession Aufruf informiert das CWnd Objekt darüber, ob die Sitzung tatsächlich beendet wird.

Wenn bEnding dies der Fall ist TRUE, kann Windows jederzeit beendet werden, nachdem alle Anwendungen von der Verarbeitung dieses Aufrufs zurückgegeben wurden. Daher führen Sie eine Anwendung alle aufgaben aus, die für die Beendigung erforderlich OnEndSessionsind.

Sie müssen die DestroyWindow Memberfunktion oder PostQuitMessage die Windows-Funktion nicht aufrufen, wenn die Sitzung beendet wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEnterIdle

Das Framework ruft diese Memberfunktion auf, um die Standard Fensterprozedur einer Anwendung darüber zu informieren, dass ein modales Dialogfeld oder ein Menü in einen Leerlaufzustand wechselt.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parameter

nWhy
Gibt an, ob die Nachricht das Ergebnis eines Dialogfelds oder eines angezeigten Menüs ist. Dieser Parameter kann einen der folgenden -Werte aufweisen:

  • MSGF_DIALOGBOX Das System ist im Leerlauf, da ein Dialogfeld angezeigt wird.

  • MSGF_MENU Das System ist im Leerlauf, da ein Menü angezeigt wird.

pWho
Gibt einen Zeiger auf das Dialogfeld (falls nWhy vorhanden MSGF_DIALOGBOX) oder das Fenster an, das das angezeigte Menü enthält (falls nWhy vorhanden MSGF_MENU). Dieser Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Ein modales Dialogfeld oder Menü wechselt in den Leerlaufzustand, wenn keine Nachrichten in der Warteschlange warten, nachdem eine oder mehrere vorherige Nachrichten verarbeitet wurden.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEnterMenuLoop

Das Framework ruft diese Memberfunktion auf, wenn eine modale Menüschleife eingegeben wurde.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parameter

bIsTrackPopupMenu
Gibt an, ob das verwendete Menü ein Popupmenü ist. Weist einen Wert ungleich Null auf, wenn die Funktion erfolgreich ist; andernfalls 0.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEnterSizeMove

Das Framework ruft diese Memberfunktion einmal auf, nachdem das betroffene Fenster eine bewegungs- oder größenveränderliche Schleife eingegeben hat.

afx_msg void OnEnterSizeMove();

Hinweise

Diese Methode empfängt die WM_ENTERSIZEMOVE Benachrichtigung, die im Windows SDK beschrieben wird.

Ein Fenster wechselt in eine bewegungs- oder größenveränderliche Schleife, wenn der Benutzer auf die Titelleiste oder den Größenrahmen des Fensters klickt oder wenn das Fenster die Nachricht an die WM_SYSCOMMANDCWnd::DefWindowProc Funktion übergibt und der wParam-Parameter dieser Nachricht angibt SC_MOVE oder SC_SIZE.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnEraseBkgnd

Das Framework ruft diese Memberfunktion auf, wenn der CWnd Objekthintergrund löscht (z. B. bei Größenänderung).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Parameter

pDC
Gibt das Gerätekontextobjekt an.

Rückgabewert

Nonzero, wenn er den Hintergrund löscht; andernfalls 0.

Hinweise

Es wird aufgerufen, eine ungültige Region für die Malerei vorzubereiten.

Die Standardimplementierung löscht den Hintergrund mithilfe des vom Member der Fensterklassenstruktur angegebenen hbrBackground Fensterklassenpinsels.

Wenn das hbrBackground Element lautet NULL, sollte die überschriebene Version der OnEraseBkgnd Hintergrundfarbe gelöscht werden. Ihre Version sollte auch den Ursprung des vorgesehenen Pinsels mit den CWnd Koordinaten ausrichten, indem zuerst der Pinsel aufgerufen UnrealizeObject und dann der Pinsel ausgewählt wird.

Ein Außerkraftsetzung OnEraseBkgnd sollte als Reaktion darauf WM_ERASEBKGND , wenn sie die Nachricht verarbeitet und den Hintergrund löscht, nicht mehr zurückgeben. Dies weist darauf hin, dass kein weiteres Löschen erforderlich ist. Wenn 0 zurückgegeben wird, wird das Fenster erneut Standard als gelöscht markiert. (In der Regel bedeutet dies, dass das fErase Element der PAINTSTRUCT Struktur TRUE.)

Windows geht davon aus, dass der Hintergrund mit dem MM_TEXT Zuordnungsmodus berechnet wird. Wenn der Gerätekontext einen anderen Zuordnungsmodus verwendet, befindet sich der gelöschte Bereich möglicherweise nicht innerhalb des sichtbaren Teils des Clientbereichs.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnExitMenuLoop

Das Framework ruft diese Memberfunktion auf, wenn eine modale Menüschleife beendet wurde.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parameter

bIsTrackPopupMenu
Gibt an, ob das verwendete Menü ein Popupmenü ist. Weist einen Wert ungleich Null auf, wenn die Funktion erfolgreich ist; andernfalls 0.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnExitSizeMove

Das Framework ruft diese Memberfunktion einmal auf, nachdem das betroffene Fenster eine bewegungs- oder größenveränderliche Schleife beendet hat.

afx_msg void OnExitSizeMove();

Hinweise

Diese Methode empfängt die WM_EXITSIZEMOVE Benachrichtigung, die im Windows SDK beschrieben wird.

Ein Fenster wechselt in eine bewegungs- oder größenveränderliche Schleife, wenn der Benutzer auf die Titelleiste oder den Größenrahmen des Fensters klickt oder wenn das Fenster die Nachricht an die WM_SYSCOMMANDCWnd::DefWindowProc Funktion und den wParam Parameter dieser Nachricht angibt SC_MOVE oder SC_SIZEübergibt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnFontChange

Alle Fenster der obersten Ebene im System erhalten einen OnFontChange Aufruf des Frameworks, nachdem die Anwendung den Pool der Schriftartressourcen geändert hat.

afx_msg void OnFontChange();

Hinweise

Eine Anwendung, die Schriftarten aus dem System hinzufügt oder entfernt (z. B. über die AddFontResourceRemoveFontResource Windows-Funktion), sollte die WM_FONTCHANGE Nachricht an alle Fenster der obersten Ebene senden.

Um diese Nachricht zu senden, verwenden Sie die SendMessage Windows-Funktion, wobei der hWnd Parameter auf . HWND_BROADCAST festgelegt ist.

CWnd::OnGetDlgCode

Wird für ein Steuerelement aufgerufen, sodass das Steuerelement die Eingabe für die PFEILTASTE und TAB-TASTE selbst verarbeiten kann.

afx_msg UINT OnGetDlgCode();

Rückgabewert

Mindestens einer der folgenden Werte, der angibt, welche Art von Eingabe die Anwendung verarbeitet:

  • DLGC_BUTTON Schaltfläche (generisch).

  • DLGC_DEFPUSHBUTTON Standard-Taste.

  • DLGC_HASSETSELEM_SETSEL Nachrichten.

  • DLGC_UNDEFPUSHBUTTON Keine Standardmäßige Pushbutton-Verarbeitung. (Eine Anwendung kann dieses Flag DLGC_BUTTON verwenden, um anzugeben, dass sie Schaltflächeneingaben verarbeitet, aber das System für die Standardmäßige Pushbutton-Verarbeitung verwendet.)

  • DLGC_RADIOBUTTON Optionsfeld.

  • DLGC_STATIC Statisches Steuerelement.

  • DLGC_WANTALLKEYS Alle Tastatureingaben.

  • DLGC_WANTARROWS Pfeiltasten.

  • DLGC_WANTCHARSWM_CHAR Nachrichten.

  • DLGC_WANTMESSAGE Alle Tastatureingaben. Die Anwendung übergibt diese Meldung an das Steuerelement.

  • DLGC_WANTTAB TAB-TASTE.

Hinweise

Normalerweise behandelt Windows alle Pfeiltasten- und TAB-Taste-Eingaben für ein CWnd Steuerelement. Durch Das Überschreiben OnGetDlgCodekann ein CWnd Steuerelement einen bestimmten Eingabetyp auswählen, der selbst verarbeitet werden soll.

Die Standardfunktionen OnGetDlgCode für die vordefinierten Steuerelementklassen geben einen für jede Klasse geeigneten Code zurück.

CWnd::OnGetMinMaxInfo

Das Framework ruft diese Memberfunktion immer dann auf, wenn Windows die maximierte Position oder Dimensionen oder die minimale oder maximale Nachverfolgungsgröße kennen muss.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parameter

lpMMI
Verweist auf eine MINMAXINFO Struktur, die Informationen über die maximierte Größe und Position eines Fensters sowie seine minimale und maximale Nachverfolgungsgröße enthält. Weitere Informationen zu dieser Struktur finden Sie in der MINMAXINFO Struktur.

Hinweise

Die maximierte Größe ist die Größe des Fensters, wenn die Rahmen vollständig erweitert werden. Die maximale Nachverfolgungsgröße des Fensters ist die größte Fenstergröße, die mithilfe der Rahmen zum Anpassen des Fensters erreicht werden kann. Die minimale Nachverfolgungsgröße des Fensters ist die kleinste Fenstergröße, die mithilfe der Rahmengröße des Fensters erreicht werden kann.

Windows füllt ein Array von Punkten ein, das Standardwerte für die verschiedenen Positionen und Dimensionen angibt. Die Anwendung kann diese Werte in OnGetMinMaxInfo.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnHelp

Verarbeitet die F1-Hilfe in der Anwendung (unter Verwendung des aktuellen Kontexts).

afx_msg void OnHelp();

Hinweise

Weitere Informationen finden Sie unter CWinApp::OnHelp.

CWnd::OnHelpFinder

Behandelt die ID_HELP_FINDER Befehle und ID_DEFAULT_HELP Befehle.

afx_msg void OnHelpFinder();

Hinweise

Weitere Informationen finden Sie unter CWinApp::OnHelpFinder.

CWnd::OnHelpIndex

Behandelt den ID_HELP_INDEX Befehl und stellt ein Standardhilfethema bereit.

afx_msg void OnHelpIndex();

Hinweise

Weitere Informationen finden Sie unter CWinApp::OnHelpIndex.

CWnd::OnHelpInfo

Wird durch das Framework aufgerufen, wenn der Benutzer die F1-TASTE drückt.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parameter

lpHelpInfo
Zeigen Sie auf eine HELPINFO Struktur, die Informationen zum Menüelement, Steuerelement, Dialogfeld oder Fenster enthält, für die Hilfe angefordert wird.

Rückgabewert

Gibt zurück TRUE , wenn ein Fenster den Tastaturfokus hat oder ein Menü innerhalb eines Fensters aktiv ist. Wenn kein Fenster den Tastaturfokus hat, wird der Wert zurückgegeben FALSE.

Hinweise

Wenn ein Menü aktiv ist, wenn F1 gedrückt wird, WM_HELP wird an das dem Menü zugeordnete Fenster gesendet. Andernfalls wird an das Fenster gesendet, WM_HELP das den Tastaturfokus hat. Wenn kein Fenster den Tastaturfokus hat, WM_HELP wird an das derzeit aktive Fenster gesendet.

CWnd::OnHelpUsing

Verarbeitet den Befehl ID_HELP_USING.

afx_msg void OnHelpUsing();

Hinweise

Weitere Informationen finden Sie unter CWinApp::OnHelpUsing.

CWnd::OnHotKey

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer eine systemweite Abkürzungstaste drückt.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parameter

nHotKeyId
[in] Bezeichner für den Hot Key, der die Nachricht generiert hat. Wenn die Nachricht von einem vom System definierten Hot Key generiert wurde, ist dieser Parameter einer der folgenden Werte:

  • IDHOT_SNAPDESKTOP – Die Andockdesktop-Hot-Taste wurde gedrückt.
  • IDHOT_SNAPWINDOW – Die Hot-Taste des Andockfensters wurde gedrückt.

nKey1
[in] Eine bitweise Kombination (OR) von Flags, die die Tasten angeben, die in Kombination mit der durch den nKey2 Parameter angegebenen Taste gedrückt wurden. Mögliche Werte sind:

  • MOD_ALT - Die ALT-TASTE wurde gedrückt gehalten.
  • MOD_CONTROL - Die STRG-TASTE wurde gedrückt gehalten.
  • MOD_SHIFT - Beide UMSCHALTTASTEn wurden gedrückt gehalten.
  • MOD_WIN – Beide WINDOWS-Taste wurden gedrückt gehalten. Diese Schlüssel werden mit dem Microsoft Windows-Logo beschriftet.

nKey2
[in] Der virtuelle Schlüsselcode des Hot Keys.

Hinweise

Diese Methode empfängt die WM_HOTKEY Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird oben in der Nachrichtenwarteschlange platziert, die dem Thread zugeordnet ist, der den Hot key registriert hat. Verwenden Sie die RegisterHotKey Funktion, um einen systemweiten Hot key zu registrieren.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnHScroll

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die horizontale Bildlaufleiste eines Fensters klickt.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parameter

nSBCode
Gibt einen Bildlaufleistencode an, der die Bildlaufanforderung des Benutzers angibt. Der Parameter kann eine der folgenden Einstellungen haben:

  • SB_LEFT Scrollen Sie nach links.

  • SB_ENDSCROLL Beenden des Bildlaufs.

  • SB_LINELEFT Scrollen Sie nach links.

  • SB_LINERIGHT Scrollen Sie nach rechts.

  • SB_PAGELEFT Scrollen Sie um eine Seite nach links.

  • SB_PAGERIGHT Scrollen Sie eine Seite nach rechts.

  • SB_RIGHT Scrollen Sie ganz rechts.

  • SB_THUMBPOSITION Scrollen Sie zu absoluter Position. Die aktuelle Position wird durch den nPos Parameter angegeben.

  • SB_THUMBTRACK Ziehen Sie das Bildlauffeld an die angegebene Position. Die aktuelle Position wird durch den nPos Parameter angegeben.

nPos
Gibt die Position des Bildlauffelds an, wenn der Bildlaufleistencode oder SB_THUMBTRACK; andernfalls nicht verwendet wirdSB_THUMBPOSITION. Je nach anfänglicher Bildlaufbereich nPos kann es negativ sein und sollte bei Bedarf in eine int Verschiebung verschoben werden.

pScrollBar
Wenn die Bildlaufnachricht von einem Bildlaufleisten-Steuerelement stammt, enthält sie einen Zeiger auf das Steuerelement. Wenn der Benutzer auf die Bildlaufleiste eines Fensters geklickt hat, lautet NULLdieser Parameter . Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Der Scrollleistencode wird in der SB_THUMBTRACK Regel von Anwendungen verwendet, die Feedback geben, während das Bildlauffeld gezogen wird.

Wenn eine Anwendung den inhalt, der von der Bildlaufleiste gesteuert wird, scrollt, muss sie auch die Position des Bildlauffelds mit der SetScrollPos Memberfunktion zurücksetzen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

Beispiel

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

Die Memberfunktion des Zwischenablagebesitzers OnHScrollClipboard wird von der Zwischenablageanzeige aufgerufen, wenn die Zwischenablagedaten das CF_OWNERDISPLAY Format aufweisen und ein Ereignis in der horizontalen Bildlaufleiste der Zwischenablageanzeige vorhanden ist.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parameter

pClipAppWnd
Gibt einen Zeiger auf ein Zwischenablageanzeigefenster an. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

nSBCode
Gibt einen der folgenden Bildlaufleistencodes im Wort mit niedriger Reihenfolge an:

  • SB_BOTTOM Scrollen Sie nach unten rechts.

  • SB_ENDSCROLL Beenden des Bildlaufs.

  • SB_LINEDOWN Scrollen Sie eine Zeile nach unten.

  • SB_LINEUP Scrollen Sie eine Zeile nach oben.

  • SB_PAGEDOWN Scrollen Sie eine Seite nach unten.

  • SB_PAGEUP Scrollen Sie eine Seite nach oben.

  • SB_THUMBPOSITION Scrollen Sie zur absoluten Position. Die aktuelle Position wird in .nPos

  • SB_TOP Scrollen Sie nach oben links.

nPos
Enthält die Position des Bildlauffelds, wenn der Bildlaufleistencode lautet SB_THUMBPOSITION; andernfalls nicht verwendet.

Hinweise

Der Besitzer sollte im Bild der Zwischenablage scrollen, den entsprechenden Abschnitt ungültig halten und die Bildlaufleistenwerte aktualisieren.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnIconEraseBkgnd

Das Framework ruft diese Memberfunktion für ein minimiertes (iconic) CWnd -Objekt auf, wenn der Hintergrund des Symbols ausgefüllt werden muss, bevor das Symbol zeichnungen.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Parameter

pDC
Gibt das Gerätekontextobjekt des Symbols an. Kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

CWnd empfängt diesen Aufruf nur, wenn ein Klassensymbol für die Standardimplementierung des Fensters definiert ist; andernfalls OnEraseBkgnd wird aufgerufen.

Die DefWindowProc Memberfunktion füllt den Symbolhintergrund mit dem Hintergrundpinsel des übergeordneten Fensters aus.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnInitMenu

Das Framework ruft diese Memberfunktion auf, wenn ein Menü aktiv werden soll.

afx_msg void OnInitMenu(CMenu* pMenu);

Parameter

pMenu
Gibt das zu initialisierende Menü an. Kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

OnInitMenu wird aufgerufen, wenn der Benutzer auf ein Element auf der Menüleiste klickt oder eine Menütaste drückt. Überschreiben Sie diese Memberfunktion, um das Menü zu ändern, bevor es angezeigt wird.

OnInitMenu wird nur einmal aufgerufen, wenn zuerst auf ein Menü zugegriffen wird (z. B. wenn ein Benutzer auf ein Element auf der Menüleiste klickt). Diese Methode enthält keine Informationen zu Menüelementen. Wenn der Benutzer zu Elementen im Menü wechselt (z. B. durch Bewegen der Maus über mehrere Menüelemente), wird die Funktion nicht erneut aufgerufen. Sobald der Benutzer das Menü verlässt (z. B. durch Klicken auf den Anwendungsclientbereich) und später auf ein Element auf der Menüleiste klickt, wird die Funktion erneut aufgerufen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnInitMenuPopup

Das Framework ruft diese Memberfunktion auf, wenn ein Popupmenü aktiv wird.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parameter

pPopupMenu
Gibt das Menüobjekt des Popupmenüs an. Kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

nIndex
Gibt den Index des Popupmenüs im menü Standard an.

bSysMenu
TRUE wenn das Popupmenü das Menü "Steuerelement" ist; andernfalls FALSE.

Hinweise

Dadurch kann eine Anwendung das Popupmenü ändern, bevor es angezeigt wird, ohne das gesamte Menü zu ändern.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnInputDeviceChange

Das Framework ruft diese Memberfunktion auf, wenn ein E/A-Gerät hinzugefügt oder aus dem System entfernt wird.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parameter

uFlag
[in] Dieses Flag kann die folgenden Werte enthalten:

  • GIDC_ARRIVAL - Dem System wurde ein neues Gerät hinzugefügt.
  • GIDC_REMOVAL - Ein Gerät wurde aus dem System entfernt.

Hinweise

Diese Methode empfängt die WM_INPUT_DEVICE_CHANGE Benachrichtigung, die im Windows SDK beschrieben wird. Dies ist eine generische Eingabegerätmeldung.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnInputLangChange

Das Framework ruft dieses Element für das oberste betroffene Fenster auf, nachdem die Eingabesprache einer Anwendung geändert wurde.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parameter

nCharSet
[in] Der Zeichensatz des neuen Gebietsschemas. Weitere Informationen finden Sie im lfCharSet Parameter der LOGFONT Struktur.

nLocaleId
[in] Der Eingabegebietsschemabezeichner. Weitere Informationen finden Sie unter Sprachbezeichnerkonstanten und Zeichenfolgen.

Hinweise

Diese Methode empfängt die WM_INPUTLANGCHANGE Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnInputLangChangeRequest

Das Framework ruft dieses Element für Fenster mit dem Fokus auf, wenn der Benutzer eine neue Eingabesprache auswähnt.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parameter

nFlags
[in] Eine bitweise (OR)-Kombination aus Flags, die angeben, dass das neue Gebietsschema aus dem vorherigen oder nächsten Gebietsschema in der installierten Liste der Gebietsschemas ausgewählt wurde oder dass das Tastaturlayout des neuen Eingabegebietsschemas mit dem Systemzeichensatz verwendet werden kann. Die möglichen Werte sind INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARD und INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in] Der Eingabegebietsschemabezeichner. Weitere Informationen finden Sie unter Sprachbezeichnerkonstanten und Zeichenfolgen.

Hinweise

Diese Methode empfängt die WM_INPUTLANGCHANGEREQUEST Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird gepostet, wenn der Benutzer eine neue Eingabesprache mit einem Hotkey auswäht, der in der Systemsteuerungsanwendung der Tastatur angegeben ist, oder über den Indikator auf der System-Taskleiste.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnKeyDown

Das Framework ruft diese Memberfunktion auf, wenn eine Nichtsystemtaste gedrückt wird.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den virtuellen Schlüsselcode des angegebenen Schlüssels an. Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h

nRepCnt
Wiederholungsanzahl (die Häufigkeit, mit der der Tastenanschlag wiederholt wird, wenn der Benutzer die Taste gedrückt hält).

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Beschreibung
0-7 Scancode (OEM-abhängiger Wert).
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird; andernfalls 0).
14 Vorheriger Schlüsselzustand (1, wenn die Taste vor dem Anruf nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Bei einer WM_KEYDOWN Nachricht ist das Schlüsselübergangsbit (Bit 15) 0, und der Kontextcodebit (Bit 13) ist 0.

Hinweise

Eine Nichtsystemtaste ist eine Tastaturtaste, die gedrückt wird, wenn die ALT-Taste nicht gedrückt wird, oder eine Tastaturtaste, die gedrückt wird, wenn CWnd der Eingabefokus liegt.

Aufgrund der automatischen Wiederholung können mehrere OnKeyDown Aufrufe auftreten, bevor ein OnKeyUp Memberfunktionsaufruf ausgeführt wird. Das Bit, das den vorherigen Schlüsselzustand angibt, kann verwendet werden, um zu bestimmen, ob der OnKeyDown Aufruf der erste Abwärtsübergang oder ein wiederholter Abwärtsübergang ist.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit der erweiterten Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnKeyUp

Das Framework ruft diese Memberfunktion auf, wenn ein Nichtsystemschlüssel freigegeben wird.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den virtuellen Schlüsselcode des angegebenen Schlüssels an. Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h

nRepCnt
Wiederholungsanzahl (die Häufigkeit, mit der der Tastenanschlag wiederholt wird, wenn der Benutzer die Taste gedrückt hält).

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Beschreibung
0-7 Scancode (OEM-abhängiger Wert). Low byte of high-order word.
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt; andernfalls 0).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird; andernfalls 0).
14 Vorheriger Schlüsselzustand (1, wenn die Taste vor dem Anruf nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Bei einer WM_KEYUP Nachricht ist der Schlüsselübergangsbit (Bit 15) 1, und der Kontextcodebit (Bit 13) ist 0.

Hinweise

Eine Nichtsystemtaste ist eine Tastatur, die gedrückt wird, wenn die ALT-Taste nicht gedrückt wird, oder eine Tastaturtaste, die gedrückt wird, wenn der CWnd Eingabefokus besitzt.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit mit erweiterter Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnKillFocus

Das Framework ruft diese Memberfunktion unmittelbar auf, bevor der Eingabefokus verloren geht.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Parameter

pNewWnd
Gibt einen Zeiger auf das Fenster an, der den Eingabefokus empfängt (möglicherweise vorübergehend NULL ).

Hinweise

Wenn das CWnd Objekt ein Caret anzeigt, sollte das Caret an diesem Punkt zerstört werden.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnLButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer mit der linken Maustaste doppelt klickt.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Nur Fenster, die den CS_DBLCLKSWNDCLASS Stil aufweisen, erhalten OnLButtonDblClk Anrufe. Dies ist die Standardeinstellung für Microsoft Foundation Class-Fenster. Windows ruft auf OnLButtonDblClk , wenn der Benutzer drückt, loslässt und dann erneut die linke Maustaste innerhalb des Doppelklick-Zeitlimits des Systems drückt. Durch Doppelklicken auf die linke Maustaste werden tatsächlich vier Ereignisse generiert: WM_LBUTTONDOWNNachrichten, der WM_LBUTTONDBLCLK Anruf und eine weitere WM_LBUTTONUP Nachricht, wenn die Schaltfläche WM_LBUTTONUP losgelassen wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnLButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die linke Maustaste drückt.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnLButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die linke Maustaste loslässt.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die mittlere Maustaste doppelklicken.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Nur Fenster, die den CS_DBLCLKSWNDCLASS Stil aufweisen, erhalten OnMButtonDblClk Anrufe. Dies ist die Standardeinstellung für alle Microsoft Foundation Class-Fenster. Windows generiert einen OnMButtonDblClk Anruf, wenn der Benutzer die mittlere Maustaste drückt, loslässt und dann erneut innerhalb des Doppelklick-Zeitlimits des Systems drückt. Durch Doppelklicken auf die mittlere Maustaste werden tatsächlich vier Ereignisse generiert: WM_MBUTTONDOWN und WM_MBUTTONUP Nachrichten, der WM_MBUTTONDBLCLK Anruf und eine andere WM_MBUTTONUP Nachricht.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die mittlere Maustaste drückt.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die mittlere Maustaste loslässt.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMDIActivate

Das Framework ruft diese Memberfunktion auf, damit das untergeordnete Fenster deaktiviert und das untergeordnete Fenster aktiviert wird.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parameter

bActivate
TRUE wenn das untergeordnete Element aktiviert wird und FALSE wenn es deaktiviert wird.

pActivateWnd
Enthält einen Zeiger auf das untergeordnete MDI-Fenster, das aktiviert werden soll. Wenn sie von einem untergeordneten MDI-Fenster empfangen werden, enthält sie einen Zeiger auf das untergeordnete Fenster, pActivateWnd das aktiviert wird. Dieser Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

pDeactivateWnd
Enthält einen Zeiger auf das untergeordnete MDI-Fenster, das deaktiviert wird. Dieser Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Ein untergeordnetes MDI-Fenster wird unabhängig vom MDI-Framefenster aktiviert. Wenn der Frame aktiv wird, empfängt das untergeordnete Fenster, das zuletzt mit einem OnMDIActivate Anruf aktiviert wurde, eine WM_NCACTIVATE Nachricht, um einen aktiven Fensterrahmen zu zeichnen, und Untertitel Leiste, erhält jedoch keinen weiteren OnMDIActivate Anruf.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMeasureItem

Das Framework ruft diese Memberfunktion vom Framework für den Besitzer einer Schaltfläche "Besitzer-Zeichnen", eines Kombinationsfelds, eines Listenfelds oder eines Menüelements auf, wenn das Steuerelement erstellt wird.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Parameter

nIDCtl
Die ID des Steuerelements.

lpMeasureItemStruct
Verweist auf eine MEASUREITEMSTRUCT Datenstruktur, die die Dimensionen des Besitzer-Draw-Steuerelements enthält.

Hinweise

Überschreiben Sie diese Memberfunktion, und füllen Sie die MEASUREITEMSTRUCT Datenstruktur aus, auf die verwiesen lpMeasureItemStruct wird, und geben Sie zurück. Dadurch wird Windows über die Dimensionen des Steuerelements informiert und Windows die Benutzerinteraktion mit dem Steuerelement ordnungsgemäß verarbeiten können.

Wenn ein Listen- oder Kombinationsfeld mit dem Format oder CBS_OWNERDRAWVARIABLE der LBS_OWNERDRAWVARIABLE Formatvorlage erstellt wird, ruft das Framework diese Funktion für den Besitzer für jedes Element im Steuerelement auf. Andernfalls wird diese Funktion einmal aufgerufen.

Windows initiiert den Aufruf OnMeasureItem für den Besitzer von Kombinationsfeldern und Listenfeldern, die mit dem OWNERDRAWFIXED Stil erstellt wurden, bevor die WM_INITDIALOG Nachricht gesendet wird. Wenn der Besitzer diesen Anruf empfängt, hat Windows daher noch nicht die Höhe und Breite der Schriftart bestimmt, die im Steuerelement verwendet wird; Funktionsaufrufe und Berechnungen, die diese Werte erfordern, sollten in der Standard Funktion der Anwendung oder Bibliothek auftreten.

Wenn das gemessene Element ein CMenuOder-Objekt CComboBoxCListBox ist, wird die MeasureItem virtuelle Funktion der entsprechenden Klasse aufgerufen. Überschreiben Sie die MeasureItem Memberfunktion der Klasse des entsprechenden Steuerelements, um die Größe der einzelnen Elemente zu berechnen und festzulegen.

OnMeasureItem wird nur aufgerufen, wenn die Klasse des Steuerelements zur Laufzeit erstellt oder mit dem LBS_OWNERDRAWVARIABLE Format erstellt CBS_OWNERDRAWVARIABLE wird. Wenn das Steuerelement vom Dialogfeld-Editor erstellt wird, OnMeasureItem wird es nicht aufgerufen. Dies liegt daran, dass die WM_MEASUREITEM Nachricht frühzeitig im Erstellungsprozess des Steuerelements gesendet wird. Wenn Sie unterklassen mithilfe von DDX_Control, SubclassDlgItemoder SubclassWindow, die Unterklassen in der Regel nach dem Erstellungsprozess auftreten. Daher gibt es keine Möglichkeit, die Nachricht in der WM_MEASUREITEM Funktion des Steuerelements OnChildNotify zu behandeln, was der Mechanismus ist, den MFC zur Implementierung ON_WM_MEASUREITEM_REFLECTverwendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMenuChar

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer ein Mnemonic-Menü drückt, das keinem der vordefinierten Mnemonics im aktuellen Menü entspricht.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Parameter

nChar
Gibt abhängig von den Buildeinstellungen das ANSI- oder Unicode-Zeichen an, das der Benutzer gedrückt hat.

nFlags
Enthält die MF_POPUP Kennzeichnung, wenn das Menü ein Popupmenü ist. Es enthält die MF_SYSMENU Kennzeichnung, wenn das Menü ein Steuerelementmenü ist.

pMenu
Enthält einen Zeiger auf die ausgewählte CMenu. Der Zeiger kann temporär sein und sollte nicht gespeichert werden.

Rückgabewert

Das Wort mit hoher Reihenfolge des Rückgabewerts sollte einen der folgenden Befehlscodes enthalten:

Wert Beschreibung
0 Weist Windows an Karte das zeichen, das der Benutzer gedrückt hat, und erstellt einen kurzen Signalton auf dem Systemlautsprecher.
1 Weist Windows an, das aktuelle Menü zu schließen.
2 Informiert Windows, dass das Wort mit niedriger Reihenfolge des Rückgabewerts die Elementnummer für ein bestimmtes Element enthält. Dieses Element wird von Windows ausgewählt.

Das Wort mit niedriger Reihenfolge wird ignoriert, wenn das Wort mit hoher Reihenfolge 0 oder 1 enthält. Anwendungen sollten diese Meldung verarbeiten, wenn Tastenkombinationen verwendet werden, um Bitmaps auszuwählen, die in einem Menü platziert werden.

Hinweise

Es wird an das CWnd Menü gesendet, das das Menü besitzt. OnMenuChar wird auch aufgerufen, wenn der Benutzer ALT und eine andere Taste drückt, auch wenn die Taste nicht einem mnemonic-Zeichen entspricht. In diesem Fall verweist auf das Menü im pMenu Besitz des CWndMenüs und nFlags ist 0.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMenuDrag

Das Framework ruft diese Memberfunktion des aktuellen Drag-and-Drop-Menüs auf, wenn der Benutzer mit dem Ziehen eines Menüelements beginnt.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parameter

nPos
[in] Die Indexposition des Menüelements, wenn der Ziehvorgang beginnt.

pMenu
[in] Zeigen Sie auf das CMenu Objekt, das das Menüelement enthält.

Rückgabewert

Rückgabewert Bedeutung
MND_CONTINUE Das Menü sollte wieder Standard aktiv sein. Wenn die Maus losgelassen wird, sollte sie ignoriert werden.
MND_ENDMENU Das Menü sollte beendet werden.

Hinweise

Diese Methode empfängt die WM_MENUDRAG Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMenuGetObject

Das Framework ruft diese Memberfunktion des aktuellen Drag-and-Drop-Menüs auf, wenn der Mauszeiger ein Menüelement eingibt oder von der Mitte des Elements zum oberen oder unteren Rand des Elements wechselt.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parameter

pMenu
[in] Zeigen Sie auf eine MENUGETOBJECTINFO Struktur, die Informationen zum Drag-and-Drop-Menü enthält, auf dem sich der Mauszeiger befindet.

Rückgabewert

Rückgabewert Bedeutung
MNGO_NOERROR Ein Schnittstellenzeiger, der Drop-and-Drag-Vorgänge unterstützt, wird im pvObj Element der MENUGETOBJECTINFO Struktur zurückgegeben. Derzeit wird nur die IDropTarget Schnittstelle unterstützt.
MNGO_NOINTERFACE Es wird keine Drop-and-Drag-Schnittstelle unterstützt.

Hinweise

Diese Methode empfängt die WM_MENUGETOBJECT Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMenuRButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die rechte Maustaste loslässt, während sich der Cursor auf einem Menüelement befindet.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parameter

nPos
[in] Die Indexposition des Menüelements, wenn die rechte Maustaste losgelassen wurde.

pMenu
[in] Zeigen Sie auf das CMenu Objekt, das das Menüelement enthält.

Hinweise

Diese Methode empfängt die WM_MENURBUTTONUP Benachrichtigung, die im Windows SDK beschrieben wird. Mit der WM_MENURBUTTONUP Nachricht kann eine Anwendung ein kontextabhängiges Menü für das in der Nachricht angegebene Menüelement bereitstellen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMenuSelect

Wenn das CWnd Objekt einem Menü zugeordnet ist, wird das Framework aufgerufen, OnMenuSelect wenn der Benutzer ein Menüelement auswählt.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Parameter

nItemID
Identifiziert das ausgewählte Element. Wenn das ausgewählte Element ein Menüelement ist, nItemID enthält die Menüelement-ID. Wenn das ausgewählte Element ein Popupmenü enthält, nItemID enthält den Popupmenüindex und hSysMenu enthält das Handle des Standard (angeklippt) Menüs.

nFlags
Enthält eine Kombination der folgenden Menükennzeichnungen:

  • MF_BITMAP Element ist eine Bitmap.

  • MF_CHECKED Element ist aktiviert.

  • MF_DISABLED Element ist deaktiviert.

  • MF_GRAYED Das Element ist abgeblendet.

  • MF_MOUSESELECT Das Element wurde mit einer Maus ausgewählt.

  • MF_OWNERDRAW Element ist ein Besitzer-Draw-Element.

  • MF_POPUP Element enthält ein Popupmenü.

  • MF_SEPARATOR Element ist ein Menüelementtrennzeichen.

  • MF_SYSMENU Das Element ist im Menü "Steuerelement" enthalten.

hSysMenu
MF_SYSMENUEnthält nFlags , identifiziert das Menü, das der Nachricht zugeordnet ist. Wenn nFlags dieses Element enthalten istMF_POPUP, wird das Handle des menüs Standard identifiziert. Enthält nFlags weder MF_SYSMENU noch MF_POPUPist er nicht verwendet.

Hinweise

Wenn nFlags 0xFFFF enthält und hSysMenu 0 enthält, hat Windows das Menü geschlossen, da der Benutzer die ESC-Taste gedrückt oder außerhalb des Menüs geklickt hat.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMouseActivate

Das Framework ruft diese Memberfunktion auf, wenn sich der Cursor in einem inaktiven Fenster befindet und der Benutzer eine Maustaste drückt.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Parameter

pDesktopWnd
Gibt einen Zeiger auf das übergeordnete Fenster der obersten Ebene des zu aktivierenden Fensters an. Der Zeiger kann temporär sein und sollte nicht gespeichert werden.

nHitTest
Gibt die Treffertestbereichsfunktion an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

message
Gibt die Mausnachrichtennummer an.

Rückgabewert

Gibt an, ob das CWnd Mausereignis aktiviert werden soll und ob das Mausereignis Karte deaktiviert werden soll. Es muss sich um einen der folgenden Werte handeln:

  • MA_ACTIVATE Objekt aktivieren CWnd .

  • MA_NOACTIVATE Objekt nicht aktivieren CWnd .

  • MA_ACTIVATEANDEATObjekt aktivieren CWnd und das Mausereignis aufheben Karte.

  • MA_NOACTIVATEANDEATObjekt nicht aktivieren CWnd und das Mausereignis aufheben Karte

Hinweise

Die Standardimplementierung übergibt diese Meldung an das übergeordnete Fenster, bevor eine Verarbeitung erfolgt. Wenn das übergeordnete Fenster WAHR zurückgibt, wird die Verarbeitung angehalten.

Eine Beschreibung der einzelnen Treffertestbereichscodes finden Sie in der OnNcHitTest Memberfunktion.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

Beispiel

// 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

Das Framework ruft diese Memberfunktion auf, wenn der Cursor über den Clientbereich des Fensters für den in einem vorherigen Aufruf TrackMouseEventangegebenen Zeitraum bewegt wird.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Modifizierertasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird.

point
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_MOUSEHOVER Benachrichtigung, die im Windows SDK beschrieben wird.

Der nFlags Parameter kann eine Kombination aus Zusatztasten sein, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen finden Sie unter "Informationen zur Mauseingabe".

Zusatztaste Beschreibung
MK_CONTROL Die STRG-TASTE wird gedrückt.
MK_LBUTTON Die linke Maustaste wird gedrückt.
MK_MBUTTON Die mittlere Maustaste wird gedrückt.
MK_RBUTTON Die rechte Maustaste wird gedrückt.
MK_SHIFT Die UMSCHALTTASTE wird gedrückt.
MK_XBUTTON1 Die XBUTTON1 Maustaste der Microsoft IntelliMouse wird gedrückt.
MK_XBUTTON2 Die XBUTTON2 Maustaste der Microsoft IntelliMouse wird gedrückt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMouseHWheel

Das Framework ruft dieses Element auf, wenn das horizontale Bildlaufrad der Maus gekippt oder gedreht wird.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parameter

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Modifizierertasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird. Eine Liste der Flags finden Sie in der Unterüberschrift "Nachrichtenparameter" in "Informationen zur Mauseingabe".

zDelta
[in] Gibt den Abstand an, der das Rad gedreht wird, ausgedrückt in Vielfachen oder Divisionen von WHEEL_DELTA, die 120 ist. Ein positiver Wert gibt an, dass das Rad nach rechts gedreht wurde; Ein negativer Wert gibt an, dass das Rad nach links gedreht wurde.

pt
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_MOUSEHWHEEL Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird an das Fenster gesendet, das den Fokus hat, wenn das horizontale Bildlaufrad der Maus gekippt oder gedreht wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMouseLeave

Das Framework ruft diese Memberfunktion auf, wenn der Cursor den Clientbereich des fensters verlässt, das in einem vorherigen Aufruf TrackMouseEventangegeben ist.

afx_msg void OnMouseLeave();

Hinweise

Diese Methode empfängt die WM_MOUSELEAVE Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMouseMove

Das Framework ruft diese Memberfunktion auf, wenn der Mauszeiger bewegt wird.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Wenn die Maus nicht erfasst wird, wird die WM_MOUSEMOVE Nachricht vom Objekt unterhalb des CWnd Mauszeigers empfangen. Andernfalls wechselt die Nachricht zum Fenster, das die Maus erfasst hat.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMouseWheel

Das Framework ruft diese Memberfunktion auf, wenn ein Benutzer das Mausrad dreht und auf den nächsten Notch des Rads trifft.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob die STRG-TASTE nach unten ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste gedrückt ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

zDelta
Gibt den gedrehten Abstand an. Der zDelta Wert wird in Vielfachen oder Divisionen von WHEEL_DELTA120 ausgedrückt. Ein Wert kleiner als 0 gibt das Zurückdrehen (gegenüber dem Benutzer) an, während ein Wert größer als Null die Vorwärtsdrehung (vom Benutzer weg) angibt. Der Benutzer kann diese Antwort umkehren, indem er die Radeinstellung in der Maussoftware ändert. Weitere Informationen zu diesem Parameter finden Sie in den Hinweisen.

pt
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Rückgabewert

Nonzero, wenn Mausrad-Bildlauf aktiviert ist; andernfalls 0.

Hinweise

Wenn sie nicht außer Kraft gesetzt werden, OnMouseWheel wird die Standardeinstellung von WM_MOUSEWHEEL. Windows leitet die Nachricht automatisch an das Steuerelement oder das untergeordnete Fenster weiter, das den Fokus hat. Die Win32-Funktion DefWindowProc verteilt die Nachricht in der übergeordneten Kette an das Fenster, das sie verarbeitet.

Der zDelta Parameter ist ein Vielfaches von WHEEL_DELTA, das auf 120 festgelegt wird. Dieser Wert ist der Schwellenwert für eine auszuführende Aktion, und eine solche Aktion (z. B. ein Bildlauf nach vorne) sollte für jedes Delta auftreten.

WHEEL_DELTA wurde auf 120 festgelegt, um feiner auflösungsfreie Räder zu ermöglichen, z. B. ein frei drehendes Rad ohne Noten. Ein feiner aufgelöstes Rad sendet mehr Nachrichten pro Drehung, aber jede Nachricht weist einen kleineren Deltawert auf. Um ein solches Rad zu verwenden, fügen Sie entweder die eingehenden zDelta Werte hinzu, bis WHEEL_DELTA sie erreicht sind (sodass Sie dieselbe Antwort für eine bestimmte Delta-Drehung erhalten), oder scrollen Sie als Reaktion auf die häufigeren Nachrichten teilweise Zeilen. Sie können auch eine Bildlauf granularität auswählen und Deltas ansammeln, bis WHEEL_DELTA sie erreicht sind.

Überschreiben Sie diese Memberfunktion, um ein eigenes Bildlaufverhalten für Mausrad bereitzustellen.

Hinweis

OnMouseWheel verarbeitet Nachrichten für Windows NT 4.0 und höhere Versionen. Verwenden Sie OnRegisteredMouseWheelfür die Nachrichtenverarbeitung von Windows 95/98 oder Windows NT 3.51.

CWnd::OnMove

Das Framework ruft diese Memberfunktion auf, nachdem das CWnd Objekt verschoben wurde.

afx_msg void OnMove(
    int x,
    int y);

Parameter

x
Gibt die neue x-Koordinatenposition der oberen linken Ecke des Clientbereichs an. Diese neue Position wird in Bildschirmkoordinaten für überlappende und Popupfenster sowie übergeordnete Clientkoordinaten für untergeordnete Fenster angegeben.

y
Gibt die neue y-Koordinatenposition der oberen linken Ecke des Clientbereichs an. Diese neue Position wird in Bildschirmkoordinaten für überlappende und Popupfenster sowie übergeordnete Clientkoordinaten für untergeordnete Fenster angegeben.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnMoving

Das Framework ruft diese Memberfunktion auf, während ein Benutzer ein CWnd Objekt verschiebt.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Parameter

nSide
Der Rand des zu verschiebenden Fensters.

lpRect
Adresse der CRect Oder RECT Struktur , die die Koordinaten des Elements enthält.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcActivate

Das Framework ruft diese Memberfunktion auf, wenn der Nichtclientbereich geändert werden muss, um einen aktiven oder inaktiven Zustand anzugeben.

afx_msg BOOL OnNcActivate(BOOL bActive);

Parameter

bActive
Gibt an, wann eine Untertitel Leiste oder ein Symbol geändert werden muss, um einen aktiven oder inaktiven Zustand anzugeben. Der bActive Parameter istTRUE, wenn ein aktives Untertitel oder Symbol gezeichnet werden soll. Dies gilt FALSE für ein inaktives Untertitel oder Symbol.

Rückgabewert

Nonzero, wenn Windows mit der Standardverarbeitung fortfahren soll; 0, um zu verhindern, dass die Untertitel Leiste oder das Symbol deaktiviert wird.

Hinweise

Die Standardimplementierung zeichnet den Titelleisten- und Titelleistentext in deren aktiven Farben, falls bActive vorhanden TRUE und in deren inaktiven Farben.bActiveFALSE

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcCalcSize

Das Framework ruft diese Memberfunktion auf, wenn die Größe und Position des Clientbereichs berechnet werden muss.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parameter

bCalcValidRects
Gibt an, ob die Anwendung angeben soll, welcher Teil des Clientbereichs gültige Informationen enthält. Windows kopiert die gültigen Informationen in den angegebenen Bereich im neuen Clientbereich. Wenn dieser Parameter TRUE ist, sollte die Anwendung angeben, welcher Teil des Clientbereichs gültig ist.

lpncsp
Verweist auf eine NCCALCSIZE_PARAMS Datenstruktur, die Informationen enthält, mit denen eine Anwendung die neue Größe und Position des CWnd Rechtecks berechnen kann (einschließlich Clientbereich, Rahmen, Untertitel, Bildlaufleisten usw.).

Hinweise

Durch die Verarbeitung dieser Nachricht kann eine Anwendung den Inhalt des Clientbereichs des Fensters steuern, wenn sich die Größe oder Position des Fensters ändert.

Unabhängig vom Wert enthält bCalcValidRectsdas erste Rechteck im Array, das durch das rgrc Strukturelement der NCCALCSIZE_PARAMS Struktur angegeben wird, die Koordinaten des Fensters. Bei einem untergeordneten Fenster sind die Koordinaten relativ zum Clientbereich des übergeordneten Fensters. Für Fenster der obersten Ebene sind die Koordinaten Bildschirmkoordinaten. Eine Anwendung sollte das rgrc[0] Rechteck ändern, um die Größe und Position des Clientbereichs widerzuspiegeln.

Die Rechtecke und Rechtecke rgrc[1] sind nur gültig, wenn bCalcValidRects dies der Wert istTRUE.rgrc[2] In diesem Fall enthält das rgrc[1] Rechteck die Koordinaten des Fensters, bevor es verschoben oder dessen Größe geändert wurde. Das rgrc[2] Rechteck enthält die Koordinaten des Clientbereichs des Fensters, bevor das Fenster verschoben wurde. Alle Koordinaten sind relativ zum übergeordneten Fenster oder Bildschirm.

Die Standardimplementierung berechnet die Größe des Clientbereichs basierend auf den Fenstermerkmalen (Vorhandensein von Bildlaufleisten, Menü usw.) und platziert das Ergebnis in lpncsp.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcCreate

Das Framework ruft diese Memberfunktion vor der WM_CREATE Nachricht auf, wenn das CWnd Objekt zum ersten Mal erstellt wird.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Parameter

lpCreateStruct
Verweist auf die CREATESTRUCT Datenstruktur für CWnd.

Rückgabewert

Nonzero, wenn der Nichtclientbereich erstellt wird. Es ist 0, wenn ein Fehler auftritt; die Create Funktion wird in diesem Fall zurückgegeben failure .

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcDestroy

Wird vom Framework aufgerufen, wenn der Nichtclientbereich zerstört wird und die letzte Memberfunktion aufgerufen wird, wenn das Windows-Fenster zerstört wird.

afx_msg void OnNcDestroy();

Hinweise

Die Standardimplementierung führt einige sauber up durch und ruft dann die virtuelle Memberfunktion PostNcDestroyauf.

Überschreiben PostNcDestroy Sie, wenn Sie ihre eigene sauber up ausführen möchten, z. B. einen delete this Vorgang. Wenn Sie außer Kraft setzen OnNcDestroy, müssen Sie die Basisklasse aufrufen OnNcDestroy , um sicherzustellen, dass alle für das Fenster intern zugewiesenen Speicher freigegeben werden.

CWnd::OnNcHitTest

Das Framework ruft diese Memberfunktion für das CWnd Objekt auf, das den Cursor (oder das CWnd Objekt, das die Memberfunktion zum Erfassen der SetCapture Mauseingabe verwendet hat) jedes Mal, wenn die Maus verschoben wird.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parameter

point
Enthält die x- und y-Koordinaten des Cursors. Diese Koordinaten sind immer Bildschirmkoordinaten.

Rückgabewert

Einer der aufgezählten Werte für den Maustreffertest. Weitere Informationen finden Sie WM_NCHITTEST in der Liste der Werte.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcLButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die linke Maustaste doppelklicken, während sich der Cursor in einem Nichtclientbereich befindet CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt. Weitere Informationen finden Sie WM_NCHITTEST in der Liste der Werte.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Falls zutreffend, wird die WM_SYSCOMMAND Nachricht gesendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcLButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor innerhalb eines Nichtclientbereichs des CWnd Objekts befindet.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt. Weitere Informationen finden Sie WM_NCHITTEST in der Liste der Werte.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Falls zutreffend, wird die WM_SYSCOMMAND Nachricht gesendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die an die Funktion übergebenen Parameter spiegeln die Parameter wider, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die ursprünglich mit der Nachricht übergebenen Parameter und nicht die Parameter, die Sie der Funktion bereitstellen.

CWnd::OnNcLButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die linke Maustaste loslässt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt. Weitere Informationen finden Sie WM_NCHITTEST in der Liste der Werte.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Falls zutreffend, WM_SYSCOMMAND wird gesendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die mittlere Maustaste doppelklippelt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die mittlere Maustaste drückt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die mittlere Maustaste loslässt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMouseHover

Das Framework ruft diese Memberfunktion auf, wenn der Cursor über den Nichtclientbereich des Fensters für den in einem vorherigen Aufruf TrackMouseEventangegebenen Zeitraum bewegt wird.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
[in] Der Treffertestwert, der von der CWnd::DefWindowProc Funktion als Ergebnis der Verarbeitung der WM_NCHITTEST Nachricht zurückgegeben wird.

point
[in] Ein CPoint Objekt, das die x - und y-Koordinaten des Cursors relativ zur oberen linken Bildschirmecke angibt.

Hinweise

Diese Methode empfängt die WM_NCMOUSEHOVER Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMouseLeave

Das Framework ruft diese Memberfunktion auf, wenn der Cursor den Nichtclientbereich des fensters verlässt, das in einem vorherigen Aufruf TrackMouseEventangegeben ist.

afx_msg void OnNcMouseLeave();

Hinweise

Diese Methode empfängt die WM_NCMOUSELEAVE Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcMouseMove

Das Framework ruft diese Memberfunktion auf, wenn der Cursor innerhalb eines Nichtclientbereichs verschoben wird.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Falls zutreffend, wird die WM_SYSCOMMAND Nachricht gesendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcPaint

Das Framework ruft diese Memberfunktion auf, wenn der Nichtclientbereich gezeichnet werden muss.

afx_msg void OnNcPaint();

Hinweise

Die Standardimplementierung zeichnet den Fensterrahmen.

Eine Anwendung kann diesen Aufruf außer Kraft setzen und einen eigenen benutzerdefinierten Fensterrahmen zeichnen. Der Beschneidungsbereich ist immer rechteckig, auch wenn die Form des Rahmens geändert wird.

CWnd::OnNcRButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer mit der rechten Maustaste auf die rechte Maustaste klickt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcRButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die rechte Maustaste drückt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcRButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die rechte Maustaste loslässt, während sich der Cursor innerhalb eines Nichtclientbereichs befindet.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parameter

nHitTest
Gibt den Treffertestcode an. Ein Treffertest ist ein Test, der die Position des Cursors bestimmt.

point
Gibt ein CPoint Objekt an, das die x- und y-Bildschirmkoordinaten der Cursorposition enthält. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Bildschirms.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcRenderingChanged

Das Framework ruft dieses Element auf, wenn sich die Renderingrichtlinie für den Nichtclientbereich geändert hat.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parameter

bIsRendering
[in] TRUE wenn das Rendern von Desktopfenster-Manager (DWM) für den Nichtclientbereich des Fensters aktiviert ist; FALSE wenn das Rendern deaktiviert ist.

Hinweise

Diese Methode empfängt die WM_DWMNCRENDERINGCHANGED Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcXButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer doppelklickt oder XBUTTON2 sich der Cursor im Nichtclientbereich eines Fensters XBUTTON1 befindet.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parameter

nHitTest
[in] Der Treffertestwert, der von der CWnd::DefWindowProc Funktion als Ergebnis der Verarbeitung der WM_NCHITTEST Nachricht zurückgegeben wird.

nButton
[in] Ein Wert, der XBUTTON1 angibt, ob auf die erste Microsoft Intellimouse X-Schaltfläche doppelt geklickt wird oder XBUTTON2 wenn auf die zweite X-Schaltfläche doppelklicken wird.

point
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_XBUTTONDBLCLK Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird in das Fenster gepostet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Nachricht nicht gepostet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcXButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die Maus drückt oder XBUTTON2 die Maus drückt, während sich der Cursor im Nichtclientbereich eines Fensters XBUTTON1 befindet.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parameter

nHitTest
[in] Der Treffertestwert, der von der CWnd::DefWindowProc Funktion als Ergebnis der Verarbeitung der WM_NCHITTEST Nachricht zurückgegeben wird.

nButton
[in] Ein Wert davon XBUTTON1 , ob die erste Maustaste X gedrückt wird oder XBUTTON2 die zweite X-Taste gedrückt wird.

point
[in] Ein CPoint Objekt, das die x Cursorkoordinaten y relativ zur oberen linken Bildschirmecke angibt.

Hinweise

Diese Methode empfängt die WM_NCXBUTTONDOWN Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird in das Fenster gepostet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Nachricht nicht gepostet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNcXButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer oder die Maus loslässt XBUTTON1 , XBUTTON2 während sich der Cursor im Nichtclientbereich eines Fensters befindet.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parameter

nHitTest
[in] Der Treffertestwert, der von der CWnd::DefWindowProc Funktion als Ergebnis der Verarbeitung der WM_NCHITTEST Nachricht zurückgegeben wird.

nButton
[in] Ein Wert, der XBUTTON1 angibt, ob die erste Maustaste X losgelassen wird oder XBUTTON2 die zweite X-Taste losgelassen wird.

point
[in] Ein CPoint Objekt, das die x - und y-Koordinaten des Cursors relativ zur oberen linken Bildschirmecke angibt.

Hinweise

Diese Methode empfängt die WM_NCXBUTTONUP Benachrichtigung, die im Windows SDK beschrieben wird. Diese Nachricht wird in das Fenster gepostet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Nachricht nicht gepostet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNextMenu

Das Framework ruft diese Memberfunktion auf, wenn die NACH-RECHTS- oder NACH-LINKS-TASTE verwendet wird, um zwischen der Menüleiste und dem Systemmenü zu wechseln.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parameter

nKey
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Zusatztasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird. Eine Liste der Flags finden Sie in der Unterüberschrift "Nachrichtenparameter" in "Informationen zur Mauseingabe".

lpMdiNextMenu
[in] Zeigen Sie auf eine MDINEXTMENU Struktur, die Informationen zum zu aktivierenden Menü enthält.

Hinweise

Diese Methode empfängt die WM_UNINITMENUPOPUP Benachrichtigung, die im Windows SDK beschrieben wird. Als Reaktion auf diese Meldung kann Die Anwendung das hmenuNext Element der MDINEXTMENU Struktur so festlegen, dass das menü zum Wechseln festgelegt wird, und das hwndNext Element, in das das Fenster zum Empfangen von Menübenachrichtigungen angegeben werden soll.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnNotify

Das Framework ruft diese Memberfunktion auf, um das übergeordnete Fenster eines Steuerelements darüber zu informieren, dass ein Ereignis im Steuerelement aufgetreten ist oder dass das Steuerelement eine Art von Informationen erfordert.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parameter

wParam
Identifiziert das Steuerelement, das die Nachricht sendet, wenn die Nachricht von einem Steuerelement stammt. wParam Andernfalls ist 0.

lParam
Zeigen Sie auf eine Benachrichtigungsnachricht (NMHDR)-Struktur, die den Benachrichtigungscode und zusätzliche Informationen enthält. Bei einigen Benachrichtigungen verweist dieser Parameter auf eine größere Struktur, die die NMHDR Struktur als erstes Element aufweist.

pResult
Zeigen Sie auf eine LRESULT Variable, in der der Ergebniscode gespeichert werden soll, wenn die Nachricht behandelt wird.

Rückgabewert

Eine Anwendung gibt einen Wert ungleich Null zurück, wenn diese Nachricht verarbeitet wird; andernfalls 0.

Hinweise

OnNotify verarbeitet die Nachrichtenzuordnung für die Steuerungsbenachrichtigung.

Überschreiben Sie diese Memberfunktion in der abgeleiteten Klasse, um die WM_NOTIFY Nachricht zu behandeln. Eine Außerkraftsetzung verarbeitet die Nachrichtenzuordnung nur, wenn die Basisklasse OnNotify aufgerufen wird.

Weitere Informationen zur WM_NOTIFY Nachricht finden Sie unter Technical Note 61 (TN061) ON_NOTIFY und WM_NOTIFY Nachrichten. Möglicherweise sind Sie auch an den verwandten Themen interessiert, die unter "Steuerelementthemen" und "TN062", "Nachrichtenspiegelung für Windows-Steuerelemente" beschrieben sind.

CWnd::OnNotifyFormat

Das Framework ruft diese Memberfunktion auf, um festzustellen, ob das aktuelle Fenster ANSI- oder Unicode-Strukturen in der WM_NOTIFY Benachrichtigung akzeptiert.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Parameter

pWnd
[in] Ein Zeiger auf ein CWnd Objekt, das das Fenster darstellt, das die WM_NOTIFY Nachricht sendet. Dieser Parameter ist der Zeiger auf ein Steuerelement, wenn es sich um den nCommand Parameter handeltNF_QUERY, oder der Zeiger auf das übergeordnete Fenster eines Steuerelements, falls nCommand vorhanden.NF_REQUERY

nCommand
[in] Ein Befehlswert, der auf die WM_NOTIFY Nachricht spezialisiert ist. Mögliche Werte sind:

  • NF_QUERY - Die Nachricht ist eine Abfrage, um zu bestimmen, ob ANSI- oder Unicode-Strukturen in WM_NOTIFY Nachrichten verwendet werden sollen. Diese Nachricht wird während der Erstellung eines Steuerelements von einem Steuerelement an das übergeordnete Fenster gesendet und als Reaktion auf das NF_REQUERY Formular dieser Nachricht.
  • NF_REQUERY – Die Nachricht ist eine Anforderung, dass ein Steuerelement das NF_QUERY Formular dieser Nachricht an das übergeordnete Fenster sendet. Diese Anforderung wird aus dem übergeordneten Fenster gesendet und fordert das Steuerelement auf, das übergeordnete Element erneut über den Typ der Struktur abzufragen, die in WM_NOTIFY Nachrichten verwendet werden soll. Wenn der nCommand Parameter lautet NF_REQUERY, ist der Rückgabewert das Ergebnis des Erneutabfragevorgangs.

Rückgabewert

Rückgabewert Bedeutung
NFR_ANSI ANSI-Strukturen sollten in WM_NOTIFY Nachrichten verwendet werden, die vom Steuerelement gesendet werden.
NFR_UNICODE Unicode-Strukturen sollten in WM_NOTIFY Nachrichten verwendet werden, die vom Steuerelement gesendet werden.
0 Ein Fehler ist aufgetreten.

Hinweise

Diese Methode empfängt die WM_NOTIFYFORMAT Benachrichtigung, die im Windows SDK beschrieben wird. WM_NOTIFY Nachrichten werden von einem allgemeinen Steuerelement an das übergeordnete Fenster und vom übergeordneten Fenster an das allgemeine Steuerelement gesendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnPaint

Das Framework ruft diese Memberfunktion auf, wenn Windows oder eine Anwendung eine Anforderung anfordert, einen Teil des Anwendungsfensters neu zu erstellen.

afx_msg void OnPaint();

Hinweise

Die WM_PAINT Nachricht wird gesendet, wenn die UpdateWindow Funktion oder RedrawWindow member aufgerufen wird.

Ein Fenster empfängt möglicherweise interne Paint-Nachrichten als Ergebnis des Aufrufs der RedrawWindow Memberfunktion mit dem RDW_INTERNALPAINT Kennzeichensatz. In diesem Fall verfügt das Fenster möglicherweise nicht über einen Aktualisierungsbereich. Eine Anwendung sollte die GetUpdateRect Memberfunktion aufrufen, um festzustellen, ob das Fenster über einen Aktualisierungsbereich verfügt. Wenn GetUpdateRect 0 zurückgegeben wird, sollte die Anwendung die BeginPaint Funktionen und EndPaint Memberfunktionen nicht aufrufen.

Es liegt in der Verantwortung einer Anwendung, nach allen erforderlichen internen Aktualisierungen oder Aktualisierungen zu suchen, indem sie die internen Datenstrukturen für jede WM_PAINT Nachricht betrachten, da eine WM_PAINT Nachricht möglicherweise durch einen ungültigen Bereich und einen Aufruf der RedrawWindow Memberfunktion mit dem RDW_INTERNALPAINT Kennzeichensatz verursacht wurde.

Eine interne WM_PAINT Nachricht wird nur einmal von Windows gesendet. Nachdem eine interne WM_PAINT Nachricht von der UpdateWindow Memberfunktion an ein Fenster gesendet wurde, werden keine weiteren WM_PAINT Nachrichten gesendet oder gepostet, bis das Fenster ungültig ist oder bis die RedrawWindow Memberfunktion erneut mit dem RDW_INTERNALPAINT Kennzeichensatz aufgerufen wird.

Informationen zum Rendern eines Bilds in Dokument-/Ansichtsanwendungen finden Sie unter CView::OnDraw.

Weitere Informationen zur Verwendung WM_Paintfinden Sie in den folgenden Themen im Windows SDK:

CWnd::OnPaintClipboard

Die OnPaintClipboard -Memberfunktion eines Zwischenablagebesitzers wird von einem Zwischenablagen-Viewer aufgerufen, wenn der Zwischenablagebesitzer Daten im Format CF_OWNERDISPLAY in der Zwischenablage platziert hat und der Clientbereich des Zwischenablagen-Viewers neu gezeichnet werden muss.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parameter

pClipAppWnd
Gibt einen Zeiger auf das Zwischenablageanwendungsfenster an. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

hPaintStruct
Identifiziert eine PAINTSTRUCT Datenstruktur, die definiert, welcher Teil des Clientbereichs zu zeichnen ist.

Hinweise

Um festzustellen, ob der gesamte Clientbereich oder nur ein Teil davon eine Aktualisierung benötigt, muss der Besitzer der Zwischenablage die Dimensionen des Zeichnungsbereichs vergleichen, der rcpaint im Element der PAINTSTRUCT Struktur mit den Dimensionen im letzten OnSizeClipboard Memberfunktionsaufruf angegeben ist.

OnPaintClipboard sollte die GlobalLock Windows-Funktion verwenden, um den Speicher zu sperren, der die PAINTSTRUCT Datenstruktur enthält, und diesen Speicher mit der GlobalUnlock Windows-Funktion entsperren, bevor er beendet wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnPaletteChanged

Das Framework ruft diese Memberfunktion für alle Fenster der obersten Ebene auf, nachdem das Fenster mit dem Eingabefokus seine logische Palette realisiert hat, wodurch die Systempalette geändert wird.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Parameter

pFocusWnd
Gibt einen Zeiger auf das Fenster an, der dazu führte, dass sich die Systempalette geändert hat. Der Zeiger kann temporär sein und sollte nicht gespeichert werden.

Hinweise

Dieser Aufruf ermöglicht ein Fenster ohne den Eingabefokus, der eine Farbpalette verwendet, um seine logischen Paletten zu erkennen und seinen Clientbereich zu aktualisieren.

Die OnPaletteChanged Memberfunktion wird für alle Fenster der obersten Ebene und überlappende Fenster aufgerufen, einschließlich der Funktion, die die Systempalette geändert hat und dazu führte, dass die WM_PALETTECHANGED Nachricht gesendet wurde. Wenn ein untergeordnetes Fenster eine Farbpalette verwendet, muss diese Meldung an sie übergeben werden.

Um eine Endlosschleife zu vermeiden, sollte das Fenster seine Palette nicht erkennen, es sei denn, es bestimmt, dass pFocusWnd er keinen Zeiger auf sich selbst enthält.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnPaletteIsChanging

Das Framework ruft diese Memberfunktion auf, um Anwendungen darüber zu informieren, dass eine Anwendung ihre logische Palette erkennt.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parameter

pRealizeWnd
Gibt das Fenster an, das seine logische Palette erkennen soll.

Hinweise

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnParentNotify

Die Memberfunktion eines übergeordneten Elements OnParentNotify wird vom Framework aufgerufen, wenn das untergeordnete Fenster erstellt oder zerstört wird oder wenn der Benutzer auf eine Maustaste klickt, während sich der Cursor über dem untergeordneten Fenster befindet.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parameter

message
Gibt das Ereignis an, für das das übergeordnete Element benachrichtigt wird, und den Bezeichner des untergeordneten Fensters. Das Ereignis ist das Wort mit niedriger Reihenfolge von message. Wenn das Ereignis oder das Hochreihenfolgewort message der Bezeichner des untergeordneten Fensters ist WM_CREATEWM_DESTROY, andernfalls ist das Wort mit hoher Reihenfolge nicht definiert. Das Ereignis (Wort mit niedriger Reihenfolge message) kann eine der folgenden Werte sein:

  • WM_CREATE Das untergeordnete Fenster wird erstellt.

  • WM_DESTROY Das untergeordnete Fenster wird zerstört.

  • WM_LBUTTONDOWN Der Benutzer hat den Mauszeiger über das untergeordnete Fenster platziert und auf die linke Maustaste geklickt.

  • WM_MBUTTONDOWN Der Benutzer hat den Mauszeiger über das untergeordnete Fenster platziert und auf die mittlere Maustaste geklickt.

  • WM_RBUTTONDOWN Der Benutzer hat den Mauszeiger über das untergeordnete Fenster platziert und mit der rechten Maustaste geklickt.

lParam
Wenn das Ereignis (Wort mit niedriger Reihenfolge) oder messageWM_CREATEWM_DESTROY, lParam gibt das Fensterhandle des untergeordneten Fensters an. Andernfalls lParam enthält die X- und Y-Koordinaten des Cursors. Die x-Koordinate befindet sich im Wort mit niedriger Reihenfolge, und die Y-Koordinate befindet sich im Wort mit hoher Reihenfolge.

Hinweise

Wenn das untergeordnete Fenster erstellt wird, ruft OnParentNotify das System direkt vor der Create Memberfunktion, die das Fenster erstellt, zurück. Wenn das untergeordnete Fenster zerstört wird, ruft das System auf OnParentNotify , bevor eine Verarbeitung stattfindet, um das Fenster zu zerstören.

OnParentNotify wird für alle übergeordneten Fenster des untergeordneten Fensters aufgerufen, einschließlich des Fensters der obersten Ebene.

Alle untergeordneten Fenster mit Ausnahme der Fenster mit der WS_EX_NOPARENTNOTIFY Formatvorlage senden diese Nachricht an die übergeordneten Fenster. Standardmäßig weisen untergeordnete Fenster in einem Dialogfeld die WS_EX_NOPARENTNOTIFY Formatvorlage auf, es sei denn, das untergeordnete Fenster wurde ohne diese Formatvorlage erstellt, indem die CreateEx Memberfunktion aufgerufen wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnPowerBroadcast

Das Framework ruft diese Memberfunktion auf, wenn ein Power-Management-Ereignis auftritt.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parameter

nPowerEvent
[in] Das Power-Management-Ereignis.

nEventData
[in] Ereignisspezifische Daten.

Rückgabewert

Wenn es sich bei dem Ereignis um eine Anforderung handelt, kehren Sie TRUE zurück, um die Anforderung zu erteilen, oder BROADCAST_QUERY_DENY verweigern Sie die Anforderung.

Hinweise

Diese Methode empfängt die WM_POWERBROADCAST Nachricht, die im Windows SDK beschrieben wird.

Der nPowerEvent Parameter gibt Ereignisse an, z. B. akkuarm, der Stromstatus wurde geändert, die Berechtigung zum Anhalten des Vorgangs angefordert oder verweigert, ein Vorgang wird nach einem Ereignis automatisch fortgesetzt, das System wird angehalten oder ein Vorgang wird nach dem Anhalten fortgesetzt. Der Parameter wird in der nEventData Regel nicht verwendet. Weitere Informationen finden Sie unter den parametern und lParam den wParam Parametern der WM_POWERBROADCAST Nachricht.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnQueryDragIcon

Das Framework ruft diese Memberfunktion durch ein minimiertes (iconic) Fenster auf, das kein Symbol für seine Klasse definiert hat.

afx_msg HCURSOR OnQueryDragIcon();

Rückgabewert

Ein Doubleword-Wert, der einen Cursor- oder Symbolpunkt im Wort mit niedriger Reihenfolge enthält. Der Cursor oder das Symbol muss mit der Auflösung des Anzeigetreibers kompatibel sein. Wenn die Anwendung zurückgibt NULL, zeigt das System den Standardcursor an. Der Standardwert ist NULL.

Hinweise

Das System ruft diesen Aufruf ab, um den Anzuzeigenden Cursor abzurufen, während der Benutzer das minimierte Fenster zieht. Wenn eine Anwendung das Handle eines Symbols oder Cursors zurückgibt, konvertiert das System es in Schwarzweiß. Wenn eine Anwendung ein Handle zurückgibt, muss der Handle einen monochromen Cursor oder ein Symbol identifizieren, das mit der Auflösung des Anzeigetreibers kompatibel ist. Die Anwendung kann die CWinApp::LoadCursor Funktionen oder CWinApp::LoadIcon Member aufrufen, um einen Cursor oder ein Symbol aus den Ressourcen in der ausführbaren Datei zu laden und dieses Handle abzurufen.

CWnd::OnQueryEndSession

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die Windows-Sitzung beenden möchte oder wenn eine Anwendung die ExitWindows Windows-Funktion aufruft.

afx_msg BOOL OnQueryEndSession();

Rückgabewert

Nonzero, wenn eine Anwendung bequem heruntergefahren werden kann; andernfalls 0.

Hinweise

Wenn eine Anwendung 0 zurückgibt, wird die Windows-Sitzung nicht beendet. Windows beendet den Aufruf OnQueryEndSession , sobald eine Anwendung 0 zurückgibt, und sendet die WM_ENDSESSION Nachricht mit einem Parameterwert FALSE für jede Anwendung, die bereits nonzero zurückgegeben hat.

CWnd::OnQueryNewPalette

Das Framework ruft diese Memberfunktion auf, wenn das CWnd Objekt im Begriff ist, den Eingabefokus zu empfangen, wodurch die CWnd logische Palette erkannt werden kann, wenn es den Fokus erhält.

afx_msg BOOL OnQueryNewPalette();

Rückgabewert

Nonzero, wenn die CWnd logische Palette realisiert wird; andernfalls 0.

CWnd::OnQueryOpen

Das Framework ruft diese Memberfunktion auf, wenn das CWnd Objekt minimiert wird, und der Benutzer fordert an, dass das CWnd Objekt in seiner vorminimisierten Größe und Position wiederhergestellt wird.

afx_msg BOOL OnQueryOpen();

Rückgabewert

Nonzero, wenn das Symbol geöffnet werden kann, oder 0, um zu verhindern, dass das Symbol geöffnet wird.

Hinweise

OnQueryOpenIn , CWnd sollte keine Aktion ausführen, die eine Aktivierung oder Fokusänderung verursachen würde (z. B. erstellen sie ein Dialogfeld).

CWnd::OnQueryUIState

Wird aufgerufen, um den Benutzeroberflächenstatus (UI) für ein Fenster abzurufen.

afx_msg UINT OnQueryUIState();

Rückgabewert

Der Rückgabewert ist NULL , wenn die Fokusanzeigen und die Zugriffstasten sichtbar sind. Andernfalls kann der Rückgabewert einen oder mehrere der folgenden Werte sein:

  • UISF_HIDEFOCUS Fokusindikatoren sind ausgeblendet.

  • UISF_HIDEACCEL Zugriffstasten sind ausgeblendet.

  • UISF_ACTIVE Windows XP: Ein Steuerelement sollte in der Formatvorlage gezeichnet werden, die für aktive Steuerelemente verwendet wird.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der WM_QUERYUISTATE Nachricht, wie im Windows SDK beschrieben.

CWnd::OnRawInput

Das Framework ruft diese Memberfunktion auf, wenn das aktuelle Fenster unformatierte Eingaben erhält.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parameter

nInputCode
[in] Eingabecode, der angibt, ob die Eingabe aufgetreten ist, während sich die Anwendung im Vordergrund befand oder nicht. In beiden Fällen muss die Anwendung aufrufenCWnd::DefWindowProc, damit das System sauber up ausführen kann. Dieser Parameter kann einen der folgenden -Werte aufweisen:

  • RIM_INPUT - Eingaben während der Anwendung im Vordergrund aufgetreten.
  • RIM_INPUTSINK – Eingaben, während die Anwendung nicht im Vordergrund war.

hRawInput
[in] Behandeln Sie eine RAWINPUT Struktur, die die unformatierte Eingabe des Geräts enthält.

Hinweise

Diese Methode empfängt die WM_INPUT Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnRButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die rechte Maustaste doppelklicken.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob strg gedrückt ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste nach unten ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinaten des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Nur Fenster mit CS_DBLCLKS WNDCLASS Formatvorlage können Anrufe empfangen OnRButtonDblClk . Dies ist die Standardeinstellung für Fenster in der Microsoft Foundation Class Library. Windows ruft auf OnRButtonDblClk , wenn der Benutzer drückt, loslässt und dann erneut die rechte Maustaste innerhalb des Doppelklick-Zeitlimits des Systems drückt. Durch Doppelklicken auf die rechte Maustaste werden tatsächlich vier Ereignisse generiert: WM_RBUTTONDOWN und WM_RBUTTONUP Nachrichten, der OnRButtonDblClk Anruf und eine weitere WM_RBUTTONUP Nachricht, wenn die Schaltfläche losgelassen wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnRButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die rechte Maustaste drückt.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob strg gedrückt ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste nach unten ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_RBUTTON Legen Sie fest, ob die rechte Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinaten des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnRButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer die rechte Maustaste loslässt.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parameter

nFlags
Gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Dieser Parameter kann eine beliebige Kombination der folgenden Werte sein:

  • MK_CONTROL Legen Sie fest, ob strg gedrückt ist.

  • MK_LBUTTON Legen Sie fest, ob die linke Maustaste nach unten ist.

  • MK_MBUTTON Legen Sie fest, ob die mittlere Maustaste gedrückt ist.

  • MK_SHIFT Legen Sie fest, ob die UMSCHALTTASTE nach unten ist.

point
Gibt die x- und y-Koordinaten des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

Hinweise

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnRegisteredMouseWheel

Das Framework ruft diese Memberfunktion auf, wenn ein Benutzer das Mausrad dreht und auf den nächsten Notch des Rads trifft.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parameter

wParam
Horizontale Position des Zeigers.

lParam
Vertikale Position des Zeigers.

Rückgabewert

Unbedeutend zurzeit. Immer Null.

Hinweise

Wenn sie nicht außer Kraft gesetzt wird, OnRegisteredMouseWheel wird die Nachricht an das entsprechende Fenster (das übergeordnete Fenster mit Fokus) weitergeleitet und der WM_MOUSEWHEEL Handler für dieses Fenster aufgerufen.

Überschreiben Sie diese Memberfunktion, um Ihr eigenes Nachrichtenrouting bereitzustellen oder das Bildlaufverhalten des Mausrads zu ändern.

Hinweis

OnRegisteredMouseWheel verarbeitet Nachrichten für Windows 95/98 und Windows NT 3.51. Verwenden Sie OnMouseWheelfür die Windows NT 4.0-Nachrichtenbehandlung .

CWnd::OnRenderAllFormats

Die Memberfunktion des Zwischenablagebesitzers OnRenderAllFormats wird vom Framework aufgerufen, wenn die Besitzeranwendung zerstört wird.

afx_msg void OnRenderAllFormats();

Hinweise

Der Besitzer der Zwischenablage sollte die Daten in allen Formaten rendern, die in der Lage sind, ein Datenhandle für jedes Format durch Aufrufen der Windows-Funktion an die SetClipboardData Zwischenablage zu generieren und zu übergeben. Dadurch wird sichergestellt, dass die Zwischenablage gültige Daten enthält, obwohl die Anwendung, die die Daten gerendert hat, zerstört wird. Die Anwendung sollte die OpenClipboard Memberfunktion vor dem Aufrufen der SetClipboardData Windows-Funktion aufrufen und anschließend die CloseClipboard Windows-Funktion aufrufen.

CWnd::OnRenderFormat

Die Memberfunktion des Zwischenablagebesitzers OnRenderFormat wird vom Framework aufgerufen, wenn ein bestimmtes Format mit verzögertem Rendering gerendert werden muss.

afx_msg void OnRenderFormat(UINT nFormat);

Parameter

nFormat
Gibt das Format der Zwischenablage an.

Hinweise

Der Empfänger sollte die Daten in diesem Format rendern und an die Zwischenablage übergeben, indem die SetClipboardData Windows-Funktion aufgerufen wird.

Rufen Sie die OpenClipboard Memberfunktion oder die CloseClipboard Windows-Funktion nicht von innen OnRenderFormatauf.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSessionChange

Das Framework ruft diese Memberfunktion auf, um eine Anwendung einer Änderung im Sitzungszustand zu benachrichtigen.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parameter

nSessionState
[in] Ein Statuscode beschreibt die Änderung des Sitzungszustands.

nId
[in] Ein Sitzungsbezeichner.

Hinweise

Diese Methode empfängt die WM_WTSSESSION_CHANGE Benachrichtigung, die im Windows SDK beschrieben wird.

Der nSessionState Parameter gibt an, dass eine Sitzung mit der Konsole oder einem Remoteterminal verbunden oder getrennt wird, ein Benutzer angemeldet oder deaktiviert ist, eine Sitzung gesperrt oder entsperrt ist oder eine Sitzung in den remotegesteuerten Status geändert wurde. Weitere Informationen finden Sie im wParam Parameter der WM_WTSSESSION_CHANGE Nachricht.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSetCursor

Das Framework ruft diese Memberfunktion auf, wenn die Mauseingabe nicht erfasst wird und die Maus die Cursorbewegung innerhalb des CWnd Objekts verursacht.

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Parameter

pWnd
Gibt einen Zeiger auf das Fenster an, das den Cursor enthält. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

nHitTest
Gibt die Treffertestbereichsfunktion an. Der Treffertest bestimmt die Position des Cursors.

message
Gibt die Mausnachrichtennummer an.

Rückgabewert

Nonzero, um die weitere Verarbeitung anzuhalten, oder 0, um fortzufahren.

Hinweise

Die Standardimplementierung ruft die übergeordneten Fenster OnSetCursor vor der Verarbeitung auf. Wenn das übergeordnete Fenster zurückgegeben wird TRUE, wird die weitere Verarbeitung angehalten. Durch Aufrufen des übergeordneten Fensters können Sie die Einstellung des Cursors in einem untergeordneten Fenster steuern.

Die Standardimplementierung legt den Cursor auf einen Pfeil fest, wenn er sich nicht im Clientbereich oder auf den Cursor der registrierten Klasse befindet.

Wenn nHitTest dies eine Fehlermeldung mit der Maustaste ist HTERROR , message wird die MessageBeep Memberfunktion aufgerufen.

Der Nachrichtenparameter ist 0, wenn CWnd er in den Menümodus wechselt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSetFocus

Das Framework ruft diese Memberfunktion auf, nachdem sie den Eingabefokus erhalten hat.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Parameter

pOldWnd
Enthält das CWnd Objekt, das den Eingabefokus verliert (kann sein NULL). Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Um ein Caret anzuzeigen, CWnd sollten Sie an diesem Punkt die entsprechenden Caretfunktionen aufrufen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSettingChange

Das Framework ruft alle Fenster der obersten Ebene auf OnSettingChange , wenn die Win32 SystemParametersInfo-Funktion eine systemweite Einstellung ändert.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parameter

uFlags
Wenn das System die Nachricht als Ergebnis eines SystemParametersInfo Aufrufs sendet, ist dieser Parameter ein Flag, das den geänderten Systemparameter angibt. Eine Liste der Werte finden Sie im SystemParametersInfo Windows SDK. Wenn eine Anwendung die Nachricht sendet, muss dieser Parameter 0 sein.

lpszSection
Verweist auf eine Zeichenfolge, die den Namen des geänderten Abschnitts angibt. (Die Zeichenfolge enthält nicht die eckigen Klammern, die den Abschnittsnamen einschließen.)

Hinweise

Eine Anwendung sollte die Nachricht an alle Fenster der obersten Ebene senden, wenn änderungen an Systemparametern vorgenommen werden, und Windows sendet die Nachricht, wenn der Benutzer Einstellungen über die Systemsteuerung ändert.

Die ON_WM_SETTINGCHANGE Nachricht ähnelt der ON_WM_WININICHANGE Nachricht mit dem folgenden Unterschied:

  • Wird ON_WM_SETTINGCHANGE verwendet, wenn Windows NT 4.0 oder höher oder unter Windows 95/98 ausgeführt wird.

  • Wird ON_WININICHANGE verwendet, wenn Windows NT 3.51 oder älter ausgeführt wird. Diese Nachricht ist jetzt veraltet.

Sie sollten nur eins dieser Makros in Ihrer Nachrichtenzuordnung haben. Wenn Sie ein Programm schreiben möchten, das sowohl für Windows 95/98 als auch für Windows NT 4.0 funktioniert, schreiben Sie einen Handler für ON_WM_SETTINGCHANGE. Unter Windows NT 3.51 wird ihr Handler von OnSettingChange und uFlags immer null aufgerufen.

CWnd::OnShowWindow

Das Framework ruft diese Memberfunktion auf, wenn das CWnd Objekt ausgeblendet oder angezeigt wird.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parameter

bShow
Gibt an, ob ein Fenster angezeigt wird. TRUE Wenn das Fenster angezeigt wird, ist FALSE es, wenn das Fenster ausgeblendet ist.

nStatus
Gibt den Status des angezeigten Fensters an. Es ist 0, wenn die Nachricht aufgrund eines ShowWindow Memberfunktionsaufrufs gesendet wird. Andernfalls nStatus ist eine der folgenden Aktionen aufgeführt:

  • SW_PARENTCLOSING Übergeordnetes Fenster wird geschlossen (wird iconic gemacht) oder ein Popupfenster wird ausgeblendet.

  • SW_PARENTOPENING Übergeordnetes Fenster wird geöffnet (angezeigt) oder ein Popupfenster angezeigt.

Hinweise

Ein Fenster wird ausgeblendet oder angezeigt, wenn die ShowWindow Memberfunktion aufgerufen wird, wenn ein überlappende Fenster maximiert oder wiederhergestellt wird oder wenn ein überlappende oder Popupfenster geschlossen (iconic erstellt) oder geöffnet wird (auf dem Bildschirm angezeigt). Wenn ein überlappende Fenster geschlossen wird, sind alle popupfenster, die diesem Fenster zugeordnet sind, ausgeblendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSize

Das Framework ruft diese Memberfunktion auf, nachdem sich die Größe des Fensters geändert hat.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parameter

nType
Gibt den Typ der angeforderten Größenänderung an. Dieser Parameter kann einen der folgenden -Werte aufweisen:

  • SIZE_MAXIMIZED Das Fenster wurde maximiert.

  • SIZE_MINIMIZED Das Fenster wurde minimiert.

  • SIZE_RESTORED Die Größe des Fensters wurde geändert, gilt aber weder SIZE_MINIMIZEDSIZE_MAXIMIZED noch nicht.

  • SIZE_MAXHIDE Die Nachricht wird an alle Popupfenster gesendet, wenn ein anderes Fenster maximiert wird.

  • SIZE_MAXSHOW Die Nachricht wird an alle Popupfenster gesendet, wenn ein anderes Fenster in seiner früheren Größe wiederhergestellt wurde.

cx
Gibt die neue Breite des Clientbereichs an.

cy
Gibt die neue Höhe des Clientbereichs an.

Hinweise

Wenn die SetScrollPos Funktion oder MoveWindow die Memberfunktion für ein untergeordnetes Fenster OnSizeaufgerufen wird, sollte der bRedraw Parameter von SetScrollPos oder MoveWindow nicht null sein, damit die CWnd Aktualisierung erneut ausgeführt wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

Beispiel

// 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

Die Memberfunktion des Zwischenablagebesitzers OnSizeClipboard wird vom Zwischenablage-Viewer aufgerufen, wenn die Zwischenablage Daten mit dem CF_OWNERDISPLAY Attribut enthält und die Größe des Clientbereichs des Zwischenablage-Viewer-Fensters geändert wurde.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parameter

pClipAppWnd
Identifiziert das Fenster für die Zwischenablageanwendung. Der Zeiger kann temporär sein und sollte nicht gespeichert werden.

hRect
Identifiziert ein globales Speicherobjekt. Das Speicherobjekt enthält eine RECT Datenstruktur, die den Bereich für den Zwischenablagebesitzer angibt, der färben soll.

Hinweise

Die OnSizeClipboard Memberfunktion wird mit einem Nullrechteck (0,0,0,0,0) als neue Größe aufgerufen, wenn die Zwischenablageanwendung zerstört oder minimiert werden soll. Dadurch kann der Besitzer der Zwischenablage seine Anzeigeressourcen freigeben.

Innerhalb OnSizeClipboardmuss eine Anwendung die GlobalLock Windows-Funktion verwenden, um den Speicher zu sperren, der die RECT Datenstruktur enthält. Lassen Sie die Anwendung diesen Speicher mit der GlobalUnlock Windows-Funktion entsperren, bevor sie die Steuerung zurückgibt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSizing

Das Framework ruft diese Memberfunktion auf, um anzugeben, dass der Benutzer die Größe des Rechtecks ändert.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Parameter

nSide
Der Rand des zu verschiebenden Fensters.

lpRect
Adresse der CRect Oder RECT Struktur , die die Koordinaten des Elements enthält.

Hinweise

Durch die Verarbeitung dieser Meldung kann eine Anwendung die Größe und Position des Ziehrechtecks überwachen und bei Bedarf dessen Größe oder Position ändern.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

Beispiel

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

Das Framework ruft diese Memberfunktion aus dem Druck-Manager auf, wenn ein Auftrag der Druck-Manager-Warteschlange hinzugefügt oder daraus entfernt wird.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parameter

nStatus
Gibt das SP_JOBSTATUS Kennzeichen an.

nJobs
Gibt die Anzahl der Neu Standard aufträge in der Druck-Manager-Warteschlange an.

Hinweise

Dieser Aufruf dient nur zu Informationszwecken.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnStyleChanged

Das Framework ruft diese Memberfunktion auf, nachdem die SetWindowLong Funktion eine oder mehrere Formatvorlagen des Fensters geändert hat.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parameter

nStyleType
Gibt an, ob sich die erweiterten oder nicht erweiterten Formatvorlagen des Fensters geändert haben. Dieser Parameter kann eine Kombination der folgenden Werte sein:

  • GWL_EXSTYLE Die erweiterten Formatvorlagen des Fensters wurden geändert.

  • GWL_STYLE Die formatierten Formatvorlagen des Fensters wurden geändert.

lpStyleStruct
Verweist auf eine STYLESTRUCT Struktur, die die neuen Formatvorlagen für das Fenster enthält. Eine Anwendung kann die Formatvorlagen untersuchen, aber sie kann sie nicht ändern.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnStyleChanging

Das Framework ruft diese Memberfunktion auf, wenn die SetWindowLong Funktion in der Zeit ist, eine oder mehrere Formatvorlagen des Fensters zu ändern.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parameter

nStyleType
Gibt an, ob sich die erweiterten oder nicht erweiterten Formatvorlagen des Fensters geändert haben. Dieser Parameter kann eine Kombination der folgenden Werte sein:

  • GWL_EXSTYLE Die erweiterten Formatvorlagen des Fensters wurden geändert.

  • GWL_STYLE Die formatierten Formatvorlagen des Fensters wurden geändert.

lpStyleStruct
Verweist auf eine STYLESTRUCT Struktur, die die neuen Formatvorlagen für das Fenster enthält. Eine Anwendung kann die Formatvorlagen untersuchen und ändern.

Hinweise

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSysChar

Das Framework ruft diese Memberfunktion auf, wenn CWnd der Eingabefokus und die WM_SYSKEYUP Nachrichten WM_SYSKEYDOWN übersetzt werden.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den ASCII-Zeichentastencode einer Steuerelementmenütaste an.

nRepCnt
Gibt die Wiederholungsanzahl an, d. h. die Häufigkeit, mit der die Tastatureingabe wiederholt wird, weil der Benutzer die Taste gedrückt hält.

nFlags
Der nFlags Parameter kann folgende Werte haben:

Wert Bedeutung
0 - 15 Gibt die Wiederholungsanzahl an. Der Wert ist die Häufigkeit, mit der der Tastenanschlag wiederholt wird, wenn der Benutzer die Taste gedrückt hält.
16-23 Gibt den Scancode an. Der Wert hängt vom Originalgerätehersteller (OEM) ab.
24 Gibt an, ob es sich bei der Taste um eine erweiterte Taste handelt, z. B. die rechte ALT- und STRG-TASTE, die auf einer erweiterten 101- oder 102-Tastentastaturen angezeigt werden. Der Wert ist 1, wenn es sich um einen erweiterten Schlüssel handelt. andernfalls ist es 0.
25-28 Wird intern von Windows verwendet.
29 Gibt den Kontextcode an. Der Wert ist 1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird. andernfalls ist der Wert 0.
30 Gibt den vorherigen Schlüsselstatus an. Der Wert ist 1, wenn der Schlüssel vor dem Senden der Nachricht nach unten ist, oder wenn der Schlüssel nach oben ist.
31 Gibt den Übergangszustand an. Der Wert ist 1, wenn die Taste losgelassen wird, oder 0, wenn die Taste gedrückt wird.

Hinweise

Er gibt den virtuellen Schlüsselcode der Ctrl-Menü-Taste an. (Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h)

Wenn der Kontextcode 0 ist, WM_SYSCHAR kann die WM_SYSCHAR Nachricht an die TranslateAccelerator Windows-Funktion übergeben werden, die sie so behandelt, als wäre sie eine normale Schlüsselmeldung anstelle eines Systemzeichenschlüssels. Dadurch können Tastenkombinationen mit dem aktiven Fenster verwendet werden, auch wenn das aktive Fenster nicht den Eingabefokus hat.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit der erweiterten Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSysColorChange

Das Framework ruft diese Memberfunktion für alle Fenster der obersten Ebene auf, wenn eine Änderung in der Systemfarbeinstellung vorgenommen wird.

afx_msg void OnSysColorChange();

Hinweise

Windows ruft alle Fenster auf OnSysColorChange , die von einer Systemfarbänderung betroffen sind.

Anwendungen mit Pinsel, die die vorhandenen Systemfarben verwenden, sollten diese Pinsel löschen und mit den neuen Systemfarben erneut erstellen.

CWnd::OnSysCommand

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer im Menü "Steuerelement" einen Befehl auswählt oder wenn der Benutzer die Schaltfläche "Maximieren" oder "Minimieren" auswählt.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Parameter

nID
Gibt den Typ des angeforderten Systembefehls an. Dieser Parameter kann eine der folgenden Werte sein:

  • SC_CLOSE Schließen Sie das CWnd Objekt.

  • SC_HOTKEY Aktivieren Sie das Objekt, das CWnd der vom Anwendung angegebenen Hot Key zugeordnet ist. Das Wort lParam mit niedriger Reihenfolge identifiziert das HWND zu aktivierende Fenster.

  • SC_HSCROLL Horizontal scrollen.

  • SC_KEYMENU Rufen Sie ein Menü über einen Tastenanschlag ab.

  • SC_MAXIMIZE (oder SC_ZOOM) Maximieren Sie das CWnd Objekt.

  • SC_MINIMIZE (oder SC_ICON) Minimieren Sie das CWnd Objekt.

  • SC_MOUSEMENU Rufen Sie ein Menü über einen Mausklick ab.

  • SC_MOVE Verschieben sie das CWnd Objekt.

  • SC_NEXTWINDOW Wechseln zum nächsten Fenster

  • SC_PREVWINDOW Wechseln zum vorherigen Fenster

  • SC_RESTORE Wiederherstellen des Fensters auf normale Position und Größe.

  • SC_SCREENSAVE Führt die im Abschnitt [boot] der SYSTEM.INI Datei angegebene Bildschirmschoneranwendung aus.

  • SC_SIZE Größe des CWnd Objekts.

  • SC_TASKLIST Führen Sie die Windows Task Manager-Anwendung aus, oder aktivieren Sie sie.

  • SC_VSCROLL Vertikal scrollen.

lParam
Wenn ein Befehl im Steuerelementmenü mit der Maus ausgewählt wird, lParam enthält die Cursorkoordinaten. Das Wort mit niedriger Reihenfolge enthält die x-Koordinate, und das Wort mit hoher Reihenfolge enthält die Y-Koordinate. Andernfalls wird dieser Parameter nicht verwendet.

  • SC_HOTKEY Aktivieren Sie das Fenster, das dem anwendungsspezifischen Hot Key zugeordnet ist. Das Wort lParam mit niedriger Reihenfolge identifiziert das zu aktivierende Fenster.

  • SC_SCREENSAVEFühren Sie die im Desktopabschnitt von Systemsteuerung angegebene Bildschirmspeicheranwendung aus.

Hinweise

Führt standardmäßig die Steuerelementmenüanforderung für die vordefinierten Aktionen aus, OnSysCommand die in der vorherigen Tabelle angegeben sind.

In WM_SYSCOMMAND Nachrichten werden die vier Bits mit niedriger Reihenfolge des nID Parameters intern von Windows verwendet. Wenn eine Anwendung den Wert nIDtestet, muss er den Wert 0xFFF0 mit dem nID Wert kombinieren, indem der Bitweise-AND-Operator verwendet wird, um das richtige Ergebnis zu erhalten.

Die Menüelemente in einem Steuerelementmenü können mit den GetSystemMenuFunktionen , AppendMenu, InsertMenuund ModifyMenu Membern geändert werden. Anwendungen, die das Menü "Steuerelement" ändern, müssen Nachrichten verarbeiten WM_SYSCOMMAND , und alle WM_SYSCOMMAND Nachrichten, die von der Anwendung nicht behandelt werden, müssen an die Anwendung übergeben OnSysCommandwerden. Alle von einer Anwendung hinzugefügten Befehlswerte müssen von der Anwendung verarbeitet werden und können nicht übergeben werden.OnSysCommand

Eine Anwendung kann jederzeit einen beliebigen Systembefehl ausführen, indem eine WM_SYSCOMMAND Nachricht an OnSysCommand.

Tastenkombinationen (Tastenkombinationen), die zum Auswählen von Elementen aus dem Menü "Steuerelement" definiert sind, werden in OnSysCommand Anrufe übersetzt. Alle anderen Tastenkombinationen werden in WM_COMMAND Nachrichten übersetzt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSysDeadChar

Das Framework ruft diese Memberfunktion auf, wenn das CWnd Objekt den Eingabefokus hat, wenn die OnSysKeyUp Funktion oder OnSysKeyDown Memberfunktion aufgerufen wird.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den Wert des Inaktiven Schlüsselzeichens an.

nRepCnt
Gibt die Wiederholungsanzahl an.

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Bedeutung
0-7 Scancode (OEM-abhängiger Wert). Low byte of high-order word.
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt; andernfalls 0).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird; andernfalls 0).
14 Vorheriger Schlüsselzustand (1, wenn die Taste vor dem Anruf nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Hinweise

Er gibt den Zeichenwert eines inaktiven Schlüssels an.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSysKeyDown

Wenn das CWnd Objekt den Eingabefokus hat, wird die OnSysKeyDown Memberfunktion vom Framework aufgerufen, wenn der Benutzer die ALT-TASTE gedrückt hält und dann eine weitere Taste drückt.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den virtuellen Tastencode der taste an, die gedrückt wird. Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h

nRepCnt
Gibt die Wiederholungsanzahl an.

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Bedeutung
0-7 Scancode (OEM-abhängiger Wert). Low byte of high-order word.
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt; andernfalls 0).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird, andernfalls 0).
14 Vorheriger Schlüsselstatus (1, wenn der Schlüssel vor dem Senden der Nachricht nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Bei OnSysKeyDown Anrufen ist der Schlüsselübergangsbit (Bit 15) 0. Das Kontextcodebit (Bit 13) ist 1, wenn die ALT-Taste gedrückt ist, während die Taste gedrückt wird. Es ist 0, wenn die Nachricht an das aktive Fenster gesendet wird, da kein Fenster den Eingabefokus hat.

Hinweise

Wenn derzeit kein Fenster den Eingabefokus hat, wird die Memberfunktion des aktiven Fensters OnSysKeyDown aufgerufen. Das CWnd Objekt, das die Nachricht empfängt, kann zwischen diesen beiden Kontexten unterscheiden, indem der Kontextcode überprüft wird nFlags.

Wenn der Kontextcode 0 ist, kann die WM_SYSKEYDOWN empfangene OnSysKeyDown Nachricht an die TranslateAccelerator Windows-Funktion übergeben werden, die sie so behandelt, als wäre sie eine normale Schlüsselmeldung anstelle einer Systemschlüsselmeldung. Dadurch können Tastenkombinationen mit dem aktiven Fenster verwendet werden, auch wenn das aktive Fenster nicht den Eingabefokus hat.

Aufgrund der automatischen Wiederholung kann mehr als ein OnSysKeyDown Anruf auftreten, bevor die WM_SYSKEYUP Nachricht empfangen wird. Der vorherige Schlüsselzustand (Bit 14) kann verwendet werden, um zu bestimmen, ob der OnSysKeyDown Aufruf den ersten Abwärtsübergang oder einen wiederholten Abwärtsübergang angibt.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit der erweiterten Taste in nFlags.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnSysKeyUp

Wenn das CWnd Objekt den Fokus hat, wird die OnSysKeyUp Memberfunktion vom Framework aufgerufen, wenn der Benutzer eine Taste loslässt, die gedrückt wurde, während die ALT-TASTE gedrückt wurde.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
Gibt den virtuellen Tastencode der taste an, die gedrückt wird. Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h

nRepCnt
Gibt die Wiederholungsanzahl an.

nFlags
Gibt den Scancode, den Schlüsselübergangscode, den vorherigen Schlüsselstatus und den Kontextcode an, wie in der folgenden Liste gezeigt:

Wert Bedeutung
0-7 Scancode (OEM-abhängiger Wert). Low byte of high-order word.
8 Erweiterte Taste, z. B. eine Funktionstaste oder eine Taste auf der Zehnertastatur (1, wenn es sich um eine erweiterte Taste handelt; andernfalls 0).
9-10 Nicht verwendet.
11-12 Wird intern von Windows verwendet.
13 Kontextcode (1, wenn die ALT-Taste gedrückt gehalten wird, während die Taste gedrückt wird, andernfalls 0).
14 Vorheriger Schlüsselstatus (1, wenn der Schlüssel vor dem Senden der Nachricht nach unten ist, 0, wenn der Schlüssel nach oben ist).
15 Übergangszustand (1, wenn die Taste losgelassen wird, 0, wenn die Taste gedrückt wird).

Bei OnSysKeyUp Anrufen ist der Schlüsselübergangsbit (Bit 15) 1. Das Kontextcodebit (Bit 13) ist 1, wenn die ALT-Taste gedrückt ist, während die Taste gedrückt wird. Es ist 0, wenn die Nachricht an das aktive Fenster gesendet wird, da kein Fenster den Eingabefokus hat.

Hinweise

Wenn derzeit kein Fenster den Eingabefokus hat, wird die Memberfunktion des aktiven Fensters OnSysKeyUp aufgerufen. Das CWnd Objekt, das den Aufruf empfängt, kann zwischen diesen beiden Kontexten unterscheiden, indem der Kontextcode überprüft wird nFlags.

Wenn der Kontextcode 0 ist, kann die WM_SYSKEYUP empfangene OnSysKeyUp Nachricht an die TranslateAccelerator Windows-Funktion übergeben werden, die sie so behandelt, als wäre sie eine normale Schlüsselmeldung anstelle einer Systemschlüsselmeldung. Dadurch können Zugriffstasten (Tastenkombinationen) mit dem aktiven Fenster verwendet werden, auch wenn das aktive Fenster nicht den Eingabefokus hat.

Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT und die rechten STRG-Tasten im Standard Abschnitt der Tastatur; die INS-, DEL-, HOME-, ENDE-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur sowie der Schrägstrich (/) und die EINGABETASTE auf der Zehnertastatur. Einige andere Tastaturen unterstützen möglicherweise das Bit mit erweiterter Taste in nFlags.

Für Nicht-USA Erweiterte 102-Tastentastaturen, die rechte ALT-TASTE wird als STRG+ALT-Tastenkombination behandelt. Im Folgenden wird die Abfolge von Nachrichten und Aufrufen angezeigt, die sich ergeben, wenn der Benutzer diese Taste drückt und loslässt:

Sequence Auf die Funktion zugegriffen wird Nachricht übergeben
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnTCard

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf eine autorierbare Schaltfläche klickt.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parameter

idAction
Gibt die Aktion an, die der Benutzer ausgeführt hat. Dieser Parameter kann einer der folgenden Werte sein:

  • IDABORT Der Benutzer hat auf eine autorisierende Abbruchschaltfläche geklickt.

  • IDCANCEL Der Benutzer hat auf die Schaltfläche "Abbrechen" geklickt.

  • IDCLOSEDer Benutzer hat die Schulungs-Karte geschlossen.

  • IDHELP Der Benutzer hat auf eine autorierbare Windows-Hilfeschaltfläche geklickt.

  • IDIGNORE Der Benutzer hat auf eine Schaltfläche zum Ignorieren geklickt.

  • IDOK Der Benutzer hat auf eine schaltfläche "Ok" geklickt.

  • IDNO Der Benutzer hat auf eine schaltfläche "Nein" geklickt.

  • IDRETRY Der Benutzer hat auf eine Schaltfläche zum Wiederholen geklickt.

  • HELP_TCARD_DATA Der Benutzer hat auf eine autorierbare Schaltfläche geklickt. Der dwActionData Parameter enthält eine lange ganze Zahl, die vom Hilfeautor angegeben wird.

  • HELP_TCARD_NEXT Der Benutzer hat auf eine schaltfläche "Weiter" geklickt.

  • HELP_TCARD_OTHER_CALLEREine andere Anwendung hat Schulungen Karte angefordert.

  • IDYES Der Benutzer hat auf die Schaltfläche "Autorierbares Ja" geklickt.

dwActionData
Wenn idAction dieser Parameter angibt HELP_TCARD_DATA, ist dieser Parameter eine lange ganze Zahl, die vom Hilfeautor angegeben wird. Andernfalls ist dieser Parameter null.

Hinweise

Diese Funktion wird nur aufgerufen, wenn eine Anwendung eine Schulungs-Karte mit der Windows-Hilfe initiiert hat. Eine Anwendung initiiert eine Schulungs-Karte durch Angeben des HELP_TCARD Befehls in einem Aufruf der WinHelp Funktion.

CWnd::OnTimeChange

Das Framework ruft diese Memberfunktion auf, nachdem die Systemzeit geändert wurde.

afx_msg void OnTimeChange();

Hinweise

Lassen Sie jede Anwendung, die die Systemzeit ändert, diese Nachricht an alle Fenster der obersten Ebene senden. Um die WM_TIMECHANGE Nachricht an alle Fenster der obersten Ebene zu senden, kann eine Anwendung die SendMessage Windows-Funktion mit dem Parameter verwenden, auf den hwnd sie HWND_BROADCASTfestgelegt ist.

CWnd::OnTimer

Das Framework ruft diese Memberfunktion nach jedem in der SetTimer Memberfunktion angegebenen Intervall auf, das zum Installieren eines Timers verwendet wird.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Parameter

nIDEvent
Gibt den Bezeichner des Timers an.

Hinweise

Die DispatchMessage Windows-Funktion sendet eine WM_TIMER Nachricht, wenn sich keine anderen Nachrichten in der Nachrichtenwarteschlange der Anwendung befinden.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

Beispiel

Siehe das Beispiel in CWnd::SetTimer.

CWnd::OnToolHitTest

Das Framework ruft diese Memberfunktion auf, um zu bestimmen, ob sich ein Punkt im umgebenden Rechteck des angegebenen Tools befindet.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parameter

point
Gibt die x- und y-Koordinate des Cursors an. Diese Koordinaten sind immer relativ zur oberen linken Ecke des Fensters.

pTI
Ein Zeiger auf eine TOOLINFO Struktur. Die folgenden Strukturwerte werden standardmäßig festgelegt:

  • hwnd = m_hWnd Behandeln eines Fensters

  • uId = (UINT)hWndChild Behandeln eines untergeordneten Fensters

  • uFlags |= TTF_IDISHWND Handle des Tools

  • lpszText = LPSTR_TEXTCALLBACK Zeiger auf die Zeichenfolge, die im angegebenen Fenster angezeigt werden soll

Rückgabewert

Wenn das QuickInfo-Steuerelement gefunden wurde, wird die Fenstersteuerelement-ID angezeigt. Wenn das QuickInfo-Steuerelement nicht gefunden wurde, -1.

Hinweise

Wenn sich der Punkt im Rechteck befindet, ruft er Informationen zum Tool ab.

Wenn der Bereich, dem die QuickInfo zugeordnet ist, keine Schaltfläche ist, OnToolHitTest legt die Strukturkennzeichnungen auf TTF_NOTBUTTON und TTF_CENTERTIP.

Außerkraftsetzen OnToolHitTest , um andere Informationen bereitzustellen als die Standardeinstellungen.

Weitere Informationen zur Struktur finden Sie TOOLINFOim Windows SDK.

CWnd::OnTouchInput

Verarbeitet die einzelne Eingabe aus Windows Touch.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parameter

pt
Punkt, an dem der Bildschirm berührt wurde (in den Clientkoordinaten).

nInputNumber
Anzahl der Toucheingaben.

nInputsCount
Gesamtanzahl der Toucheingaben.

pInput
Zeiger zur TOUCHINPUT -Struktur.

Rückgabewert

TRUE wenn die Anwendung Die Windows-Toucheingabe verarbeitet; andernfalls FALSE.

Hinweise

CWnd::OnTouchInputs

Verarbeitet Eingaben von Der Windows-Toucheingabe.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parameter

nInputsCount
Die Gesamtzahl der Windows-Toucheingaben.

pInputs
Array von TOUCHINPUT.

Rückgabewert

TRUE wenn die Anwendung Windows-Toucheingaben verarbeitet; andernfalls FALSE.

Hinweise

CWnd::OnUniChar

Das Framework ruft diese Memberfunktion auf, wenn eine Taste gedrückt wird. Das heißt, das aktuelle Fenster hat den Tastaturfokus, und eine WM_KEYDOWN Nachricht wird von der TranslateMessage Funktion übersetzt.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parameter

nChar
[in] Gibt den Zeichencode der gedrückten Taste an.

nRepCnt
[in] Gibt die Wiederholungsanzahl für die aktuelle Nachricht an. Der Wert ist die Häufigkeit, mit der der Tastenanschlag automatisch ausgeführt wird, weil der Benutzer die Taste gedrückt hält. Wenn der Tastenanschlag lang genug gehalten wird, werden mehrere Nachrichten gesendet. Die Wiederholungsanzahl ist jedoch nicht kumulativ.

nFlags
[in] Flags, die den Scancode, den erweiterten Schlüssel, den Kontextcode, den vorherigen Schlüsselzustand und den Übergangszustand angeben, wie in der folgenden Tabelle gezeigt:

Flagbits Beschreibung
0-7 Gibt den Scancode an. Der Wert hängt vom Originalgerätehersteller (OEM) ab.
8 Gibt eine erweiterte Taste an, z. B. die rechte ALT- und STRG-TASTE, die auf einer erweiterten 101- oder 102-Tastentastaturen angezeigt werden. Die Kennzeichnung ist 1, wenn der Schlüssel ein erweiterter Schlüssel ist; andernfalls ist es 0.
9-12 Wird intern von Windows verwendet.
13 Gibt den Kontextcode an. Die Kennzeichnung ist 1, wenn die ALT-TASTE gedrückt gehalten wird, während die Taste gedrückt wird. andernfalls ist der Wert 0.
14 Gibt den vorherigen Schlüsselstatus an. Die Kennzeichnung ist 1, wenn die Taste vor dem Senden der Nachricht nach unten oder 0 ist, wenn der Schlüssel nach oben ist.
15 Gibt den Übergangszustand an. Die Kennzeichnung ist 1, wenn die Taste losgelassen wird, oder 0, wenn die Taste gedrückt wird.

Hinweise

Diese Methode empfängt die WM_UNICHAR Benachrichtigung, die im Windows SDK beschrieben wird. Die WM_UNICHAR Nachricht ist so konzipiert, dass Unicode-Zeichen an ANSI-Fenster gesendet oder gepostet werden. Sie entspricht der WM_CHAR Nachricht, verwendet jedoch die Unicode-Transformationsformat-32-Codierung (UTF-32), während die WM_CHAR Nachricht UTF-16 verwendet.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnUnInitMenuPopup

Das Framework ruft diese Memberfunktion auf, wenn ein Dropdownmenü oder untermenü zerstört wurde.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parameter

pMenu
[in] Zeigen Sie auf das CMenu Objekt, das das Menü oder untermenü darstellt.

nFlags
[in] Das Menü, das zerstört wurde. Derzeit kann es nur das Fenstermenü sein. MF_SYSMENU

Hinweise

Diese Methode empfängt die WM_UNINITMENUPOPUP Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnUpdateUIState

Wird aufgerufen, um den Benutzeroberflächenstatus für das angegebene Fenster und alle zugehörigen untergeordneten Fenster zu ändern.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Parameter

nAction
Gibt die auszuführende Aktion an. Folgenden Werte sind möglich:

  • UIS_CLEAR Das ui-Zustandselement (angegeben durch nUIElement) sollte ausgeblendet werden.

  • UIS_INITIALIZE Das UI-Zustandselement (angegeben durch nUIElement) sollte basierend auf dem letzten Eingabeereignis geändert werden. Weitere Informationen finden Sie im Abschnitt "Hinweise " von WM_UPDATEISTATE.

  • UIS_SET Das ui-Zustandselement (angegeben durch nUIElement) sollte sichtbar sein.

nUIElement
Gibt an, welche UI-Zustandselemente betroffen sind oder welche Formatvorlage das Steuerelement hat. Folgenden Werte sind möglich:

  • UISF_HIDEACCEL Zugriffstasten.

  • UISF_HIDEFOCUS Fokusindikatoren.

  • UISF_ACTIVE Windows XP: Ein Steuerelement sollte in der Formatvorlage gezeichnet werden, die für aktive Steuerelemente verwendet wird.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der WM_UPDATEUISTATE Nachricht, wie im Windows SDK beschrieben.

CWnd::OnUserChanged

Das Framework ruft dieses Element für alle Fenster auf, nachdem sich der Benutzer angemeldet oder deaktiviert hat.

afx_msg void OnUserChanged();

Hinweise

Diese Methode empfängt die WM_USERCHANGED Benachrichtigung, die im Windows SDK beschrieben wird. Wenn sich der Benutzer anmeldet oder deaktiviert, aktualisiert das Betriebssystem benutzerspezifische Einstellungen. Das System sendet diese Nachricht unmittelbar nach dem Aktualisieren der Einstellungen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnVKeyToItem

Wenn das CWnd Objekt ein Listenfeld mit der LBS_WANTKEYBOARDINPUT Formatvorlage besitzt, sendet das Listenfeld die WM_VKEYTOITEM Nachricht als Antwort auf eine WM_KEYDOWN Nachricht.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Parameter

nKey
Gibt den virtuellen Schlüsselcode der Taste an, die der Benutzer gedrückt hat. Eine Liste der standardmäßigen virtuellen Schlüsselcodes finden Sie unter Winuser.h

pListBox
Gibt einen Zeiger auf das Listenfeld an. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

nIndex
Gibt die aktuelle Caretposition an.

Rückgabewert

Gibt die Aktion an, die die Anwendung als Reaktion auf die Nachricht ausgeführt hat. Ein Rückgabewert von -2 gibt an, dass die Anwendung alle Aspekte der Auswahl des Elements behandelt hat und keine weitere Aktion durch das Listenfeld erfordert. Ein Rückgabewert von -1 gibt an, dass das Listenfeld als Reaktion auf den Tastenanschlag die Standardaktion ausführen soll. Ein Rückgabewert von 0 oder höher gibt den nullbasierten Index eines Elements im Listenfeld an und gibt an, dass das Listenfeld die Standardaktion für die Tastatureingabe für das angegebene Element ausführen soll.

Hinweise

Diese Memberfunktion wird vom Framework nur für Listenfelder mit der LBS_HASSTRINGS Formatvorlage aufgerufen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnVScroll

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer auf die vertikale Bildlaufleiste des Fensters klickt.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parameter

nSBCode
Gibt einen Bildlaufleistencode an, der die Bildlaufanforderung des Benutzers angibt. Der Parameter kann eine der folgenden Einstellungen haben:

  • SB_BOTTOM Scrollen Sie nach unten.

  • SB_ENDSCROLL Beenden des Bildlaufs.

  • SB_LINEDOWN Scrollen Sie eine Zeile nach unten.

  • SB_LINEUP Scrollen Sie eine Zeile nach oben.

  • SB_PAGEDOWN Scrollen Sie eine Seite nach unten.

  • SB_PAGEUP Scrollen Sie eine Seite nach oben.

  • SB_THUMBPOSITION Scrollen Sie zur absoluten Position. Die aktuelle Position wird in .nPos

  • SB_THUMBTRACK Ziehen Sie das Bildlauffeld an die angegebene Position. Die aktuelle Position wird in .nPos

  • SB_TOP Scrollen Sie nach oben.

nPos
Enthält die aktuelle Position des Bildlauffelds, wenn der Bildlaufleistencode oder SB_THUMBTRACK; andernfalls nicht verwendet wirdSB_THUMBPOSITION. Je nach anfänglicher Bildlaufbereich nPos kann es negativ sein und sollte bei Bedarf in eine int Verschiebung verschoben werden.

pScrollBar
Wenn die Bildlaufnachricht von einem Bildlaufleisten-Steuerelement stammt, enthält sie einen Zeiger auf das Steuerelement. Wenn der Benutzer auf die Bildlaufleiste eines Fensters geklickt hat, lautet NULLdieser Parameter . Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

OnVScroll wird in der Regel von Anwendungen verwendet, die Feedback geben, während das Bildlauffeld gezogen wird.

Wenn OnVScroll der Inhalt des CWnd Objekts gescrollt wird, muss er auch die Position des Bildlauffelds mit der SetScrollPos Memberfunktion zurücksetzen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnVScrollClipboard

Die Memberfunktion des Zwischenablagebesitzers OnVScrollClipboard wird vom Zwischenablage-Viewer aufgerufen, wenn die Daten der Zwischenablage das CF_OWNERDISPLAY Format aufweisen und ein Ereignis in der vertikalen Bildlaufleiste der Zwischenablageanzeige vorhanden ist.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parameter

pClipAppWnd
Gibt einen Zeiger auf ein Zwischenablageanzeigefenster an. Der Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

nSBCode
Gibt einen der folgenden Bildlaufleistenwerte an:

  • SB_BOTTOM Scrollen Sie nach unten.

  • SB_ENDSCROLL Beenden des Bildlaufs.

  • SB_LINEDOWN Scrollen Sie eine Zeile nach unten.

  • SB_LINEUP Scrollen Sie eine Zeile nach oben.

  • SB_PAGEDOWN Scrollen Sie eine Seite nach unten.

  • SB_PAGEUP Scrollen Sie eine Seite nach oben.

  • SB_THUMBPOSITION Scrollen Sie zur absoluten Position. Die aktuelle Position wird in .nPos

  • SB_TOP Scrollen Sie nach oben.

nPos
Enthält die Position des Bildlauffelds, wenn der Bildlaufleistencode lautet SB_THUMBPOSITION; andernfalls nPos wird er nicht verwendet.

Hinweise

Der Besitzer sollte im Bild der Zwischenablage scrollen, den entsprechenden Abschnitt ungültig halten und die Bildlaufleistenwerte aktualisieren.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnWindowMaximizedChanged

Das Framework ruft dieses Element auf, wenn das aktuelle Fenster maximiert wird, und das Fenster wird vom Desktop Window Manager (DWM) erstellt.

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parameter

bIsMaximized
[in] TRUE wenn das aktuelle Fenster maximiert ist und FALSE nicht.

Hinweise

Diese Methode empfängt die WM_DWMWINDOWMAXIMIZEDCHANGE Benachrichtigung, die im Windows SDK beschrieben wird.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnWindowPosChanged

Das Framework ruft diese Memberfunktion auf, wenn sich die Größe, Position oder Z-Reihenfolge aufgrund eines Aufrufs der SetWindowPos Memberfunktion oder einer anderen Fensterverwaltungsfunktion geändert hat.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Parameter

lpwndpos
Verweist auf eine WINDOWPOS Datenstruktur, die Informationen zur neuen Größe und Position des Fensters enthält.

Hinweise

Die Standardimplementierung sendet die WM_SIZE Und-Nachrichten WM_MOVE an das Fenster. Diese Nachrichten werden nicht gesendet, wenn eine Anwendung den OnWindowPosChanged Aufruf ohne Aufruf der Basisklasse verarbeitet. Es ist effizienter, während des Aufrufs OnWindowPosChanged eine Änderungsverarbeitung von Verschiebungen oder Größenänderungen durchzuführen, ohne die Basisklasse aufzurufen.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnWindowPosChanging

Das Framework ruft diese Memberfunktion auf, wenn sich die Größe, Position oder Z-Reihenfolge infolge eines Aufrufs der SetWindowPos Memberfunktion oder einer anderen Fensterverwaltungsfunktion ändert.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Parameter

lpwndpos
Verweist auf eine WINDOWPOS Datenstruktur, die Informationen zur neuen Größe und Position des Fensters enthält.

Hinweise

Eine Anwendung kann Änderungen am Fenster verhindern, indem sie die entsprechenden Bits im flags Element der WINDOWPOS Struktur festlegen oder löschen.

Für ein Fenster mit dem Format oder WS_THICKFRAME der WS_OVERLAPPED Standardimplementierung wird eine WM_GETMINMAXINFO Nachricht an das Fenster gesendet. Dies geschieht, um die neue Größe und Position des Fensters zu überprüfen und die CS_BYTEALIGNCLIENT Formatvorlagen und CS_BYTEALIGN Clientformatvorlagen zu erzwingen. Eine Anwendung kann diese Funktionalität außer Kraft setzen, indem sie ihre Basisklasse nicht aufruft.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnWinIniChange

Das Framework ruft diese Memberfunktion auf, nachdem eine Änderung an der Windows-Initialisierungsdatei vorgenommen wurde. WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parameter

lpszSection
Verweist auf eine Zeichenfolge, die den Namen des geänderten Abschnitts angibt. (Die Zeichenfolge enthält nicht die eckigen Klammern, die den Abschnittsnamen einschließen.)

Hinweise

Die SystemParametersInfo Windows-Funktion wird aufgerufen OnWinIniChange , nachdem eine Anwendung die Funktion verwendet, um eine Einstellung in der WIN.INI Datei zu ändern.

Um die WM_WININICHANGE Nachricht an alle Fenster der obersten Ebene zu senden, kann eine Anwendung die SendMessage Windows-Funktion mit dem Parameter verwenden, auf den hwnd sie HWND_BROADCASTfestgelegt ist.

Wenn eine Anwendung viele verschiedene Abschnitte WIN.INI gleichzeitig ändert, sollte die Anwendung eine WM_WININICHANGE Nachricht mit lpszSection festgelegter NULLEinstellung senden. Andernfalls sollte eine Anwendung jedes Mal senden WM_WININICHANGE , wenn sie eine Änderung vorgibt WIN.INI.

Wenn eine Anwendung einen OnWinIniChange Anruf mit lpszSection "Set" NULLempfängt, sollte die Anwendung alle Abschnitte in WIN überprüfen. INI, die sich auf die Anwendung auswirken.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnWndMsg

Diese Memberfunktion wird von WindowProcoder wird während der Nachrichtenreflektion aufgerufen.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parameter

message
Gibt die zu sendende Nachricht an.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

pResult
Der Rückgabewert von WindowProc. Hängt von der Nachricht ab; kann sein NULL.

Rückgabewert

TRUE, wenn die Nachricht behandelt wurde; andernfalls FALSE.

Hinweise

OnWndMsg bestimmt den Nachrichtentyp und ruft entweder die entsprechende Frameworkfunktion auf (z OnCommand . B. für WM_COMMAND) oder sucht die entsprechende Nachricht in der Nachrichtenzuordnung.

Weitere Informationen zur Nachrichtenreflektion finden Sie unter Behandeln von reflektierten Nachrichten.

CWnd::OnXButtonDblClk

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer doppelklickt oder XBUTTON2 sich der Cursor im Clientbereich eines Fensters XBUTTON1 befindet.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parameter

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Modifizierertasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird.

nButton
[in] Ein Wert, der XBUTTON1 angibt, ob auf die erste Microsoft Intellimouse X-Schaltfläche doppelt geklickt wird, oder XBUTTON2, wenn auf die zweite X-Schaltfläche doppelt geklickt wird.

point
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_XBUTTONDBLCLK Benachrichtigung, die im Windows SDK beschrieben wird. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.

Der nFlags Parameter kann eine Kombination aus Zusatztasten sein, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen finden Sie unter "Informationen zur Mauseingabe".

Zusatztaste Beschreibung
MK_CONTROL Die STRG-TASTE wird gedrückt.
MK_LBUTTON Die linke Maustaste wird gedrückt.
MK_MBUTTON Die mittlere Maustaste wird gedrückt.
MK_RBUTTON Die rechte Maustaste wird gedrückt.
MK_SHIFT Die UMSCHALTTASTE wird gedrückt.
MK_XBUTTON1 Die XBUTTON1 Maustaste der Microsoft IntelliMouse wird gedrückt.
MK_XBUTTON2 Die XBUTTON2 Maustaste der Microsoft IntelliMouse wird gedrückt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnXButtonDown

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer drückt oder XBUTTON2 sich im Clientbereich eines Fensters XBUTTON1 befindet.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parameter

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Modifizierertasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird.

nButton
[in] Ein Wert, der XBUTTON1 angibt, ob auf die erste Microsoft Intellimouse X-Schaltfläche geklickt wurde oder XBUTTON2 auf die zweite X-Schaltfläche geklickt wurde.

point
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_XBUTTONDOWN Benachrichtigung, die im Windows SDK beschrieben wird. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.

Der nFlags Parameter kann eine Kombination aus Zusatztasten sein, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen finden Sie unter "Informationen zur Mauseingabe".

Zusatztaste Beschreibung
MK_CONTROL Die STRG-TASTE wird gedrückt.
MK_LBUTTON Die linke Maustaste wird gedrückt.
MK_MBUTTON Die mittlere Maustaste wird gedrückt.
MK_RBUTTON Die rechte Maustaste wird gedrückt.
MK_SHIFT Die UMSCHALTTASTE wird gedrückt.
MK_XBUTTON1 Die XBUTTON1 Maustaste der Microsoft IntelliMouse wird gedrückt.
MK_XBUTTON2 Die XBUTTON2 Maustaste der Microsoft IntelliMouse wird gedrückt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OnXButtonUp

Das Framework ruft diese Memberfunktion auf, wenn der Benutzer loslässt XBUTTON1 oder XBUTTON2 sich der Cursor im Clientbereich eines Fensters befindet.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parameter

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, welche Modifizierertasten gedrückt werden. Beispielsweise gibt das MK_CONTROL Kennzeichen an, dass die STRG-TASTE gedrückt wird.

nButton
[in] Ein Wert, der XBUTTON1 angibt, ob auf die erste Microsoft Intellimouse X-Schaltfläche doppelt geklickt wurde oder XBUTTON2 wenn auf die zweite X-Schaltfläche doppelklicken wurde.

point
[in] Ein CPoint Objekt, das die xy Cursorkoordinaten relativ zur oberen linken Ecke des Clientbereichs angibt.

Hinweise

Diese Methode empfängt die WM_XBUTTONUP Benachrichtigung, die im Windows SDK beschrieben wird. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.

Der nFlags Parameter kann eine Kombination aus Zusatztasten sein, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen finden Sie unter "Informationen zur Mauseingabe".

Zusatztaste Beschreibung
MK_CONTROL Die STRG-TASTE wird gedrückt.
MK_LBUTTON Die linke Maustaste wird gedrückt.
MK_MBUTTON Die mittlere Maustaste wird gedrückt.
MK_RBUTTON Die rechte Maustaste wird gedrückt.
MK_SHIFT Die UMSCHALTTASTE wird gedrückt.
MK_XBUTTON1 Die XBUTTON1 Maustaste der Microsoft IntelliMouse wird gedrückt.
MK_XBUTTON2 Die XBUTTON2 Maustaste der Microsoft IntelliMouse wird gedrückt.

Hinweis

Diese Memberfunktion wird vom Framework aufgerufen, um der Anwendung die Bearbeitung einer Windows-Meldung zu ermöglichen. Die Parameter, die an die Funktion übergeben werden, stellen die Parameter dar, die vom Framework empfangen wurden, als die Nachricht empfangen wurde. Wenn Sie die Basisklassenimplementierung dieser Funktion aufrufen, verwendet diese Implementierung die Parameter, die mit der Meldung ursprünglich übergeben wurden, und nicht die Parameter, die Sie der Funktion übergeben.

CWnd::OpenClipboard

Öffnet die Zwischenablage.

BOOL OpenClipboard();

Rückgabewert

Nonzero, wenn die Zwischenablage über CWndoder 0 geöffnet wird, wenn eine andere Anwendung oder ein anderes Fenster die Zwischenablage geöffnet hat.

Hinweise

Andere Anwendungen können die Zwischenablage erst ändern, wenn die CloseClipboard Windows-Funktion aufgerufen wird.

Das aktuelle CWnd Objekt wird erst der Besitzer der Zwischenablage, wenn die EmptyClipboard Windows-Funktion aufgerufen wird.

Beispiel

//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

Verwenden Sie diesen Operator, um das Handle für das CWnd Objekt abzurufen.

operator HWND() const;

CWnd::operator !=

Vergleicht zwei CWnd Objekte, um festzustellen, ob sie nicht über dasselbe m_hWndverfügen.

BOOL operator!=(const CWnd& wnd) const;

Parameter

wnd
Ein Verweis auf ein CWnd-Objekt.

Rückgabewert

Nonzero wenn gleich; andernfalls 0.

CWnd::operator ==

Vergleicht zwei CWnd Objekte, um festzustellen, ob sie dieselbe m_hWndhaben.

BOOL operator==(const CWnd& wnd) const;

Parameter

wnd
Ein Verweis auf ein CWnd-Objekt.

Rückgabewert

Nonzero wenn gleich; andernfalls 0.

CWnd::PaintWindowlessControls

Zeichnet fensterlose Steuerelemente auf dem Steuerelementcontainer.

BOOL PaintWindowlessControls(CDC* pDC);

Parameter

pDC
Der Gerätekontext, in dem die fensterlosen Steuerelemente gezeichnet werden sollen.

Rückgabewert

Gibt zurück TRUE , wenn ein Steuerelementcontainer vorhanden ist und die fensterlosen Steuerelemente erfolgreich gezeichnet werden, andernfalls FALSE.

CWnd::PostMessage

Platziert eine Nachricht in der Nachrichtenwarteschlange des Fensters und gibt dann zurück, ohne darauf zu warten, dass das entsprechende Fenster die Nachricht verarbeitet.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parameter

message
Gibt die nachricht an, die gepostet werden soll.

wParam
Gibt zusätzliche Nachrichteninformationen an. Der Inhalt dieses Parameters hängt von der veröffentlichten Nachricht ab.

lParam
Gibt zusätzliche Nachrichteninformationen an. Der Inhalt dieses Parameters hängt von der veröffentlichten Nachricht ab.

Rückgabewert

Nonzero, wenn die Nachricht gepostet wird; andernfalls 0.

Hinweise

Nachrichten in einer Nachrichtenwarteschlange werden durch Aufrufe der GetMessage Funktion oder PeekMessage Der Windows-Funktion abgerufen.

Die Windows-Funktion PostMessage kann für den Zugriff auf eine andere Anwendung verwendet werden.

Beispiel

Sehen Sie sich das Beispiel für AfxGetMainWnd.

CWnd::PostNcDestroy

Wird von der Standardmäßigen OnNcDestroy Memberfunktion aufgerufen, nachdem das Fenster zerstört wurde.

virtual void PostNcDestroy();

Hinweise

Abgeleitete Klassen können diese Funktion für benutzerdefinierte sauber up verwenden, z. B. das Löschen des this Zeigers.

CWnd::PreCreateWindow

Vom Framework aufgerufen, bevor das Windows-Fenster erstellt wird, das diesem CWnd Objekt zugeordnet ist.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parameter

cs
Eine CREATESTRUCT-Struktur.

Rückgabewert

Nonzero, wenn die Fenstererstellung fortgesetzt werden soll; 0, um fehler beim Erstellen anzugeben.

Hinweise

Warnung

CWnd::PreCreateWindow weist nun das hMenu-Element cs des this Zeigers zu, wenn das Menü ist NULL und die Formatvorlage enthält WS_CHILD. Stellen Sie für die ordnungsgemäße Funktionalität sicher, dass das Dialogfeldsteuerelement über eine ID verfügt, die nicht NULLangegeben ist.

Diese Änderung behebt einen Absturz in verwalteten/nativen Interoperabilitätsszenarien. Eine TRACE Anweisung in CWnd::Create der Benachrichtigung des Entwicklers des Problems.

Rufen Sie diese Funktion nie direkt auf.

Die Standardimplementierung dieser Funktion sucht nach einem Namen einer NULL Fensterklasse und ersetzt einen geeigneten Standardwert. Überschreiben Sie diese Memberfunktion, um die CREATESTRUCT Struktur zu ändern, bevor das Fenster erstellt wird.

Jede Von der Klasse abgeleitete CWnd Klasse fügt ihrer Außerkraftsetzung PreCreateWindoweigene Funktionen hinzu. Diese Ableitungen PreCreateWindow sind im Entwurf nicht dokumentiert. Um die für jede Klasse geeigneten Formatvorlagen und die Abhängigkeiten zwischen den Formatvorlagen zu ermitteln, können Sie den MFC-Quellcode für die Basisklasse Ihrer Anwendung untersuchen. Wenn Sie sich dafür entscheiden, außer Kraft PreCreateWindow, zu setzen, können Sie ermitteln, ob die in der Basisklasse Ihrer Anwendung verwendeten Formatvorlagen die funktionalität bereitstellen, die Sie benötigen, indem Sie informationen verwenden, die aus dem MFC-Quellcode gesammelt wurden.

Weitere Informationen zum Ändern von Fensterformatvorlagen finden Sie unter " Ändern der Formatvorlagen eines von MFC erstellten Fensters".

Beispiel

// 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

Diese Memberfunktion wird vom Framework aufgerufen, um anderen erforderlichen Unterklassen zu ermöglichen, bevor das Fenster unterklasseniert wird.

virtual void PreSubclassWindow();

Hinweise

Das Überschreiben dieser Memberfunktion ermöglicht die dynamische Unterklassifizierung von Steuerelementen. Es ist eine erweiterte Außerkraftsetzung.

CWnd::PreTranslateMessage

Wird von der Klasse CWinApp verwendet, um Fenstermeldungen zu übersetzen, bevor sie an die TranslateMessage Funktionen und DispatchMessage Windows verteilt werden.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameter

pMsg
Verweist auf eine MSG Struktur, die die zu verarbeitende Nachricht enthält.

Rückgabewert

Nonzero, wenn die Nachricht übersetzt wurde und nicht versendet werden sollte; 0, wenn die Nachricht nicht übersetzt wurde und verteilt werden soll.

CWnd::Print

Rufen Sie diese Memberfunktion auf, um das aktuelle Fenster im angegebenen Gerätekontext zu zeichnen, das sich am häufigsten in einem Druckergerätekontext befindet.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Parameter

pDC
Ein Zeiger zu einem Gerätekontext.

dwFlags
Gibt die Zeichnungsoptionen an. Dieser Parameter kann eine oder mehrere der folgenden Flags sein:

  • PRF_CHECKVISIBLE Zeichnen Sie das Fenster nur, wenn es sichtbar ist.

  • PRF_CHILDREN Zeichnen Sie alle sichtbaren untergeordneten Fenster.

  • PRF_CLIENT Zeichnen Sie den Clientbereich des Fensters.

  • PRF_ERASEBKGND Löschen Sie den Hintergrund, bevor Sie das Fenster zeichnen.

  • PRF_NONCLIENT Zeichnen Sie den Nichtclientbereich des Fensters.

  • PRF_OWNED Zeichnen Sie alle eigenen Fenster.

Hinweise

CWnd::DefWindowProc diese Meldung wird basierend auf der Angegebenen Zeichnungsoption verarbeitet:

  • Wenn PRF_CHECKVISIBLE angegeben und das Fenster nicht sichtbar ist, führen Sie nichts aus.

  • Wenn PRF_NONCLIENT angegeben, zeichnen Sie den Nichtclientbereich im angegebenen Gerätekontext.

  • Wenn PRF_ERASEBKGND angegeben, senden Sie das Fenster eine WM_ERASEBKGND Nachricht.

  • Wenn PRF_CLIENT angegeben, senden Sie das Fenster eine WM_PRINTCLIENT Nachricht.

  • Wenn PRF_CHILDREN diese Einstellung festgelegt ist, senden Sie jedem sichtbaren untergeordneten Fenster eine WM_PRINT Nachricht.

  • Wenn PRF_OWNED diese Einstellung festgelegt ist, senden Sie jedem sichtbaren Fenster eine WM_PRINT Nachricht.

CWnd::PrintClient

Rufen Sie diese Memberfunktion auf, um ein beliebiges Fenster im angegebenen Gerätekontext (in der Regel einen Druckergerätekontext) zu zeichnen.

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Parameter

pDC
Ein Zeiger zu einem Gerätekontext.

dwFlags
Gibt Zeichnungsoptionen an. Dieser Parameter kann eine oder mehrere der folgenden Flags sein:

  • PRF_CHECKVISIBLE Zeichnen Sie das Fenster nur, wenn es sichtbar ist.

  • PRF_CHILDREN Zeichnen Sie alle sichtbaren untergeordneten Fenster.

  • PRF_CLIENT Zeichnen Sie den Clientbereich des Fensters.

  • PRF_ERASEBKGND Löschen Sie den Hintergrund, bevor Sie das Fenster zeichnen.

  • PRF_NONCLIENT Zeichnen Sie den Nichtclientbereich des Fensters.

  • PRF_OWNED Zeichnen Sie alle eigenen Fenster.

CWnd::PrintWindow

Kopiert ein visuelles Fenster in den angegebenen Gerätekontext, für gewöhnlich handelt es sich dabei um einen Druckerdomänencontroller.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parameter

pDC
Ein Zeiger auf den Gerätekontext, auf den gedruckt werden soll.

nFlags
Gibt die Zeichnungsoptionen an. Eine Liste der möglichen Werte finden Sie unter PrintWindow.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion PrintWindow, wie im Windows SDK beschrieben.

CWnd::RedrawWindow

Aktualisiert das angegebene Rechteck oder die angegebene Region im Clientbereich des angegebenen Fensters.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parameter

lpRectUpdate
Verweist auf eine RECT Struktur , die die Koordinaten des Aktualisierungsrechtecks enthält. Dieser Parameter wird ignoriert, wenn prgnUpdate ein gültiges Bereichshandle enthalten ist.

prgnUpdate
Identifiziert den Aktualisierungsbereich. Wenn beides prgnUpdate istNULL, lpRectUpdate wird der gesamte Clientbereich dem Updatebereich hinzugefügt.

flags
Die folgenden Flags werden verwendet, um das Fenster ungültig zu machen:

  • RDW_ERASE Bewirkt, dass das Fenster eine WM_ERASEBKGND Nachricht empfängt, wenn das Fenster aktualisiert wird. Die RDW_INVALIDATE Kennzeichnung muss ebenfalls angegeben werden; andernfalls hat RDW_ERASE keine Auswirkung.

  • RDW_FRAME Verursacht einen Teil des Nichtclientbereichs des Fensters, der den Aktualisierungsbereich überschneidet, um eine WM_NCPAINT Nachricht zu empfangen. Die RDW_INVALIDATE Kennzeichnung muss auch angegeben werden; andernfalls RDW_FRAME hat keine Auswirkung.

  • RDW_INTERNALPAINT Bewirkt, dass eine WM_PAINT Nachricht in das Fenster gepostet wird, unabhängig davon, ob das Fenster einen ungültigen Bereich enthält.

  • RDW_INVALIDATElpRectUpdate Ungültig oder prgnUpdate (nur eine darf nicht NULLsein). Wenn beides der Wert ist NULL, wird das gesamte Fenster ungültig.

Die folgenden Flags werden verwendet, um das Fenster zu überprüfen:

  • RDW_NOERASE Unterdrückt alle ausstehenden WM_ERASEBKGND Nachrichten.

  • RDW_NOFRAME Unterdrückt alle ausstehenden WM_NCPAINT Nachrichten. Dieses Flag muss verwendet RDW_VALIDATE werden und wird in der Regel mit RDW_NOCHILDREN. Diese Option sollte mit Sorgfalt verwendet werden, da teile eines Fensters daran gehindert werden könnten, richtig zu zeichnen.

  • RDW_NOINTERNALPAINT Unterdrückt alle ausstehenden internen WM_PAINT Nachrichten. Dieses Kennzeichen wirkt sich nicht auf WM_PAINT Nachrichten aus ungültigen Bereichen aus.

  • RDW_VALIDATElpRectUpdate Überprüft oder prgnUpdate (nur eine darf nicht NULLsein). Wenn beides der Grund ist NULL, wird das gesamte Fenster überprüft. Dieses Kennzeichen wirkt sich nicht auf interne WM_PAINT Nachrichten aus.

Die folgenden Flags steuern, wann die Aktualisierung erfolgt. Das Malen erfolgt nicht durch die RedrawWindow Funktion, es sei denn, eines dieser Bits wird angegeben.

  • RDW_ERASENOWBewirkt, dass die betroffenen Fenster (wie durch die RDW_ALLCHILDREN Und Flags angegeben) empfangen WM_NCPAINT und WM_ERASEBKGNDRDW_NOCHILDREN nachrichten, falls erforderlich, bevor die Funktion zurückgegeben wird. WM_PAINT Nachrichten werden zurückgestellt.

  • RDW_UPDATENOWBewirkt, dass die betroffenen Fenster (wie durch die RDW_ALLCHILDREN Und RDW_NOCHILDREN Flags angegeben) bei Bedarf empfangen, und WM_PAINT Nachrichten empfangenWM_NCPAINTWM_ERASEBKGND, bevor die Funktion zurückgegeben wird.

Standardmäßig hängen die fenster, die von der RedrawWindow Funktion betroffen sind, davon ab, ob das angegebene Fenster über die WS_CLIPCHILDREN Formatvorlage verfügt. Die untergeordneten Fenster von WS_CLIPCHILDREN Fenstern sind nicht betroffen. Diese Fenster, die keine WS_CLIPCHILDREN Fenster sind, werden jedoch rekursiv überprüft oder ungültig, bis ein WS_CLIPCHILDREN Fenster gefunden wird. Die folgenden Flags steuern, welche Fenster von der RedrawWindow Funktion betroffen sind:

  • RDW_ALLCHILDREN Enthält ggf. untergeordnete Fenster im Aktualisierungsvorgang.

  • RDW_NOCHILDREN Schließt ggf. untergeordnete Fenster aus dem Aktualisierungsvorgang aus.

Rückgabewert

Nonzero, wenn das Fenster erfolgreich neu gezeichnet wurde; andernfalls 0.

Hinweise

Wenn die RedrawWindow Memberfunktion verwendet wird, um einen Teil des Desktopfensters ungültig zu machen, empfängt WM_PAINT dieses Fenster keine Nachricht. Um den Desktop neu zu erstellen, sollte CWnd::ValidateRgneine Anwendung , , CWnd::InvalidateRgn, CWnd::UpdateWindowoder RedrawWindow

CWnd::ReflectChildNotify

Diese Nachrichtenfunktion wird vom Framework aufgerufen.OnChildNotify

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parameter

message
Gibt die Nachricht an, die wiedergegeben werden soll.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

pResult
Das vom untergeordneten Fenster generierte Ergebnis, das vom übergeordneten Fenster zurückgegeben wird. Kann NULL sein.

Rückgabewert

TRUE wenn die Nachricht wiedergegeben wurde; andernfalls FALSE.

Hinweise

Es handelt sich um eine Hilfsfunktion, die ihrer Quelle entspricht message .

Reflektierte Nachrichten werden direkt an CWnd::OnWndMsg oder CCmdTarget::OnCmdMsggesendet.

Weitere Informationen zur Nachrichtenreflektion finden Sie unter Behandeln von reflektierten Nachrichten.

CWnd::ReflectLastMsg

Diese Memberfunktion wird vom Framework aufgerufen, um die letzte Nachricht an das untergeordnete Fenster widerzuspiegeln.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parameter

hWndChild
Ein Handle für ein untergeordnetes Fenster.

pResult
Das vom untergeordneten Fenster generierte Ergebnis, das vom übergeordneten Fenster zurückgegeben wird. Kann NULL sein.

Rückgabewert

Nonzero, wenn die Nachricht behandelt wurde; andernfalls 0.

Hinweise

Diese Memberfunktion ruft auf SendChildNotifyLastMsg , wenn es sich bei dem durch hWndChild ein OLE-Steuerelement oder ein Fenster in der permanenten Zuordnung identifizierten Fenster handelt.

Weitere Informationen zur Nachrichtenreflektion finden Sie unter Behandeln von reflektierten Nachrichten.

CWnd::ReleaseDC

Gibt einen Gerätekontext frei, der für die Verwendung durch andere Anwendungen freigegeben wird.

int ReleaseDC(CDC* pDC);

Parameter

pDC
Gibt den zu veröffentlichenden Gerätekontext an.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Die Auswirkung der ReleaseDC Memberfunktion hängt vom Gerätekontexttyp ab.

Die Anwendung muss die ReleaseDC Memberfunktion für jeden Aufruf der GetWindowDC Memberfunktion und für jeden Aufruf der GetDC Memberfunktion aufrufen.

CWnd::RepositionBars

Wird aufgerufen, um Steuerleisten im Clientbereich eines Fensters neu zu positionieren und die Größe zu ändern.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Parameter

nIDFirst
Die ID des ersten in einem Bereich von Steuerleisten, um die Position zu ändern und die Größe zu ändern.

nIDLast
Die ID der letzten in einem Bereich von Steuerleisten, um die Position zu ändern und die Größe zu ändern.

nIDLeftOver
Gibt die ID des Bereichs an, der den Rest des Clientbereichs ausfüllt.

nFlag
Kann einen der folgenden Werte aufweisen:

  • CWnd::reposDefault Führt das Layout der Steuerleisten aus. lpRectParam wird nicht verwendet und kann sein NULL.

  • CWnd::reposQuery Das Layout der Steuerleisten erfolgt nicht; stattdessen lpRectParam wird mit der Größe des Clientbereichs initialisiert, als wäre das Layout tatsächlich erfolgt.

  • CWnd::reposExtra Fügt die Werte lpRectParam des Clientbereichs hinzu nIDLast und führt auch das Layout aus.

lpRectParam
Verweist auf eine RECT Struktur; deren Verwendung hängt vom Wert von nFlag.

lpRectClient
Verweist auf eine RECT Struktur , die den verfügbaren Clientbereich enthält. Wenn NULLder Clientbereich des Fensters verwendet wird.

bStretch
Gibt an, ob der Balken auf die Größe des Rahmens gestreckt werden soll.

Hinweise

Die nIDFirst Parameter nIDLast definieren einen Bereich von Steuerelementleisten-IDs, die im Clientbereich neu positioniert werden sollen. Der nIDLeftOver Parameter gibt die ID des untergeordneten Fensters (normalerweise die Ansicht) an, die neu positioniert und angepasst wird, um den Rest des Clientbereichs auszufüllen, der nicht durch Steuerleisten gefüllt ist.

CWnd::RunModalLoop

Rufen Sie diese Memberfunktion auf, um Nachrichten abzurufen, zu übersetzen oder zu verteilen, bis ContinueModal sie zurückgegeben werden FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parameter

dwFlags
Gibt die zu sendende Windows-Nachricht an. Folgenden Werte sind möglich:

  • MLF_NOIDLEMSG Senden Sie keine WM_ENTERIDLE Nachrichten an das übergeordnete Element.

  • MLF_NOKICKIDLE Senden WM_KICKIDLE Sie keine Nachrichten an das Fenster.

  • MLF_SHOWONIDLE Zeigt das Fenster an, wenn die Nachrichtenwarteschlange im Leerlauf verläuft.

Rückgabewert

Gibt den Wert des Parameters an, der nResult an die EndModalLoop Memberfunktion übergeben wird, die dann zum Beenden der modalen Schleife verwendet wird.

Hinweise

Gibt standardmäßig ContinueModal nach EndModalLoop dem Aufruf zurückFALSE. Gibt den angegebenen Wert zurück.nResultEndModalLoop

CWnd::ScreenToClient

Konvertiert die Bildschirmkoordinaten eines bestimmten Punkts oder Rechtecks auf der Anzeige zu Clientkoordinaten.

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

Parameter

lpPoint
Verweist auf ein Objekt oder POINT eine CPoint Struktur, das die zu konvertierenden Bildschirmkoordinaten enthält.

lpRect
Verweist auf ein Objekt oder RECT eine CRect Struktur, das die zu konvertierenden Bildschirmkoordinaten enthält.

Hinweise

Die ScreenToClient Memberfunktion ersetzt die in lpPoint oder lpRect durch Clientkoordinaten angegebenen Bildschirmkoordinaten. Die neuen Koordinaten sind relativ zur oberen linken Ecke des CWnd Clientbereichs.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetItemRect.

CWnd::ScrollWindow

Scrollt den Inhalt des Clientbereichs des aktuellen CWnd Objekts.

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Parameter

xAmount
Gibt die Größe des horizontalen Bildlaufs in Geräteeinheiten an. Dieser Parameter muss ein negativer Wert sein, um nach links zu scrollen.

yAmount
Gibt die Größe des vertikalen Bildlaufs in Geräteeinheiten an. Dieser Parameter muss ein negativer Wert sein, um nach oben zu scrollen.

lpRect
Verweist auf ein Objekt oder RECT eine CRect Struktur, das den Teil des zu scrollende Clientbereichs angibt. Wenn lpRect ja NULL, wird der gesamte Clientbereich gescrollt. Das Caret wird neu positioniert, wenn das Cursorrechteck das Bildlaufrechteck überschneidet.

lpClipRect
Verweist auf ein Objekt oder RECT eine CRect Struktur, das das zu scrollende Beschneidungsrechteck angibt. Nur Bits innerhalb dieses Rechtecks werden gescrollt. Bits außerhalb dieses Rechtecks sind auch dann nicht betroffen, wenn sie sich im lpRect Rechteck befinden. Ist lpClipRect dies NULLder Fall, wird kein Clipping für das Bildlaufrechteck ausgeführt.

Hinweise

Wenn sich das Caret im CWnd Bildlauf befindet, blendet das Caret automatisch aus, um zu verhindern, ScrollWindow dass es gelöscht wird, und stellt dann das Caret wieder her, nachdem der Bildlauf abgeschlossen ist. Die Caretposition wird entsprechend angepasst.

Der von der ScrollWindow Memberfunktion aufgedeckte Bereich wird nicht aktualisiert, sondern in den Aktualisierungsbereich des aktuellen CWnd Objekts kombiniert. Die Anwendung erhält schließlich eine WM_PAINT Meldung, in der sie darüber informiert wird, dass die Region eine Aktualisierung benötigt. Rufen Sie UpdateWindow die Memberfunktion unmittelbar nach dem Aufrufen ScrollWindowauf, um den aufgedeckten Bereich gleichzeitig zu aktualisieren, während der Bildlauf abgeschlossen ist.

Ist lpRect dies der Fall NULL, werden die Positionen von untergeordneten Fenstern im Fenster um den angegebenen xAmount Betrag und yAmountalle ungültigen (unbezahlten) Bereiche im CWnd Fenster versetzt. ScrollWindow ist schneller, wenn lpRect das ist NULL.

Andernfalls lpRect werden die Positionen untergeordneter NULLFenster nicht geändert, und ungültige Bereiche werden CWnd nicht versetzt. Rufen Sie die UpdateWindow Memberfunktion auf, um das Aktualisieren von Problemen zu verhindern, wenn lpRect dies nicht der Grund NULList, vor dem Aufruf ScrollWindowerneut zu aktualisierenCWnd.

CWnd::ScrollWindowEx

Scrollt den Inhalt des Clientbereichs eines Fensters.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Parameter

dx
Gibt die Größe des horizontalen Bildlaufs in Geräteeinheiten an. Dieser Parameter muss einen negativen Wert aufweisen, um nach links zu scrollen.

dy
Gibt die Größe des vertikalen Bildlaufs in Geräteeinheiten an. Dieser Parameter muss einen negativen Wert aufweisen, um nach oben zu scrollen.

lpRectScroll
Verweist auf eine RECT Struktur , die den Teil des zu scrollende Clientbereichs angibt. Wenn dieser Parameter lautet NULL, wird der gesamte Clientbereich gescrollt.

lpRectClip
Verweist auf eine RECT Struktur, die das zu scrollende Beschneidungsrechteck angibt. Diese Struktur hat Vorrang vor dem Rechteck, auf das verwiesen wird.lpRectScroll Nur Bits innerhalb dieses Rechtecks werden gescrollt. Bits außerhalb dieses Rechtecks sind auch dann nicht betroffen, wenn sie sich im lpRectScroll Rechteck befinden. Wenn dieser Parameter lautet NULL, wird für das Bildlaufrechteck kein Clipping ausgeführt.

prgnUpdate
Gibt den Bereich an, der geändert wird, um den Bereich zu halten, der durch Scrollen ungültig ist. Dieser Parameter kann NULL sein.

lpRectUpdate
Verweist auf eine RECT Struktur, die die Grenzen des Rechtecks erhält, die durch Scrollen ungültig werden. Dieser Parameter kann NULL sein.

flags
Kann einen der folgenden Werte aufweisen:

  • SW_ERASE Bei Angabe mit SW_INVALIDATE, wird der neu ungültige Bereich gelöscht, indem eine WM_ERASEBKGND Nachricht an das Fenster gesendet wird.

  • SW_INVALIDATE Ungültige Region, die nach dem prgnUpdate Scrollen identifiziert wurde.

  • SW_SCROLLCHILDREN Scrollt alle untergeordneten Fenster, die das Rechteck überschneiden, auf das durch lpRectScroll die Anzahl der in dx und dy. Windows sendet eine WM_MOVE Nachricht an alle untergeordneten Fenster, die sich schneiden lpRectScroll, auch wenn sie nicht verschoben werden. Das Caret wird neu positioniert, wenn ein untergeordnetes Fenster gescrollt wird und das Cursorrechteck das Bildlaufrechteck überschneidet.

Rückgabewert

Der Rückgabewert ist SIMPLEREGION (rechteckiger ungültiger Bereich), COMPLEXREGION (nichtectangularer ungültiger Bereich; überlappende Rechtecke) oder NULLREGION (kein ungültiger Bereich), wenn die Funktion erfolgreich ist. Andernfalls lautet ERRORder Rückgabewert .

Hinweise

Diese Funktion ähnelt der ScrollWindow Funktion mit einigen zusätzlichen Features.

Wenn SW_INVALIDATE die Elementfunktion nicht angegeben ist und SW_ERASE nicht angegeben ist, wird der ScrollWindowEx Bereich, der entfernt gescrollt wird, nicht ungültig. Wenn eines dieser Flags festgelegt ist, ScrollWindowEx wird dieser Bereich ungültig. Der Bereich wird erst aktualisiert, wenn die Anwendung die UpdateWindow Memberfunktion aufruft, die RedrawWindow Memberfunktion aufruft (angeben RDW_UPDATENOW oder angeben oder RDW_ERASENOW), oder ruft die WM_PAINT Nachricht aus der Anwendungswarteschlange ab.

Wenn das Fenster über die WS_CLIPCHILDREN Formatvorlage verfügt, werden die zurückgegebenen Bereiche angegeben prgnUpdate und lpRectUpdate stellen den Gesamtbereich des Fensters dar, das aktualisiert werden muss, einschließlich aller Bereiche in untergeordneten Fenstern, die aktualisiert werden müssen.

Wenn das SW_SCROLLCHILDREN Flag angegeben ist, aktualisiert Windows den Bildschirm nicht ordnungsgemäß, wenn ein Teil eines untergeordneten Fensters gescrollt wird. Der Teil des gescrollten untergeordneten Fensters, das sich außerhalb des Quellrechtecks befindet, wird nicht gelöscht und wird nicht ordnungsgemäß in seinem neuen Ziel neu gezeichnet. Verwenden Sie die DeferWindowPos Windows-Funktion, um untergeordnete Fenster zu verschieben, die nicht vollständig innerhalb des lpRectScroll Rechtecks liegen. Der Cursor wird neu positioniert, wenn die SW_SCROLLCHILDREN Kennzeichnung festgelegt ist und das Caretrechteck das Bildlaufrechteck überschneidet.

Alle Eingabe- und Ausgabekoordinaten (für lpRectScroll, lpRectClip, lpRectUpdateund prgnUpdate) werden als Clientkoordinaten angenommen, unabhängig davon, ob das Fenster über die CS_OWNDC Formatvorlage oder CS_CLASSDC den Klassenstil verfügt. Verwenden Sie die LPtoDP Funktionen und DPtoLP Windows, um bei Bedarf in logische Koordinaten und aus logischen Koordinaten zu konvertieren.

CWnd::SendChildNotifyLastMsg

Diese Memberfunktion wird vom Framework aufgerufen, um eine Benachrichtigung für ein untergeordnetes Fenster aus dem übergeordneten Fenster bereitzustellen, damit das untergeordnete Fenster eine Aufgabe verarbeiten kann.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parameter

pResult
Das vom untergeordneten Fenster generierte Ergebnis, das vom übergeordneten Fenster zurückgegeben wird.

Rückgabewert

Nonzero, wenn das untergeordnete Fenster die Nachricht verarbeitet hat, die an das übergeordnete Element gesendet wurde; andernfalls 0.

Hinweise

SendChildNotifyLastMsg senden Sie die aktuelle Nachricht an die Quelle, wenn es sich um eine Nachricht handelt, die angezeigt wird.

Weitere Informationen zur Nachrichtenreflektion finden Sie unter Behandeln von reflektierten Nachrichten.

CWnd::SendDlgItemMessage

Sendet eine Nachricht an ein Steuerelement.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parameter

nID
Gibt den Bezeichner des Dialogfeld-Steuerelements an, das die Nachricht empfängt.

message
Gibt die zu sendende Nachricht an.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

Rückgabewert

Gibt den wert an, der von der Fensterprozedur des Steuerelements zurückgegeben wird, oder 0, wenn das Steuerelement nicht gefunden wurde.

Hinweise

Die SendDlgItemMessage Memberfunktion wird erst zurückgegeben, wenn die Nachricht verarbeitet wurde.

Die Verwendung SendDlgItemMessage ist identisch mit dem Abrufen eines CWnd* für das angegebene Steuerelement und Aufrufen der SendMessage Memberfunktion.

Beispiel

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

Sendet die angegebene Nachricht an dieses Fenster.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parameter

message
Gibt die zu sendende Nachricht an.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

Rückgabewert

Das Ergebnis der Nachrichtenverarbeitung; der Wert hängt von der gesendeten Nachricht ab.

Hinweise

Die SendMessage Memberfunktion ruft die Fensterprozedur direkt auf und gibt erst zurück, wenn diese Fensterprozedur die Nachricht verarbeitet hat. Dies ist im Gegensatz zur PostMessage Memberfunktion, die die Nachricht in die Nachrichtenwarteschlange des Fensters eingibt und sofort zurückgibt.

Beispiel

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

Rufen Sie diese Memberfunktion auf, um die angegebene Windows-Nachricht an alle untergeordneten Fenster zu senden.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Parameter

message
Gibt die zu sendende Nachricht an.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

bDeep
Gibt die Ebene an, auf der gesucht werden soll. Wenn TRUE, rekursiv alle untergeordneten Elemente durchsuchen; wenn FALSE, suchen Sie nur direkte untergeordnete Elemente.

bOnlyPerm
Gibt an, ob die Nachricht von temporären Fenstern empfangen wird. Wenn TRUEtemporäre Fenster die Nachricht empfangen können; wenn FALSEnur dauerhafte Fenster die Nachricht erhalten. Weitere Informationen zu temporären Fenstern finden Sie unter Technical Note 3.

Hinweise

Wenn bDeep ja FALSE, wird die Nachricht nur an die unmittelbaren untergeordneten Elemente des Fensters gesendet. Andernfalls wird die Nachricht an alle untergeordneten Fenster gesendet.

Wenn bDeep und bOnlyPerm sind TRUE, wird die Suche unter temporären Fenstern fortgesetzt. In diesem Fall erhalten nur dauerhafte Fenster, die während der Suche aufgetreten sind, die Nachricht. Wenn bDeep ja FALSE, wird die Nachricht nur an die unmittelbaren untergeordneten Elemente des Fensters gesendet.

Beispiel

// 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

Sendet die angegebene Nachricht an das Fenster.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parameter

message
Gibt die zu sendende Nachricht an.

wParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

lParam
Gibt zusätzliche nachrichtenabhängige Informationen an.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Wenn das Fenster vom aufrufenden Thread erstellt wurde, ruft die Fensterprozedur für das Fenster auf und wird erst zurückgegeben, SendNotifyMessage wenn die Fensterprozedur die Nachricht verarbeitet hat. Wenn das Fenster von einem anderen Thread erstellt wurde, SendNotifyMessage wird die Nachricht an die Fensterprozedur übergeben und sofort zurückgegeben. Es wartet nicht, bis die Fensterprozedur die Verarbeitung der Nachricht abgeschlossen hat.

CWnd::SetActiveWindow

Macht CWnd das aktive Fenster.

CWnd* SetActiveWindow();

Rückgabewert

Das Fenster, das zuvor aktiv war.

Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Die SetActiveWindow Memberfunktion sollte mit Bedacht verwendet werden, da sie es einer Anwendung ermöglicht, das aktive Fenster und den Eingabefokus willkürlich zu übernehmen. Normalerweise kümmert sich Windows um die gesamte Aktivierung.

CWnd::SetCapture

Bewirkt, dass alle nachfolgenden Mauseingaben unabhängig von der Position des Cursors an das aktuelle CWnd Objekt gesendet werden.

CWnd* SetCapture();

Rückgabewert

Ein Zeiger auf das Fensterobjekt, das zuvor alle Mauseingaben empfangen hat. NULL Wenn es kein solches Fenster gibt. Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Wenn CWnd nicht mehr alle Mauseingaben erforderlich sind, sollte die Anwendung die ReleaseCapture Funktion aufrufen, damit andere Fenster Mauseingaben empfangen können.

Während die Mauseingabe erfasst wird, werden keine WM_NCHITTEST Nachrichten oder WM_SETCURSOR Nachrichten an das aktive Fenster gesendet.

CWnd::SetCaretPos

Legt die Position des Carets fest.

static void PASCAL SetCaretPos(POINT point);

Parameter

point
Gibt die neuen X- und Y-Koordinaten (in Clientkoordinaten) des Carets an.

Hinweise

Die SetCaretPos Memberfunktion verschiebt das Caret nur, wenn sie einem Fenster in der aktuellen Aufgabe gehört. SetCaretPos verschiebt das Caret, unabhängig davon, ob das Caret ausgeblendet ist.

Das Caret ist eine freigegebene Ressource. Ein Fenster sollte das Caret nicht verschieben, wenn es nicht das Caret besitzt.

Beispiel

// 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

Fügt dieses Fenster der Kette von Fenstern hinzu, die benachrichtigt werden (mithilfe der WM_DRAWCLIPBOARD Nachricht), wenn der Inhalt der Zwischenablage geändert wird.

HWND SetClipboardViewer();

Rückgabewert

Ein Handle zum nächsten Fenster in der Zwischenablage-Viewer-Kette, falls erfolgreich. Anwendungen sollten dieses Handle speichern (es kann als Membervariable gespeichert werden) und sie verwenden, wenn Sie auf Nachrichten der Zwischenablageanzeige reagieren.

Hinweise

Ein Fenster, das Teil der Zwischenablage-Viewer-Kette ist, muss auf Nachrichten WM_CHANGECBCHAINund Nachrichten reagieren WM_DRAWCLIPBOARDund WM_DESTROY die Nachricht an das nächste Fenster in der Kette übergeben.

Diese Memberfunktion sendet eine WM_DRAWCLIPBOARD Nachricht an das Fenster. Da das Handle zum nächsten Fenster in der Zwischenablage-Viewer-Kette noch nicht zurückgegeben wurde, sollte die Anwendung die WM_DRAWCLIPBOARD Nachricht, die sie während des Aufrufs SetClipboardViewerempfängt, nicht übergeben.

Um sich selbst aus der Zwischenablageanzeigekette zu entfernen, muss eine Anwendung die ChangeClipboardChain Memberfunktion aufrufen.

CWnd::SetDlgCtrlID

Legt die Fenster-ID oder Steuerelement-ID für das Fenster auf einen neuen Wert fest.

int SetDlgCtrlID(int nID);

Parameter

nID
Der neue Wert, der für den Bezeichner des Steuerelements festgelegt werden soll.

Rückgabewert

Der vorherige Bezeichner des Fensters, falls erfolgreich; andernfalls 0.

Hinweise

Das Fenster kann ein beliebiges untergeordnetes Fenster sein, nicht nur ein Steuerelement in einem Dialogfeld. Das Fenster kann kein Fenster der obersten Ebene sein.

CWnd::SetDlgItemInt

Legt den Text eines bestimmten Steuerelements in einem Dialogfeld auf die Zeichenfolgendarstellung eines angegebenen ganzzahligen Werts fest.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parameter

nID
Gibt die ganzzahlige ID des zu ändernden Steuerelements an.

nValue
Gibt den ganzzahligen Wert an, der zum Generieren des Elementtexts verwendet wird.

bSigned
Gibt an, ob der ganzzahlige Wert signiert oder nicht signiert ist. Wenn dieser Parameter ist TRUE, nValue ist signiert. Wenn dieser Parameter kleiner als 0 ist TRUEnValue , wird ein Minuszeichen vor der ersten Ziffer in der Zeichenfolge platziert. Ist dieser Parameter FALSE, nValue ist nicht signiert.

Hinweise

SetDlgItemInt sendet eine WM_SETTEXT Nachricht an das angegebene Steuerelement.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Legt den Untertitel oder Text eines Steuerelements fest, das einem Fenster oder Dialogfeld gehört.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parameter

nID
Identifiziert das Steuerelement, dessen Text festgelegt werden soll.

lpszString
Verweist auf ein Objekt oder eine CString mit Null beendete Zeichenfolge, die den Text enthält, der in das Steuerelement kopiert werden soll.

Hinweise

SetDlgItemText sendet eine WM_SETTEXT Nachricht an das angegebene Steuerelement.

Beispiel

// 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

Versetzt den Thread, durch den das Fenster erstellt wurde, in den Vordergrund und aktiviert das Fenster.

BOOL SetForegroundWindow();

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Die Tastatureingabe wird an das Fenster weitergeleitet, und verschiedene visuelle Hinweise werden für den Benutzer geändert. Das Vordergrundfenster ist das Fenster, mit dem der Benutzer gerade arbeitet. Das Vordergrundfenster gilt nur für Fenster der obersten Ebene (Rahmenfenster oder Dialogfelder).

Beispiel

Sehen Sie sich das Beispiel für CWnd::FindWindow.

CWnd::SetFocus

Beansprucht den Eingabefokus.

CWnd* SetFocus();

Rückgabewert

Ein Zeiger auf das Fensterobjekt, das zuvor den Eingabefokus hatte. NULL Wenn es kein solches Fenster gibt. Der zurückgegebene Zeiger kann temporär sein und sollte nicht gespeichert werden.

Hinweise

Der Eingabefokus leitet alle nachfolgenden Tastatureingaben an dieses Fenster weiter. Jedes Fenster, das zuvor den Eingabefokus hatte, verliert ihn.

Die SetFocus Memberfunktion sendet eine WM_KILLFOCUS Nachricht an das Fenster, das den Eingabefokus verliert, und eine WM_SETFOCUS Nachricht an das Fenster, das den Eingabefokus empfängt. Außerdem wird das Fenster oder das übergeordnete Element aktiviert.

Wenn das aktuelle Fenster aktiv ist, aber nicht den Fokus hat (d. h. kein Fenster hat den Fokus), erzeugt eine taste gedrückte Taste die Nachrichten WM_SYSCHAR, WM_SYSKEYDOWNoder WM_SYSKEYUP.

CWnd::SetFont

Sendet die WM_SETFONT Nachricht an das Fenster, um die angegebene Schriftart zu verwenden.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Parameter

pFont
Zeiger auf ein CFont Objekt.

bRedraw
TRUE damit das Fenster unmittelbar nach dem Verarbeiten der WM_SETFONT Nachricht neu gezeichnet wird; andernfalls FALSE.

Hinweise

Diese Methode hat keine Auswirkung, es sei denn, das Fenster verarbeitet die WM_SETFONT Nachricht. Viele MFC-Klassen, die von CWnd der Verarbeitung dieser Nachricht abgeleitet sind, weil sie an eine vordefinierte Fensterklasse angefügt sind, die einen Nachrichtenhandler für die WM_SETFONT Nachricht enthält. Um diese Methode zu verwenden, müssen Klassen, von denen Sie ableiten CWnd , einen Methodenhandler für die WM_SETFONT Nachricht definieren.

CWnd::SetIcon

Rufen Sie diese Memberfunktion auf, um das Handle auf ein bestimmtes Symbol festzulegen, wie durch hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parameter

hIcon
Ein Handle zu einem vorherigen Symbol.

bBigIcon
Gibt ein Symbol von 32 Pixel x 32 Pixel an, wenn TRUE; gibt ein Symbol von 16 Pixel x 16 Pixel an, wenn FALSE.

Rückgabewert

Ein Handle zu einem Symbol.

Hinweise

Wenn die Fensterklasse registriert ist, wird ein Symbol ausgewählt.

Beispiel

Sehen Sie sich das Beispiel für CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Legt die Deckkraft- und Transparenzfarbenschlüssel eines überlappenden Fensters fest.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parameter

crKey
Zeigen Sie auf einen COLORREF Wert, der den Transparenzfarbschlüssel angibt, der beim Verfassen des Mehrschichtfensters verwendet werden soll. Alle Pixel, die vom Fenster in dieser Farbe gezeichnet wurden, sind transparent. Verwenden Sie das RGB Makro, um ein COLORREFMakro zu generieren.

bAlpha
Alphawert, der verwendet wird, um die Deckkraft des überschichteten Fensters zu beschreiben. Weitere Informationen finden Sie im SourceConstantAlpha Element der BLENDFUNCTION Struktur. Wenn bAlpha 0 ist, ist das Fenster vollständig transparent. Bei bAlpha 255 ist das Fenster undurchsichtig.

dwFlags
Gibt eine auszuführende Aktion an. Dieser Parameter kann einen oder mehrere der folgenden Werte sein. Eine Liste der möglichen Werte finden Sie unter SetLayeredWindowAttributes.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion SetLayeredWindowAttributes, wie im Windows SDK beschrieben.

CWnd::SetMenu

Legt das aktuelle Menü auf das angegebene Menü fest.

BOOL SetMenu(CMenu* pMenu);

Parameter

pMenu
Identifiziert das neue Menü. Wenn dieser Parameter lautet NULL, wird das aktuelle Menü entfernt.

Rückgabewert

Nonzero, wenn das Menü geändert wird; andernfalls 0.

Hinweise

Bewirkt, dass das Fenster neu gezeichnet wird, um die Menüänderung widerzuspiegeln.

SetMenu zerstört kein vorheriges Menü. Eine Anwendung sollte die CMenu::DestroyMenu Memberfunktion aufrufen, um diese Aufgabe auszuführen.

Beispiel

Sehen Sie sich das Beispiel für CMenu::LoadMenu.

CWnd::SetOwner

Legt den Besitzer des aktuellen Fensters auf das angegebene Fensterobjekt fest.

void SetOwner(CWnd* pOwnerWnd);

Parameter

pOwnerWnd
Gibt den neuen Besitzer des Fensterobjekts an. Wenn dieser Parameter lautet NULL, hat das Fensterobjekt keinen Besitzer.

Hinweise

Dieser Besitzer kann dann Befehlsmeldungen aus dem aktuellen Fensterobjekt empfangen. Standardmäßig ist das übergeordnete Element des aktuellen Fensters der Besitzer.

Es ist häufig nützlich, Verbindungen zwischen Fensterobjekten herzustellen, die nicht mit der Fensterhierarchie verknüpft sind. Sendet beispielsweise CToolBar Benachrichtigungen an seinen Besitzer statt an das übergeordnete Element. Dadurch kann die Symbolleiste zum untergeordneten Element eines Fensters (z. B. eines OLE-Containeranwendungsfensters) werden, während Benachrichtigungen an ein anderes Fenster gesendet werden (z. B. das direkte Framefenster). Darüber hinaus wird beim Deaktivieren oder Aktivieren eines Serverfensters während der direkten Bearbeitung jedes Fensters im Besitz des Framefensters ausgeblendet oder angezeigt. Dieser Besitz wird explizit mit einem Aufruf festgelegt.SetOwner

Das Besitzkonzept dieser Funktion unterscheidet sich vom Besitzkonzept von GetWindow.

CWnd::SetParent

Ändert das übergeordnete Fenster eines untergeordneten Fensters.

CWnd* SetParent(CWnd* pWndNewParent);

Parameter

pWndNewParent
Identifiziert das neue übergeordnete Fenster.

Rückgabewert

Ein Zeiger auf das vorherige übergeordnete Fensterobjekt, falls erfolgreich. Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

Wenn das untergeordnete Fenster sichtbar ist, führt Windows das entsprechende Neurazieren und Aktualisieren durch.

CWnd::SetProperty

Rufen Sie diese Memberfunktion auf, um die ole-Steuerelementeigenschaft festzulegen, die durch dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parameter

dwDispID
Gibt die festzulegende Eigenschaft an.

vtProp
Gibt den Typ der festzulegenden Eigenschaft an. Mögliche Werte finden Sie im Abschnitt "Hinweise" für COleDispatchDriver::InvokeHelper.

...
Ein einzelner Parameter des durch vtPropangegebenen Typs.

Hinweise

Hinweis

Diese Funktion sollte nur für ein CWnd Objekt aufgerufen werden, das ein OLE-Steuerelement darstellt.

Weitere Informationen zur Verwendung dieser Memberfunktion mit OLE-Steuerelementcontainern finden Sie im Artikel ActiveX-Steuerelementcontainer: Programmieren von ActiveX-Steuerelementen in einem ActiveX-Steuerelementcontainer.

CWnd::SetRedraw

Eine Anwendung ruft auf SetRedraw , damit Änderungen neu gezeichnet werden können, oder um zu verhindern, dass Änderungen neu gezeichnet werden.

void SetRedraw(BOOL bRedraw = TRUE);

Parameter

bRedraw
Gibt den Zustand der Kennzeichnung "Neu zeichnen" an. Wenn dieser Parameter lautet, wird TRUEdas Kennzeichen neu gezeichnet; wenn FALSE, wird das Flag gelöscht.

Hinweise

Diese Memberfunktion legt das Kennzeichen für die Neuzeichnen fest oder löscht sie. Während das Kennzeichen "Neu zeichnen" gelöscht wird, wird der Inhalt nach jeder Änderung nicht aktualisiert und erst aktualisiert, wenn das Kennzeichen neu gezeichnet wird. Beispielsweise kann eine Anwendung, die mehrere Elemente zu einem Listenfeld hinzufügen muss, das Kennzeichen "Neu zeichnen" löschen, die Elemente hinzufügen und dann das Kennzeichen "Neu zeichnen" festlegen. Schließlich kann die Anwendung die Invalidate Funktion oder InvalidateRect Member aufrufen, damit das Listenfeld aktualisiert wird.

Beispiel

// 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

Rufen Sie diese Memberfunktion auf, um die Informationen festzulegen, die die SCROLLINFO Struktur Standard über eine Bildlaufleiste enthält.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parameter

nBar
Gibt an, ob es sich bei der Bildlaufleiste um ein Steuerelement oder einen Teil des Nichtclientbereichs eines Fensters handelt. Wenn sie Teil des Nichtclientbereichs ist, gibt nBar auch an, ob die Bildlaufleiste horizontal, vertikal oder beides positioniert ist. Es muss eine der folgenden Sein:

  • SB_CTL Enthält die Parameter für ein Bildlaufleisten-Steuerelement. Das m_hWnd Datenelement muss das Handle des Bildlaufleisten-Steuerelements sein.

  • SB_HORZ Gibt an, dass das Fenster eine horizontale Bildlaufleiste ist.

  • SB_VERT Gibt an, dass das Fenster eine vertikale Bildlaufleiste ist.

lpScrollInfo
Ein Zeiger auf eine SCROLLINFO Struktur. Weitere Informationen zu dieser Struktur finden Sie im Windows SDK.

bRedraw
Gibt an, ob die Bildlaufleiste neu gezeichnet werden soll, um die neue Position widerzuspiegeln. Wenn bRedraw ja TRUE, wird die Bildlaufleiste neu gezeichnet. Wenn dies der Grund ist FALSE, wird sie nicht neu gezeichnet. Die Bildlaufleiste wird standardmäßig neu gezeichnet.

Rückgabewert

Bei erfolgreicher Ausführung lautet TRUEdie Rückgabe . Andernfalls lautet der Wert FALSE.

Hinweise

Die SCROLLINFO Struktur enthält Informationen zu einer Bildlaufleiste, einschließlich der minimalen und maximalen Bildlaufpositionen, der Seitengröße und der Position des Bildlauffelds (Ziehpunkt). SCROLLINFO Weitere Informationen zum Ändern der Strukturstandardeinstellungen finden Sie im Thema "Struktur" im Windows SDK.

Die MFC Windows-Nachrichtenhandler, die die Bildlaufleistenposition angeben, CWnd::OnHScroll und CWnd::OnVScrollstellen nur 16 Bit Positionsdaten bereit. GetScrollInfo und SetScrollInfo stellen 32 Bits von Bildlaufleistenpositionsdaten bereit. Daher kann eine Anwendung während der Verarbeitung oder CWnd::OnHScrollCWnd::OnVScroll zum Abrufen von 32-Bit-Bildlaufleistenpositionsdaten aufrufenGetScrollInfo.

Hinweis

CWnd::GetScrollInfo ermöglicht Anwendungen die Verwendung von 32-Bit-Bildlaufleistenpositionen.

CWnd::SetScrollPos

Legt die aktuelle Position eines Bildlauffelds fest und bezieht die Bildlaufleiste bei Bedarf neu, um die neue Position des Bildlauffelds widerzuspiegeln.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parameter

nBar
Gibt die festzulegende Bildlaufleiste an. Dieser Parameter kann eine der folgenden Sein:

  • SB_HORZ Legt die Position des Bildlauffelds in der horizontalen Bildlaufleiste des Fensters fest.

  • SB_VERT Legt die Position des Bildlauffelds in der vertikalen Bildlaufleiste des Fensters fest.

nPos
Gibt die neue Position des Bildlauffelds an. Er muss sich innerhalb des Bildlaufbereichs befinden.

bRedraw
Gibt an, ob die Bildlaufleiste aktualisiert werden soll, um die neue Bildlauffeldposition widerzuspiegeln. Wenn dieser Parameter lautet TRUE, wird die Bildlaufleiste aktualisiert. Wenn FALSE, wird die Bildlaufleiste nicht aktualisiert.

Rückgabewert

Die vorherige Position des Bildlauffelds.

Hinweise

Die Einstellung bRedraw ist FALSE nützlich, wenn die Bildlaufleiste durch einen nachfolgenden Aufruf einer anderen Funktion neu gezeichnet wird.

CWnd::SetScrollRange

Legt die minimalen und maximalen Positionswerte für die angegebene Scrollleiste fest.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parameter

nBar
Gibt die festzulegende Bildlaufleiste an. Dieser Parameter kann eine der folgenden Werte sein:

  • SB_HORZ Legt den Bereich der horizontalen Bildlaufleiste des Fensters fest.

  • SB_VERT Legt den Bereich der vertikalen Bildlaufleiste des Fensters fest.

nMinPos
Gibt die minimale Bildlaufposition an.

nMaxPos
Gibt die maximale Bildlaufposition an.

bRedraw
Gibt an, ob die Bildlaufleiste neu gezeichnet werden soll, um die Änderung widerzuspiegeln. Ist dies TRUEder Grund, wird die Bildlaufleiste neu gezeichnet. Wenn bRedrawFALSE, wird die Bildlaufleiste nicht neu gezeichnet.

Hinweise

Sie kann auch verwendet werden, um Standard-Bildlaufleisten auszublenden oder anzuzeigen.

Eine Anwendung sollte diese Funktion nicht aufrufen, um eine Bildlaufleiste auszublenden, während eine Bildlaufleistenbenachrichtigung verarbeitet wird.

Wenn der Aufruf unmittelbar SetScrollRange auf einen Aufruf der SetScrollPos Memberfunktion folgt, sollte der bRedraw Parameter in der SetScrollPos Memberfunktion 0 sein, um zu verhindern, dass die Bildlaufleiste zweimal gezeichnet wird.

Der Standardbereich für eine Standard-Bildlaufleiste beträgt 0 bis 100. Der Standardbereich für ein Bildlaufleisten-Steuerelement ist leer (sowohl die Werte nMaxPos als auch die nMinPos Werte sind 0). Der Unterschied zwischen den angegebenen nMinPos Werten und nMaxPos darf nicht größer als sein INT_MAX.

CWnd::SetTimer

Installiert einen Systemtimer.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Parameter

nIDEvent
Gibt einen Zeitgeberbezeichner ungleich 0 (null) an. Wenn der Zeitgeberbezeichner eindeutig ist, wird von SetTimer der gleiche Wert zurückgegeben. Andernfalls wird von SetTimer ein neuer eindeutiger Wert festgelegt und zurückgegeben. Bei einem Fenstertimer (mit einer NULL Rückruffunktion) muss der Wert nur für andere Fenstertimer eindeutig sein, die dem aktuellen Fenster zugeordnet sind. Für einen Rückrufzeitgeber muss der Wert für alle Zeitgeber in allen Prozessen eindeutig sein. Beim Erstellen eines Rückruftimers ist es daher wahrscheinlicher, dass der zurückgegebene Wert von dem von Ihnen angegebenen Wert abweicht.

nElapse
Gibt den Timeoutwert oder Intervall in Millisekunden an.

lpfnTimer
Gibt die Adresse der vom Anwendung bereitgestellten TimerProc Rückruffunktion an, die die WM_TIMER Nachrichten verarbeitet. Wenn dieser Parameter lautet NULL, werden die WM_TIMER Nachrichten in der Nachrichtenwarteschlange der Anwendung platziert und vom CWnd Objekt behandelt.

Rückgabewert

Der Zeitgeberbezeichner des neuen Zeitgebers, wenn die Funktion erfolgreich ist. Dieser Wert kann dem wert entsprechen, der über den nIDEvent Parameter übergeben wird. Eine Anwendung sollte immer den Rückgabewert an die KillTimer Memberfunktion übergeben, um den Timer zu töten. Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).

Hinweise

Ein Intervallwert wird angegeben, und jedes Mal, wenn das Intervall verstrichen ist, sendet das System eine WM_TIMER Nachricht an die Installationsnachrichtenwarteschlange der Installationsanwendung oder übergibt die Nachricht an eine anwendungsdefinierte TimerProc Rückruffunktion.

Die lpfnTimer Rückruffunktion muss nicht benannt TimerProcwerden, aber sie muss wie folgt als statisch deklariert und definiert werden.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Beispiel

In diesem Beispiel werden Nachrichten verwendet CWnd::SetTimerCWnd::OnTimerund CWnd::KillTimer verarbeitetWM_TIMER. Der erste Timer ist so eingerichtet, dass eine WM_TIMER Nachricht alle 2 Sekunden an OnStartTimerdas Standard Framefenster gesendet wird. Der OnTimer Ereignishandler verarbeitet WM_TIMER Nachrichten für das Standard Framefenster. Bei dieser Methode piept der PC-Lautsprecher alle 2 Sekunden. Der zweite Zeitgeber sendet alle 3,75 Sekunden eine Meldung an die Rückruffunktion. OnStopTimer beendet beide Zeitgeber, indem für jede Zeitgeber-ID CWnd::KillTimer aufgerufen wird.

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

Rufen Sie diese Memberfunktion auf, um dem angegebenen Fenster einen Hilfekontextbezeichner zuzuordnen.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parameter

dwContextHelpId
Der Hilfekontextbezeichner.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Wenn ein untergeordnetes Fenster keinen Hilfekontextbezeichner enthält, erbt es den Bezeichner des übergeordneten Fensters. Ebenso erbt ein eigenes Fenster, wenn kein Hilfekontextbezeichner vorhanden ist, er erbt den Bezeichner des Besitzerfensters. Diese Vererbung von Hilfekontextbezeichnern ermöglicht es einer Anwendung, nur einen Bezeichner für ein Dialogfeld und alle zugehörigen Steuerelemente festzulegen.

Beispiel

// 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

Legt den Anzeigestatus und die normalen (wiederhergestellt), minimierten und maximierten Positionen für ein Fenster fest.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Parameter

lpwndpl
Verweist auf eine WINDOWPLACEMENT Struktur, die den neuen Anzeigezustand und die neuen Positionen angibt.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

CWnd::SetWindowPos

Ändert die Größe, Position und Z-Reihenfolge von untergeordneten, Popup- und Fenstern der obersten Ebene.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parameter

pWndInsertAfter
Identifiziert das CWnd Objekt, das diesem CWnd Objekt in der Z-Reihenfolge vorausgeht (höher als). Dieser Parameter kann ein Zeiger auf einen CWnd oder einen Zeiger auf einen der folgenden Werte sein:

  • wndBottom Platziert das Fenster am unteren Rand der Z-Reihenfolge. Wenn es CWnd sich um ein oberstes Fenster handelt, verliert das Fenster seinen obersten Status. Das System platziert das Fenster am unteren Rand aller anderen Fenster.

  • wndTop Platziert das Fenster oben in der Z-Reihenfolge.

  • wndTopMost Platziert das Fenster über allen Fenstern, die nicht oberster Rand sind. Das Fenster Standard die oberste Position auch dann, wenn es deaktiviert wird.

  • wndNoTopMost Positioniert das Fenster am oberen Rand aller nicht obersten Fenster (d. r. hinter allen obersten Fenstern). Dieses Kennzeichen hat keine Auswirkung, wenn das Fenster bereits ein nicht oberstes Fenster ist.

Regeln zur Verwendung dieses Parameters finden Sie im Abschnitt "Hinweise" dieses Themas.

x
Gibt die neue Position der linken Seite des Fensters an.

y
Gibt die neue Position des oberen Fensterrands an.

cx
Gibt die neue Breite des Fensters an.

cy
Gibt die neue Höhe des Fensters an.

nFlags
Gibt Größen- und Positionierungsoptionen an. Dieser Parameter kann eine Kombination der folgenden Flags sein:

  • SWP_DRAWFRAME Zeichnet einen Rahmen (definiert beim Erstellen des Fensters) um das Fenster.

  • SWP_FRAMECHANGED Sendet eine WM_NCCALCSIZE Nachricht an das Fenster, auch wenn die Größe des Fensters nicht geändert wird. Wenn dieses Kennzeichen nicht angegeben ist, wird nur gesendet, WM_NCCALCSIZE wenn die Größe des Fensters geändert wird.

  • SWP_HIDEWINDOW Blendet das Fenster aus.

  • SWP_NOACTIVATE Aktiviert das Fenster nicht. Wenn dieses Kennzeichen nicht festgelegt ist, wird das Fenster aktiviert und in die oberste oder nicht oberste Gruppe verschoben (abhängig von der Einstellung des pWndInsertAfter Parameters).

  • SWP_NOCOPYBITSEntfernt Karte den gesamten Inhalt des Clientbereichs. Wenn dieses Kennzeichen nicht angegeben ist, werden die gültigen Inhalte des Clientbereichs gespeichert und wieder in den Clientbereich kopiert, nachdem das Fenster angepasst oder neu positioniert wurde.

  • SWP_NOMOVE Behält die aktuelle Position bei (ignoriert die x Parameter y ).

  • SWP_NOOWNERZORDER Ändert die Position des Besitzerfensters in der Z-Reihenfolge nicht.

  • SWP_NOREDRAW Änderungen werden nicht neu gezeichnet. Wenn dieses Kennzeichen festgelegt ist, tritt keine Aktualisierung jeglicher Art auf. Dies gilt für den Clientbereich, den Nichtclientbereich (einschließlich Titel und Bildlaufleisten) und einen Teil des übergeordneten Fensters, der als Ergebnis des verschobenen Fensters aufgedeckt wird. Wenn dieses Kennzeichen festgelegt ist, muss die Anwendung alle Teile des Fensters und des übergeordneten Fensters explizit ungültig oder neu zeichnen, die neu gezeichnet werden müssen.

  • SWP_NOREPOSITION Identisch mit SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Verhindert, dass das Fenster die WM_WINDOWPOSCHANGING Nachricht empfängt.

  • SWP_NOSIZE Behält die aktuelle Größe bei (ignoriert die cx Parameter cy ).

  • SWP_NOZORDER Behält die aktuelle Reihenfolge bei (ignoriert pWndInsertAfter).

  • SWP_SHOWWINDOW Zeigt das Fenster an.

Rückgabewert

Nonzero, wenn die Funktion erfolgreich ist; andernfalls 0.

Hinweise

Windows wird nach ihrer Z-Reihenfolge auf dem Bildschirm sortiert; Das Fenster oben in der Z-Reihenfolge wird oben auf allen anderen Fenstern in der Reihenfolge angezeigt.

Alle Koordinaten für untergeordnete Fenster sind Clientkoordinaten (relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Fensters).

Ein Fenster kann an den Anfang der Z-Reihenfolge verschoben werden, indem sie entweder den pWndInsertAfter Parameter auf &wndTopMost festlegen und sicherstellen, dass das SWP_NOZORDER Kennzeichen nicht festgelegt ist, oder indem die Z-Reihenfolge eines Fensters so festgelegt wird, dass es sich über allen vorhandenen obersten Fenstern befindet. Wenn ein nicht oberstes Fenster ganz oben erstellt wird, werden auch die eigenen Fenster ganz oben erstellt. Ihre Besitzer werden nicht geändert.

Ein oberstes Fenster befindet sich nicht mehr ganz oben, wenn es am unteren () Rand (&wndBottom) der Z-Reihenfolge oder nach einem Fenster, das nicht ganz oben ist, neu positioniert wird. Wenn ein oberstes Fenster nicht ganz oben erstellt wird, werden alle Besitzer und die eigenen Fenster ebenfalls nicht oberste Fenster erstellt.

Wenn weder SWP_NOACTIVATE angegeben noch SWP_NOZORDER angegeben wird (d. a. wenn die Anwendung anfordert, dass ein Fenster gleichzeitig aktiviert und in der angegebenen Z-Reihenfolge platziert wird), wird der angegebene pWndInsertAfter Wert nur unter den folgenden Umständen verwendet:

  • Weder &wndTopMost noch &wndNoTopMost im pWndInsertAfter Parameter angegeben.

  • Dieses Fenster ist nicht das aktive Fenster.

Eine Anwendung kann ein inaktives Fenster nicht aktivieren, ohne es auch an den Anfang der Z-Reihenfolge zu bringen. Anwendungen können die Z-Reihenfolge eines aktivierten Fensters ohne Einschränkungen ändern.

Ein nicht oberstes Fenster besitzt möglicherweise ein oberstes Fenster, aber nicht umgekehrt. Jedes Fenster (z. B. ein Dialogfeld) im Besitz eines obersten Fensters ist selbst ein oberstes Fenster, um sicherzustellen, dass alle eigenen Fenster über ihrem Besitzer bleiben.

Mit Windows-Versionen 3.1 und höher können Fenster an den Anfang der Z-Reihenfolge verschoben und dort gesperrt werden, indem sie ihre WS_EX_TOPMOST Stile festlegen. Ein solches oberstes Fenster Standard die oberste Position auch dann bei deaktivierter Position. Wenn Sie beispielsweise den Befehl "WinHelp Always On Top" auswählen, wird das Hilfefenster ganz oben angezeigt, und es wird dann wieder angezeigt Standard wenn Sie zu Ihrer Anwendung zurückkehren.

Wenn Sie ein oberstes Fenster erstellen möchten, rufen Sie SetWindowPos den Parameter auf &wndTopMost, oder legen Sie die WS_EX_TOPMOST Formatvorlage fest, wenn Sie pWndInsertAfter das Fenster erstellen.

Wenn die Z-Reihenfolge Fenster mit der WS_EX_TOPMOST Formatvorlage enthält, wird ein Fenster, das mit dem &wndTopMost Wert verschoben wird, am oberen Rand aller nicht obersten Fenster platziert, aber unter allen obersten Fenstern. Wenn eine Anwendung ein inaktives Fenster ohne das WS_EX_TOPMOST Bit aktiviert, wird das Fenster oberhalb aller nicht obersten Fenster, aber unter allen obersten Fenstern verschoben.

Wenn SetWindowPos der pWndInsertAfter Parameter aufgerufen wird und CWnd ein oberstes Fenster ist&wndBottom, verliert das Fenster seinen obersten Status (WS_EX_TOPMOST wird gelöscht) und das System platziert das Fenster am unteren Rand der Z-Reihenfolge.

Beispiel

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

Rufen Sie diese Memberfunktion auf, um den Bereich eines Fensters festzulegen.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parameter

hRgn
Ein Handle zu einem Bereich.

bRedraw
Wenn TRUEdas Betriebssystem das Fenster nach dem Festlegen des Bereichs neu gezeichnet hat, andernfalls nicht. Legen Sie bRedraw in der Regel fest TRUE , ob das Fenster sichtbar ist. Wenn diese Einstellung TRUEfestgelegt ist, sendet das System die Nachrichten und die WM_WINDOWPOSCHANGING Nachrichten WM_WINDOWPOSCHANGED an das Fenster.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null. Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Die Koordinaten des Fensterbereichs eines Fensters sind relativ zur oberen linken Ecke des Fensters, nicht zum Clientbereich des Fensters.

Nach einem erfolgreichen Aufruf SetWindowRgndes Betriebssystems besitzt das Betriebssystem die vom Regionshandle hRgnangegebene Region. Das Betriebssystem führt keine Kopie der Region aus. Führen Sie daher keine weiteren Funktionsaufrufe mit diesem Regionshandle durch, und schließen Sie dieses Regionshandle nicht.

CWnd::SetWindowText

Legt den Titel des Fensters auf den angegebenen Text fest.

void SetWindowText(LPCTSTR lpszString);

Parameter

lpszString
Verweist auf ein Objekt oder eine CString mit Null beendete Zeichenfolge, die als neuer Titel oder Steuerelementtext verwendet werden soll.

Hinweise

Wenn es sich bei dem Fenster um ein Steuerelement handelt, wird der Text innerhalb des Steuerelements festgelegt.

Diese Funktion bewirkt, dass eine WM_SETTEXT Nachricht an dieses Fenster gesendet wird.

Beispiel

// 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

Zeigt das Caret auf dem Bildschirm an der aktuellen Position des Carets an.

void ShowCaret();

Hinweise

Sobald die Anzeige erfolgt, blinkt das Caretzeichen automatisch auf.

Die ShowCaret Memberfunktion zeigt das Caret nur an, wenn es über ein aktuelles Shape verfügt und nicht zwei oder mehr Male aufeinander folgenden ausgeblendet wurde. Wenn das Caret nicht im Besitz dieses Fensters ist, wird das Caret nicht angezeigt.

Das Ausblenden des Carets ist kumulativ. Wenn die HideCaret Memberfunktion fünf mal aufeinander folgende Aufrufe ausgeführt wurde, muss sie fünf Mal aufgerufen werden, ShowCaret um das Caret anzuzeigen.

Das Caret ist eine freigegebene Ressource. Das Fenster sollte das Caret nur anzeigen, wenn er den Eingabefokus hat oder aktiv ist.

Beispiel

Sehen Sie sich das Beispiel für CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Blendet alle Popupfenster ein, die sich im Besitz dieses Fensters befinden.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parameter

bShow
Gibt an, ob Popupfenster angezeigt oder ausgeblendet werden sollen. Wenn dieser Parameter lautet TRUE, werden alle ausgeblendeten Popupfenster angezeigt. Wenn dieser Parameter lautet FALSE, werden alle sichtbaren Popupfenster ausgeblendet.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SetWindowPos.

CWnd::ShowScrollBar

Blendet eine Bildlaufleiste ein oder aus.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parameter

nBar
Gibt an, ob es sich bei der Bildlaufleiste um ein Steuerelement oder einen Teil des Nichtclientbereichs eines Fensters handelt. Wenn sie Teil des Nichtclientbereichs ist, gibt auch an, nBar ob die Bildlaufleiste horizontal, vertikal oder beides positioniert ist. Es muss eine der folgenden Sein:

  • SB_BOTH Gibt die horizontalen und vertikalen Bildlaufleisten des Fensters an.

  • SB_HORZ Gibt an, dass das Fenster eine horizontale Bildlaufleiste ist.

  • SB_VERT Gibt an, dass das Fenster eine vertikale Bildlaufleiste ist.

bShow
Gibt an, ob Windows die Bildlaufleiste ein- oder ausblendet. Wenn dieser Parameter lautet TRUE, wird die Bildlaufleiste angezeigt. Andernfalls ist die Bildlaufleiste ausgeblendet.

Hinweise

Eine Anwendung sollte nicht aufrufen ShowScrollBar , um eine Bildlaufleiste auszublenden, während eine Bildlaufleistenbenachrichtigung verarbeitet wird.

CWnd::ShowWindow

Legt den Sichtbarkeitsstatus des Fensters fest.

BOOL ShowWindow(int nCmdShow);

Parameter

nCmdShow
Gibt an, wie dies CWnd angezeigt werden soll. Es muss sich um einen der folgenden Werte handeln:

  • SW_HIDE Blendet dieses Fenster aus und übergibt die Aktivierung an ein anderes Fenster.

  • SW_MINIMIZE Minimiert das Fenster und aktiviert das Fenster auf oberster Ebene in der Liste des Systems.

  • SW_RESTORE Aktiviert und zeigt das Fenster an. Wenn das Fenster minimiert oder maximiert ist, stellt Windows es in seiner ursprünglichen Größe und Position wieder her.

  • SW_SHOW Aktiviert das Fenster und zeigt es in seiner aktuellen Größe und Position an.

  • SW_SHOWMAXIMIZED Aktiviert das Fenster und zeigt es als maximiertes Fenster an.

  • SW_SHOWMINIMIZED Aktiviert das Fenster und zeigt es als Symbol an.

  • SW_SHOWMINNOACTIVE Zeigt das Fenster als Symbol an. Das fenster, das derzeit aktiv ist Standard s aktiv.

  • SW_SHOWNA Zeigt das Fenster im aktuellen Zustand an. Das fenster, das derzeit aktiv ist Standard s aktiv.

  • SW_SHOWNOACTIVATE Zeigt das Fenster in seiner aktuellen Größe und Position an. Das fenster, das derzeit aktiv ist Standard s aktiv.

  • SW_SHOWNORMAL Aktiviert und zeigt das Fenster an. Wenn das Fenster minimiert oder maximiert ist, stellt Windows es in seiner ursprünglichen Größe und Position wieder her.

Rückgabewert

Nonzero, wenn das Fenster zuvor sichtbar war; 0, wenn die CWnd zuvor ausgeblendet wurde.

Hinweise

ShowWindowmuss pro Anwendung nur einmal pro Anwendung für das Standard Fenster mit CWinApp::m_nCmdShowaufgerufen werden. Nachfolgende Aufrufe müssen ShowWindow einen der oben aufgeführten Werte anstelle der durch CWinApp::m_nCmdShow.

Beispiel

Sehen Sie sich das Beispiel für CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Rufen Sie diese Memberfunktion auf, um ein steuerelement, das aus einer Dialogvorlage erstellt wurde, "dynamisch unterklassig" zu verwenden und an dieses CWnd Objekt anzufügen.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parameter

nID
Die ID des Steuerelements.

pParent
Das übergeordnete Element des Steuerelements (in der Regel ein Dialogfeld).

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Wenn ein Steuerelement dynamisch unterklassig ist, werden Windows-Nachrichten über die CWndNachrichtenzuordnung weitergeleitet und Nachrichtenhandler in der CWndKlasse zuerst aufgerufen. Nachrichten, die an die Basisklasse übergeben werden, werden an den Standardnachrichtenhandler im Steuerelement übergeben.

Diese Memberfunktion fügt das Windows-Steuerelement an ein CWnd Objekt an und ersetzt die Steuerelemente WndProc und AfxWndProc Funktionen. Die Funktion speichert die alte WndProc position, die von der GetSuperWndProcAddr Memberfunktion zurückgegeben wird.

Beispiel

// 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

Rufen Sie diese Memberfunktion auf, um ein Fenster dynamisch zu unterklassen und an dieses CWnd Objekt anzufügen.

BOOL SubclassWindow(HWND hWnd);

Parameter

hWnd
Ein Handle für das Fenster.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Wenn ein Fenster dynamisch unterklassig ist, leitet Windows-Nachrichten zuerst über die CWndNachrichtenzuordnung und rufen Nachrichtenhandler in der CWndKlasse auf. Nachrichten, die an die Basisklasse übergeben werden, werden an den Standardnachrichtenhandler im Fenster übergeben.

Diese Memberfunktion fügt das Windows-Steuerelement an ein CWnd Objekt an und ersetzt die Fenster WndProc und AfxWndProc Funktionen. Die Funktion speichert einen Zeiger auf die alte WndProc im CWnd Objekt.

Hinweis

Das Fenster darf nicht bereits an ein MFC-Objekt angefügt werden, wenn diese Funktion aufgerufen wird.

Beispiel

// 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

Rufen Sie diese Memberfunktion auf, um ein Fenster zu entsperren, das mit CWnd::LockWindowUpdategesperrt wurde.

void UnlockWindowUpdate();

Hinweise

Es kann jeweils nur ein Fenster gesperrt LockWindowUpdatewerden. Weitere Informationen zum Sperren von Fenstern finden Sie CWnd::LockWindowUpdate unter der Win32-Funktion LockWindowUpdate .

CWnd::UnsubclassWindow

Rufen Sie diese Memberfunktion auf, um auf den ursprünglichen Wert zurückgesetzt zu werden WndProc , und trennen Sie das von HWND identifizierte Fenster vom CWnd Objekt.

HWND UnsubclassWindow();

Rückgabewert

Ein Handle für das nicht klassifizierte Fenster.

Beispiel

Sehen Sie sich das Beispiel für CWnd::SubclassWindow.

CWnd::UpdateData

Rufen Sie diese Memberfunktion auf, um Daten in einem Dialogfeld zu initialisieren oder Dialogfelddaten abzurufen und zu überprüfen.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parameter

bSaveAndValidate
Flag, das angibt, ob das Dialogfeld initialisiert (FALSE) oder Daten abgerufen werden (TRUE).

Rückgabewert

Nonzero, wenn der Vorgang erfolgreich ist; andernfalls 0. Wenn bSaveAndValidate dies der Wert ist TRUE, bedeutet ein Rückgabewert von nonzero, dass die Daten erfolgreich überprüft werden.

Hinweise

Das Framework ruft automatisch auf, auf FALSEbSaveAndValidate das festgelegt wird, wenn ein modales Dialogfeld in der Standardimplementierung UpdateData von CDialog::OnInitDialog. Der Aufruf tritt auf, bevor das Dialogfeld sichtbar ist. Die Standardimplementierung von CDialog::OnOK Aufrufen dieser Memberfunktion, die bSaveAndValidate zum TRUE Abrufen der Daten festgelegt ist und bei erfolgreicher Ausführung das Dialogfeld schließt. (Wenn im Dialogfeld auf die Schaltfläche "Abbrechen" geklickt wird, wird das Dialogfeld geschlossen, ohne dass die Daten abgerufen werden.)

CWnd::UpdateDialogControls

Rufen Sie diese Memberfunktion auf, um den Status von Dialogfeldschaltflächen und anderen Steuerelementen in einem Dialogfeld oder Fenster zu aktualisieren, das den ON_UPDATE_COMMAND_UI Rückrufmechanismus verwendet.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parameter

pTarget
Verweist auf das Standard Framefenster der Anwendung und wird zum Weiterleiten von Updatenachrichten verwendet.

bDisableIfNoHndler
Flag, das angibt, ob ein Steuerelement ohne Updatehandler automatisch als deaktiviert angezeigt werden soll.

Hinweise

Wenn ein untergeordnetes Steuerelement keinen Handler besitzt und bDisableIfNoHndler ist TRUE, wird das untergeordnete Steuerelement deaktiviert.

Das Framework ruft diese Memberfunktion für Steuerelemente in Dialogfeldleisten oder Symbolleisten als Teil der Leerlaufverarbeitung der Anwendung auf.

CWnd::UpdateLayeredWindow

Aktualisiert die Position, Größe, Form, Inhalte und Lichtdurchlässigkeit eines überlappenden Fensters.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Parameter

pDCDst
Ein Zeiger auf einen Gerätekontext für den Bildschirm. Sie wird für den Farbabgleich der Palette verwendet, wenn der Fensterinhalt aktualisiert wird. Ist pDCDst dies NULLder Grund, wird die Standardpalette verwendet.

Wenn pDCSrc ja NULL, pDCDst muss es sich um NULL.

pptDst
Ein Zeiger auf eine POINT Struktur, die die neue Bildschirmposition des überschichteten Fensters angibt. Wenn sich die aktuelle Position nicht ändert, pptDst kann dies sein NULL.

psize
Zeigen Sie auf eine SIZE Struktur, die die neue Größe des überschichteten Fensters angibt. Wenn sich die Größe des Fensters nicht ändert, psize kann dies sein NULL.

Wenn pDCSrc ja NULL, psize muss es sich um NULL.

pDCSrc
Ein Zeiger auf einen DC für die Oberfläche, die das überschichtete Fenster definiert. Wenn sich das Shape und der visuelle Kontext des Fensters nicht ändern, pDCSrc kann dies sein NULL.

pptSrc
Zeigen Sie auf eine POINT Struktur, die die Position der Ebene im Gerätekontext angibt.

Wenn pDCSrc jaNULL, pptSrc sollte .NULL

crKey
Zeigen Sie auf einen COLORREF Wert, der den Transparenzfarbschlüssel angibt, der beim Verfassen des Mehrschichtfensters verwendet werden soll. Alle Pixel, die vom Fenster in dieser Farbe gezeichnet wurden, sind transparent. Verwenden Sie zum Generieren eines COLORREFRGB-Makros das RGB-Makro.

pblend
Zeigen Sie auf eine BLENDFUNCTION Struktur, die den Transparenzwert angibt, der beim Verfassen des mehrschichtigen Fensters verwendet werden soll.

dwFlags
Gibt eine auszuführende Aktion an. Dieser Parameter kann einen oder mehrere der folgenden Werte sein. Eine Liste der möglichen Werte finden Sie unter UpdateLayeredWindow.

Rückgabewert

Ist ungleich null (0), wenn die Funktion erfolgreich ausgeführt wird, andernfalls null (0).

Hinweise

Diese Memberfunktion emuliert die Funktionalität der Funktion UpdateLayeredWindow, wie im Windows SDK beschrieben.

CWnd::UpdateWindow

Aktualisiert den Clientbereich, indem eine WM_PAINT Nachricht gesendet wird, wenn der Aktualisierungsbereich nicht leer ist.

void UpdateWindow();

Hinweise

Die UpdateWindow Memberfunktion sendet eine WM_PAINT Nachricht direkt, um die Anwendungswarteschlange zu umgehen. Wenn der Aktualisierungsbereich leer ist, WM_PAINT wird er nicht gesendet.

Beispiel

// 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

Überprüft den Clientbereich innerhalb des angegebenen Rechtecks, indem das Rechteck aus dem Aktualisierungsbereich des Fensters entfernt wird.

void ValidateRect(LPCRECT lpRect);

Parameter

lpRect
Verweist auf ein Objekt oder RECT eine CRect Struktur, das Clientkoordinaten des Rechtecks enthält, das aus dem Aktualisierungsbereich entfernt werden soll. Wenn lpRect ja NULL, wird das gesamte Fenster überprüft.

Hinweise

Die BeginPaint Memberfunktion überprüft automatisch den gesamten Clientbereich. Weder die ValidateRect Memberfunktion noch die ValidateRgn Memberfunktion sollten aufgerufen werden, wenn ein Teil der Aktualisierungsregion überprüft werden muss, bevor WM_PAINT es als nächstes generiert wird.

Windows generiert WM_PAINT weiterhin Nachrichten, bis der aktuelle Updatebereich überprüft wird.

CWnd::ValidateRgn

Überprüft den Clientbereich innerhalb der angegebenen Region, indem die Region aus dem aktuellen Updatebereich des Fensters entfernt wird.

void ValidateRgn(CRgn* pRgn);

Parameter

pRgn
Ein Zeiger auf ein CRgn Objekt, das einen Bereich identifiziert, der den Bereich definiert, der aus dem Aktualisierungsbereich entfernt werden soll. Wenn dieser Parameter lautet NULL, wird der gesamte Clientbereich entfernt.

Hinweise

Die angegebene Region muss zuvor von einer Regionsfunktion erstellt worden sein. Die Regionskoordinaten werden als Clientkoordinaten angenommen.

Die BeginPaint Memberfunktion überprüft automatisch den gesamten Clientbereich. Weder die ValidateRect Memberfunktion noch die ValidateRgn Memberfunktion sollten aufgerufen werden, wenn ein Teil des Aktualisierungsbereichs überprüft werden muss, bevor die nächste WM_PAINT Nachricht generiert wird.

CWnd::WindowFromPoint

Ruft das Fenster ab, das den angegebenen Punkt enthält; point muss die Bildschirmkoordinaten eines Punkts auf dem Bildschirm angeben.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parameter

point
Gibt ein Objekt oder POINT eine CPoint Datenstruktur an, die den zu überprüfenden Punkt definiert.

Rückgabewert

Ein Zeiger auf das Fensterobjekt, in dem der Punkt liegt. Es ist, wenn am angegebenen Punkt kein Fenster vorhanden ist NULL . Der zurückgegebene Zeiger kann temporär sein und sollte nicht zur späteren Verwendung gespeichert werden.

Hinweise

WindowFromPoint ruft kein ausgeblendetes oder deaktiviertes Fenster ab, auch wenn sich der Punkt innerhalb des Fensters befindet. Eine Anwendung sollte die ChildWindowFromPoint Memberfunktion für eine nicht eingeschränkte Suche verwenden.

CWnd::WindowProc

Stellt eine Windows-Prozedur (WindowProc) für ein CWnd Objekt bereit.

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

Parameter

message
Gibt die Windows-Nachricht an, die verarbeitet werden soll.

wParam
Stellt zusätzliche Informationen bereit, die bei der Verarbeitung der Nachricht verwendet werden. Der Parameterwert hängt von der Nachricht ab.

lParam
Stellt zusätzliche Informationen bereit, die bei der Verarbeitung der Nachricht verwendet werden. Der Parameterwert hängt von der Nachricht ab.

Rückgabewert

Der Rückgabewert hängt von der Nachricht ab.

Hinweise

Sie verteilt Nachrichten über die Nachrichtenzuordnung des Fensters.

CWnd::WinHelp

Wird aufgerufen, um die WinHelp-Anwendung zu initiieren.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parameter

dwData
Gibt zusätzliche Daten an. Der verwendete Wert hängt vom Wert des nCmd Parameters ab.

nCmd
Gibt den Typ der angeforderten Hilfe an. Eine Liste der möglichen Werte und deren Auswirkungen auf den dwData Parameter finden Sie in der WinHelp Windows-Funktion im Windows SDK.

Hinweise

Weitere Informationen finden Sie unter CWinApp::WinHelp.

CWnd::RegisterTouchWindow

Registriert oder hebt die Registrierung der Windows-Touchunterstützung auf.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parameter

bRegister
TRUE gibt an, dass die Windows-Touchunterstützung registriert wird; FALSE Andernfalls.

ulFlags
Eine Gruppe von Bitkennzeichnungen, die optionale Änderungen angeben. Dieses Feld kann 0 oder einen der folgenden Werte enthalten: TWF_FINETOUCH, TWF_WANTPALM.

Rückgabewert

TRUE, wenn erfolgreich, andernfalls FALSE.

Hinweise

CWnd::ResizeDynamicLayout

Wird durch das Framework aufgerufen, wenn sich die Fenstergröße ändert, um das Layout der untergeordneten Fenster anzupassen, wenn das dynamische Layout für das Fenster aktiviert ist.

virtual void ResizeDynamicLayout();

Hinweise

Siehe auch

CCmdTarget Klasse
Hierarchiediagramm
CFrameWnd Klasse
CView Klasse