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_hWnd zurü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 On Message 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 TrackMouseEvent angegebenen 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 TrackMouseEvent angegebenen 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 TrackMouseEvent angegebenen 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 TrackMouseEvent angegeben 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 CWnd Angefü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
, CView
und CDialog
, sind für die weitere Ableitung konzipiert. Die von , zCButton
. B. , abgeleiteten CWnd
Steuerelementklassen können direkt verwendet werden oder zur weiteren Ableitung von Klassen verwendet werden.
Weitere Informationen zur Verwendung CWnd
finden Sie unter Frame Windows
" Window Objects".
Vererbungshierarchie
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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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::MDIIconArrange
auf.
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 EndPaint
hinaus 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 Invalidate
Funktionen , InvalidateRect
oder 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 DataSource
Datenquellensteuerelement definiert ist. UserName
Password
SQL
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_VARIANT
usw.
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 relativ zum Hauptfenster der Anwendung von CDialog::OnInitDialog
bis zu mittleren Dialogfeldern 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::GetDesktopWindow
pAlternateOwner
zurü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 aus den 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 CWnd
zurü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::PreCreateWindow
weist nun dem Zeiger das hMenu
this
Element des CREATESTRUCT
Parameters zu, wenn das Menü und die Formatvorlage enthalten WS_CHILD
istNULL
. Stellen Sie für die ordnungsgemäße Funktionalität sicher, dass das Dialogfeldsteuerelement über eine ID verfügt, die nicht NULL
angegeben 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::CreateBitmap
CreateDIBitmap
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 CLSID
in 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 NULL
die 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 NULL
sollte es sich um einen Zeiger auf ein CFile
abgeleitetes 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 CreateControl
festgelegt 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 TRUE
einen . 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 eineBorderStyle
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 derWS_GROUP
Formatvorlage definiert sind, gehören zur gleichen Gruppe. Das nächste Steuerelement mit derWS_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 derWS_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::PreCreateWindow
weist nun dem Zeiger das hMenu
this
Element des CREATESTRUCT
Parameters zu, wenn das Menü und die Formatvorlage enthalten WS_CHILD
istNULL
. Stellen Sie für die ordnungsgemäße Funktionalität sicher, dass das Dialogfeldsteuerelement über eine ID verfügt, die nicht NULL
angegeben 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.
DestroyWindow
ist ein Platzhalter für die Bereinigung. Da DestroyWindow
es sich um eine virtuelle Funktion handelt, wird sie in jeder CWnd
abgeleiteten Klasse in der Klassenansicht angezeigt. Aber selbst wenn Sie diese Funktion in Ihrer CWnd
abgeleiteten 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 CView
abgeleiteten Klasse außer Kraft gesetztDestroyWindow
. Da der MFC-Quellcode keine der CFrameWnd
abgeleiteten 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
Ein Beispiel hierfür finden Sie unter 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
Archiv.DDL_POSTMSGS
LB_DIR
Flagge. Wenn dieLB_DIR
Kennzeichnung festgelegt ist, platziert Windows die vonDlgDirList
der Anwendung generierten Nachrichten in der Warteschlange. Andernfalls werden sie direkt an die Dialogfeldprozedur gesendet.DDL_DRIVES
Antriebe. Wenn dieDDL_DRIVES
Kennzeichnung festgelegt ist, wird dieDDL_EXCLUSIVE
Kennzeichnung automatisch festgelegt. Um eine Verzeichnisauflistung zu erstellen, die Laufwerke und Dateien enthält, müssen Sie daher zweimal aufrufenDlgDirList
: einmal mit demDDL_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 lpPathSpec
Pfad 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 einen Wildcardnamen enthalten muss. Bei den Platzhaltern handelt es sich um ein Fragezeichen (?), was bedeutet, dass es sich um ein beliebiges Zeichen handelt, und ein Sternchen (*), was bedeutet, dass es sich um eine beliebige Anzahl von Zeichen handelt.
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
Archiv.DDL_POSTMSGS
CB_DIR
Flagge. Wenn dieCB_DIR
Kennzeichnung festgelegt ist, platziert Windows die vonDlgDirListComboBox
der Anwendung generierten Nachrichten in der Warteschlange. Andernfalls werden sie direkt an die Dialogfeldprozedur gesendet.DDL_DRIVES
Antriebe. Wenn dieDDL_DRIVES
Kennzeichnung festgelegt ist, wird dieDDL_EXCLUSIVE
Kennzeichnung automatisch festgelegt. Um eine Verzeichnisauflistung zu erstellen, die Laufwerke und Dateien enthält, müssen Sie daher zweimal aufrufenDlgDirListComboBox
: einmal mit demDDL_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 lpPathSpec
Pfad ü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 einen Wildcardnamen enthalten muss. Bei den Platzhaltern handelt es sich um ein Fragezeichen (?), was bedeutet, dass es sich um ein beliebiges Zeichen handelt, und ein 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_DROPFILES
zu 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 FALSE
festgelegt 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 angeben IDANI_CAPTION
, wird die Fensterbeschriftung von der position animiert, die durch lprcFrom
die durch lprcTo
die angegebene Position angegeben wird. 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 eine Fensterbeschriftung.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parameter
pDC
Ein Zeiger zu einem Gerätekontext. Die Funktion zeichnet die Fensterbeschriftung in diesen Gerätekontext.
lprc
Ein Zeiger auf eine RECT
Struktur, die das umgebende Rechteck für die Fensterbeschriftung 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
Ein Beispiel hierfür finden Sie unter 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 CWnd
abgeleitete 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 CFrameWnd
dem 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 QuickInfos.
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 Hauptfenster deaktiviert hat, muss das Hauptfenster 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 RunModalLoop
zurü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
Ein Beispiel hierfür finden Sie unter 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 AfxGetResourceHandle
das aktuelle Ressourcenhandle für die ausführbare Datei zurückgegeben. Wenn Ihre MFC-Anwendung, die MFCx0[U][D].DLL verwendet, durchläuft die CDynLinkLibrary
Objektliste der freigegebenen und MFC-Erweiterungs-DLLs, 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 PreTranslateMessage
EnableToolTips
aufgerufen, 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 QuickInfos.
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 NULL
der 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 RegisterClassEx
der 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 NULL
der 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 FALSE
der 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 die Fensterbeschriftung 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 FromHandle
keine 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 CWnd
abgeleiteten 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 NULL
der 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 CPoint
zurü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 lpRect
die 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
Ein Beispiel hierfür finden Sie unter 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 NULL
der 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
Ein Beispiel hierfür finden Sie unter 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 NULL
der 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_CLASSDC
CS_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 desOWNDC
FenstersCLASSDC
zurück. ÜberschreibtCS_OWNDC
undCS_CLASSDC
:DCX_CLIPCHILDREN
Schließt die sichtbaren Bereiche aller untergeordneten Fenster unterhalb desCWnd
Fensters aus.DCX_CLIPSIBLINGS
Schließt die sichtbaren Bereiche aller gleichgeordneten Fenster oberhalb desCWnd
Fensters aus.DCX_EXCLUDERGN
Schließt den aus dem sichtbaren Bereich des zurückgegebenen Gerätekontexts identifiziertenprgnClip
Clippingbereich aus.DCX_INTERSECTRGN
Überschneidet den Clippingbereich, der innerhalb des sichtbaren Bereichs des zurückgegebenen Gerätekontexts identifiziertprgnClip
wird.DCX_LOCKWINDOWUPDATE
Ermöglicht das Zeichnen auch dann, wenn einLockWindowUpdate
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 BitsWS_CLIPCHILDREN
undWS_PARENTDC
Formatvorlagen des übergeordneten Fensters. Dieser Wert legt den Ursprung des Gerätekontexts auf die obere linke Ecke desCWnd
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_CLASSDC
ist, gibt diese Funktion zurück NULL
.
Ein Gerätekontext mit besonderen Merkmalen wird von der GetDCEx
Funktion zurückgegeben, wenn die CS_OWNDC
CS_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
Ein Beispiel hierfür finden Sie unter 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 NULL
der 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 lpTrans
die 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 lpStr
die kopiert werden soll. Wenn die Zeichenfolge länger als nMaxCount
ist, 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 DataSource
Eigenschaften , UserName
, , Password
und 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 GetDSCCursor
Release
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
Ein Beispiel hierfür finden Sie unter 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. WennTRUE
FALSE
, wird nach dem nächsten Steuerelement in der Gruppe gesucht.
pCurSiteOrWnd
Identifiziert das COleControlSiteOrWnd
Steuerelement. Weitere Informationen finden COleControlSiteOrWnd
Sie 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 COleControlSite verweist 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_HWNDNEXT
um ein Fenster handeln, das dem CWnd
Objekt in der Liste des Fenster-Managers folgt, oder GW_HWNDPREV
es 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 CWnd
CWnd
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 vtProp
angegebenen 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 NULL
CWnd
Zeiger verwendet wird.
Beispiel
Ein Beispiel hierfür finden Sie unter 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
ja NULL
, wird das Hauptfenster 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 über eine Bildlaufleiste verwaltet.
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. Dasm_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_TRACKPOS
und 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 TRUE
die 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::OnHScroll
CWnd::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 TRUE
der 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::AppendMenu
Funktionen CMenu::InsertMenu
oder 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_MOVE
und 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 CFrameWnd
Objekt 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
GetTopLevelParent
GetTopLevelFrame
ä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 NULL
der 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 CWnd
Datei 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_TEXT
erfolgt, 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 dasCWnd
erste untergeordnete Fenster.GW_HWNDFIRST
WennCWnd
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
WennCWnd
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 denCWnd
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 Beschriftungsleiste, 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. ReleaseDC
sollte 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 Abmessungen verschiedener Teile des Nichtclientbereichs abzurufen, z. B. die Beschriftungsleiste, 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_SHOWMINIMIZED
es . Andernfalls ist SW_SHOWNORMAL
dies der Grund.
CWnd::GetWindowRect
Kopiert die Abmessungen des umgebenden Rechtecks des CWnd
Objekts in die Struktur, auf lpRect
die 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 Beschriftungs-, Rahmen- und Bildlaufleisten( sofern 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::SetWindowRgn
den Fensterbereich eines Fensters festzulegen.
CWnd::GetWindowText
Kopiert den Titel der CWnd
Beschriftung (sofern vorhanden) in den Puffer, auf lpszStringBuf
den oder in die Zielzeichenfolge rString
verwiesen 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 nMaxCount
der 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 Beschriftung vorhanden ist oder die Beschriftung 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 Beschriftung zu kopieren.
Diese Memberfunktion bewirkt, dass die WM_GETTEXT
Nachricht an das CWnd
Objekt gesendet wird.
Beispiel
Ein Beispiel hierfür finden Sie unter CWnd::SetWindowText
.
CWnd::GetWindowTextLength
Gibt die Länge des Titels der CWnd
Objektbeschriftung 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 Beschriftung zurück.
Diese Memberfunktion bewirkt, dass die WM_GETTEXTLENGTH
Nachricht an das CWnd
Objekt gesendet wird.
Beispiel
Ein Beispiel hierfür finden Sie unter 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_BYCOMMAND
nIDHiliteItem
Interpretiert die Menüelement-ID (die Standardinterpretation).MF_BYPOSITION
Interpretiert den nullbasierten Offset des MenüelementsnIDHiliteItem
.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 dies TRUE
der Grund, wird der Hintergrund gelöscht, wenn die BeginPaint
Memberfunktion aufgerufen wird. Wenn bErase
bErase
jaFALSE
, bleibt der Hintergrund unverändert. 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
Ein Beispiel hierfür finden Sie unter 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 dies TRUE
der Grund, wird der Hintergrund gelöscht, wenn die BeginPaint
Memberfunktion aufgerufen wird. Wenn bErase
bErase
jaFALSE
, bleibt der Hintergrund unverändert. 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 dies TRUE
der Grund, wird der Hintergrund gelöscht, wenn die BeginPaint
Memberfunktion aufgerufen wird. Wenn bErase
bErase
jaFALSE
, bleibt der Hintergrund unverändert. 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 dwDispID
dem durch wFlags
den 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::Invoke
beschreiben.
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 vtRet
angegebenen Typ übereinstimmen.
pbParamInfo
Zeiger auf eine NULL-terminierte Zeichenfolge aus Bytes, die die Typen der Parameter angeben, die auf pbParamInfo
folgen. 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
Ein Beispiel hierfür finden Sie unter 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 UnlockWindowUpdate
auf .
Wenn eine Anwendung mit einem gesperrten Fenster (oder gesperrten untergeordneten Fenstern) die GetDC
, GetDCEx
oder 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 CWnd
Fenster 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 Beschriftung enthält, sowie eine Kombination aus den vordefinierten Symbolen und Pushbuttons, die in der Liste "Meldungsfeld-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 die Beschriftung des Meldungsfelds verwendet werden soll. Wenn lpszCaption
ja NULL
, wird die Standardbeschriftung "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 |
---|---|
MB_ICONHAND , MB_ICONSTOP und MB_ICONERROR |
|
MB_ICONQUESTION | |
MB_ICONEXCLAMATION und MB_ICONWARNING | |
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 SetWindowPos
oder 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 erwähnten Beispiel).
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 SetWindowPos
oder 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 CWnd
Verschiebung 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
Ein Beispiel hierfür finden Sie unter 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 TRUE
die 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 TRUE
dwThreadID
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 durchnUIElement
) sollte ausgeblendet werden.UIS_INITIALIZE
Das UI-Zustandselement (angegeben durchnUIElement
) sollte basierend auf dem letzten Eingabeereignis geändert werden. Weitere Informationen finden Sie im Abschnitt "Hinweise " vonWM_CHANGEUISTATE
.UIS_SET
Das ui-Zustandselement (angegeben durchnUIElement
) 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 OnChar
vorausgeht.
Für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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 lpCompareItemStruct
verwiesen 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 in der Beschriftung 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 FALSE
zurü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ächensteuerelementCTLCOLOR_DLG
DialogfeldCTLCOLOR_EDIT
Steuerelement bearbeitenCTLCOLOR_LISTBOX
Listenfeld-SteuerelementCTLCOLOR_MSGBOX
MeldungsfeldCTLCOLOR_SCROLLBAR
Bildlaufleisten-SteuerelementCTLCOLOR_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 | Wird 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 richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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::ResetContent
oder 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:
DBT_DEVICEARRIVAL
Ein Gerät wurde eingefügt und ist jetzt verfügbar.DBT_DEVICEQUERYREMOVE
Die Berechtigung zum Entfernen eines Geräts wird angefordert. Jede Anwendung kann diese Anforderung ablehnen und die Entfernung abbrechen.DBT_DEVICEQUERYREMOVEFAILED
Die Anforderung zum Entfernen eines Geräts wurde abgebrochen.DBT_DEVICEREMOVEPENDING
Das Gerät wird entfernt. Es kann nicht verweigert werden.DBT_DEVICEREMOVECOMPLETE
Das Gerät wurde entfernt.DBT_DEVICETYPESPECIFIC
Gerätespezifisches Ereignis.DBT_CONFIGCHANGED
Die aktuelle Konfiguration wurde geändert.DBT_DEVNODES_CHANGED
Der Geräteknoten wurde geändert.
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_CHILDREN
und 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
, CListBox
oder 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 DragFinish
Funktionen , DragQueryFile
und 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 OnEndSession
sind.
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 Hauptfensterprozedur 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_SYSCOMMAND
CWnd::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, bleibt das Fenster 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_SYSCOMMAND
CWnd::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 AddFontResource
RemoveFontResource
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_HASSETSEL
EM_SETSEL
Meldungen.DLGC_UNDEFPUSHBUTTON
Keine Standardmäßige Pushbutton-Verarbeitung. (Eine Anwendung kann dieses FlagDLGC_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_WANTCHARS
WM_CHAR
Meldungen.DLGC_WANTMESSAGE
Alle Tastatureingaben. Die Anwendung übergibt diese Meldung an das Steuerelement.DLGC_WANTTAB
Tabulatortaste.
Hinweise
Normalerweise behandelt Windows alle Pfeiltasten- und TAB-Taste-Eingaben für ein CWnd
Steuerelement. Durch Das Überschreiben OnGetDlgCode
kann 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 dennPos
Parameter angegeben.SB_THUMBTRACK
Ziehen Sie das Bildlauffeld an die angegebene Position. Die aktuelle Position wird durch dennPos
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 NULL
dieser 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 Hauptmenü 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 | Wird 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 richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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 | Wird 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 richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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_DBLCLKS
WNDCLASS
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_LBUTTONDOWN
Nachrichten, 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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_DBLCLKS
WNDCLASS
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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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 Nachricht, um einen aktiven Fensterrahmen und eine WM_NCACTIVATE
Beschriftungsleiste zu zeichnen, 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 Hauptfunktion der Anwendung oder Bibliothek auftreten.
Wenn das gemessene Element ein CMenu
Oder-Objekt CComboBox
CListBox
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
, SubclassDlgItem
oder 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_REFLECT
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::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, das Zeichen zu verwerfen, 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 CWnd
Menü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 aktiv bleiben. 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 Hauptmenüs (angeklickt).
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_SYSMENU
Enthält nFlags
, identifiziert das Menü, das der Nachricht zugeordnet ist. MF_POPUP
Enthält nFlags
, identifiziert das Handle des Hauptmenüs. Enthält nFlags
weder MF_SYSMENU
noch MF_POPUP
ist 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 verworfen werden soll. Es muss sich um einen der folgenden Werte handeln:
MA_ACTIVATE
Objekt aktivierenCWnd
.MA_NOACTIVATE
Objekt nicht aktivierenCWnd
.MA_ACTIVATEANDEAT
Aktivieren Sie das Objekt, und verwerfen SieCWnd
das Mausereignis.MA_NOACTIVATEANDEAT
Aktivieren SieCWnd
das Objekt nicht, und verwerfen Sie das Mausereignis.
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 TrackMouseEvent
angegebenen 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 x
y
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 x
y
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 TrackMouseEvent
angegeben 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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_DELTA
120 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 OnRegisteredMouseWheel
fü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 Beschriftungsleiste oder ein Symbol geändert werden muss, um einen aktiven oder inaktiven Zustand anzugeben. Der bActive
Parameter ist TRUE
, wenn eine aktive Beschriftung oder ein aktives Symbol gezeichnet werden soll. Dies gilt FALSE
für eine inaktive Beschriftung oder ein inaktives Symbol.
Rückgabewert
Nonzero, wenn Windows mit der Standardverarbeitung fortfahren soll; 0, um zu verhindern, dass die Beschriftungsleiste 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.bActive
FALSE
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, Beschriftung, 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 bCalcValidRects
das 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 eine Bereinigung durch und ruft dann die virtuelle Memberfunktion PostNcDestroy
auf.
Überschreiben PostNcDestroy
Sie, wenn Sie eine eigene Bereinigung durchfü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 TrackMouseEvent
angegebenen 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 TrackMouseEvent
angegeben 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 x
y
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 an das Fenster mit dem Cursor gesendet. 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 an das Fenster mit dem Cursor gesendet. 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 an das Fenster mit dem Cursor gesendet. 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 inWM_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 dasNF_REQUERY
Formular dieser Nachricht.NF_REQUERY
– Die Nachricht ist eine Anforderung, dass ein Steuerelement dasNF_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 inWM_NOTIFY
Nachrichten verwendet werden soll. Wenn dernCommand
Parameter lautetNF_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_Paint
finden 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_CREATE
WM_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 message
WM_CREATE
WM_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
OnQueryOpen
In , 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 aufrufen CWnd::DefWindowProc
, damit das System eine Bereinigung durchfü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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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
Hiermit wird angegeben, ob verschiedene virtuelle Tasten gedrückt 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 OnMouseWheel
fü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 OnRenderFormat
auf.
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 wederSIZE_MINIMIZED
SIZE_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 OnSize
aufgerufen 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 OnSizeClipboard
muss 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 Nachricht kann eine Anwendung die Position des Ziehrechtecks überwachen und bei Bedarf seine 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 Aufträge an, die in der Druck-Manager-Warteschlange verbleiben.
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 aus den 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 aus den 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 richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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 dasCWnd
Objekt.SC_HOTKEY
Aktivieren Sie das Objekt, dasCWnd
der vom Anwendung angegebenen Hot Key zugeordnet ist. Das WortlParam
mit niedriger Reihenfolge identifiziert dasHWND
zu aktivierende Fenster.SC_HSCROLL
Horizontal scrollen.SC_KEYMENU
Rufen Sie ein Menü über einen Tastenanschlag ab.SC_MAXIMIZE
(oderSC_ZOOM
) Maximieren Sie dasCWnd
Objekt.SC_MINIMIZE
(oderSC_ICON
) Minimieren Sie dasCWnd
Objekt.SC_MOUSEMENU
Rufen Sie ein Menü über einen Mausklick ab.SC_MOVE
Verschieben sie dasCWnd
Objekt.SC_NEXTWINDOW
Wechseln zum nächsten FensterSC_PREVWINDOW
Wechseln zum vorherigen FensterSC_RESTORE
Wiederherstellen des Fensters auf normale Position und Größe.SC_SCREENSAVE
Führt die im Abschnitt [boot] derSYSTEM.INI
Datei angegebene Bildschirmschoneranwendung aus.SC_SIZE
Größe desCWnd
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 WortlParam
mit niedriger Reihenfolge identifiziert das zu aktivierende Fenster.SC_SCREENSAVE
Fü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 nID
testet, 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 GetSystemMenu
Funktionen , AppendMenu
, InsertMenu
und 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 OnSysCommand
werden. 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 | Wird 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 | Wird 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.
Bei den Tastaturen für IBM Enhanced 101- und 102-Tasten sind erweiterte Tasten die rechte ALT- und die rechte STRG-TASTE im Hauptabschnitt 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 | Wird 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 richtige ALT und die richtigen STRG-Tasten im Hauptabschnitt der Tastatur; DIE INS-, ENTF-, HOME-, END-, BILD-AUF-, BILD-NACH-UNTEN- und Pfeiltasten in den Clustern links neben der Zehnertastatur; und den 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.IDCLOSE
Der Benutzer hat die Schulungskarte 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. DerdwActionData
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_CALLER
Eine andere Anwendung hat Schulungskarten 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 Schulungskarte mit der Windows-Hilfe initiiert hat. Eine Anwendung initiiert eine Schulungskarte, indem sie den HELP_TCARD
Befehl in einem Aufruf der WinHelp
Funktion angibt.
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_BROADCAST
festgelegt 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 FenstersuId
=(UINT)hWndChild
Behandeln eines untergeordneten FenstersuFlags
|=TTF_IDISHWND
Handle des ToolslpszText
=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 TOOLINFO
im 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 durchnUIElement
) sollte ausgeblendet werden.UIS_INITIALIZE
Das UI-Zustandselement (angegeben durchnUIElement
) sollte basierend auf dem letzten Eingabeereignis geändert werden. Weitere Informationen finden Sie im Abschnitt "Hinweise " vonWM_UPDATEISTATE
.UIS_SET
Das ui-Zustandselement (angegeben durchnUIElement
) 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 NULL
dieser 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_BROADCAST
festgelegt ist.
Wenn eine Anwendung viele verschiedene Abschnitte WIN.INI
gleichzeitig ändert, sollte die Anwendung eine WM_WININICHANGE
Nachricht mit lpszSection
festgelegter NULL
Einstellung 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" NULL
empfä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 WindowProc
oder 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 x
y
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 an das Fenster gesendet, 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 x
y
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 an das Fenster gesendet, 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 x
y
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 an das Fenster gesendet, 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 CWnd
oder 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_hWnd
verfü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_hWnd
haben.
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
Ein Beispiel hierfür finden Sie unter 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 die benutzerdefinierte Bereinigung 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 NULL
angegeben 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 PreCreateWindow
eigene 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 eineWM_ERASEBKGND
Nachricht.Wenn
PRF_CLIENT
angegeben, senden Sie das Fenster eineWM_PRINTCLIENT
Nachricht.Wenn
PRF_CHILDREN
diese Einstellung festgelegt ist, senden Sie jedem sichtbaren untergeordneten Fenster eineWM_PRINT
Nachricht.Wenn
PRF_OWNED
diese Einstellung festgelegt ist, senden Sie jedem sichtbaren Fenster eineWM_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 eineWM_ERASEBKGND
Nachricht empfängt, wenn das Fenster aktualisiert wird. DieRDW_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 eineWM_NCPAINT
Nachricht zu empfangen. DieRDW_INVALIDATE
Kennzeichnung muss auch angegeben werden; andernfallsRDW_FRAME
hat keine Auswirkung.RDW_INTERNALPAINT
Bewirkt, dass eineWM_PAINT
Nachricht in das Fenster gepostet wird, unabhängig davon, ob das Fenster einen ungültigen Bereich enthält.RDW_INVALIDATE
lpRectUpdate
Ungültig oderprgnUpdate
(nur eine darf nichtNULL
sein). Wenn beides der Wert istNULL
, wird das gesamte Fenster ungültig.
Die folgenden Flags werden verwendet, um das Fenster zu überprüfen:
RDW_NOERASE
Unterdrückt alle ausstehendenWM_ERASEBKGND
Nachrichten.RDW_NOFRAME
Unterdrückt alle ausstehendenWM_NCPAINT
Nachrichten. Dieses Flag muss verwendetRDW_VALIDATE
werden und wird in der Regel mitRDW_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 internenWM_PAINT
Nachrichten. Dieses Kennzeichen wirkt sich nicht aufWM_PAINT
Nachrichten aus ungültigen Bereichen aus.RDW_VALIDATE
lpRectUpdate
Überprüft oderprgnUpdate
(nur eine darf nichtNULL
sein). Wenn beides der Grund istNULL
, wird das gesamte Fenster überprüft. Dieses Kennzeichen wirkt sich nicht auf interneWM_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_ERASENOW
Bewirkt, dass die betroffenen Fenster (wie durch dieRDW_ALLCHILDREN
Und Flags angegeben) empfangenWM_NCPAINT
undWM_ERASEBKGND
RDW_NOCHILDREN
nachrichten, falls erforderlich, bevor die Funktion zurückgegeben wird.WM_PAINT
Nachrichten werden zurückgestellt.RDW_UPDATENOW
Bewirkt, dass die betroffenen Fenster (wie durch dieRDW_ALLCHILDREN
UndRDW_NOCHILDREN
Flags angegeben) bei Bedarf empfangen, undWM_PAINT
Nachrichten empfangenWM_NCPAINT
WM_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::ValidateRgn
eine Anwendung , , CWnd::InvalidateRgn
, CWnd::UpdateWindow
oder 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::OnCmdMsg
gesendet.
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 seinNULL
.CWnd::reposQuery
Das Layout der Steuerleisten erfolgt nicht; stattdessenlpRectParam
wird mit der Größe des Clientbereichs initialisiert, als wäre das Layout tatsächlich erfolgt.CWnd::reposExtra
Fügt die WertelpRectParam
des Clientbereichs hinzunIDLast
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 NULL
der 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 keineWM_ENTERIDLE
Nachrichten an das übergeordnete Element.MLF_NOKICKIDLE
SendenWM_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.nResult
EndModalLoop
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
Ein Beispiel hierfür finden Sie unter 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 NULL
der 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 ScrollWindow
auf, 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 yAmount
alle ungültigen (unbezahlten) Bereiche im CWnd
Fenster versetzt. ScrollWindow
ist schneller, wenn lpRect
das ist NULL
.
Andernfalls lpRect
werden die Positionen untergeordneter NULL
Fenster 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 NULL
ist, vor dem Aufruf ScrollWindow
erneut 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 mitSW_INVALIDATE
, wird der neu ungültige Bereich gelöscht, indem eineWM_ERASEBKGND
Nachricht an das Fenster gesendet wird.SW_INVALIDATE
Ungültige Region, die nach demprgnUpdate
Scrollen identifiziert wurde.SW_SCROLLCHILDREN
Scrollt alle untergeordneten Fenster, die das Rechteck überschneiden, auf das durchlpRectScroll
die Anzahl der indx
unddy
. Windows sendet eineWM_MOVE
Nachricht an alle untergeordneten Fenster, die sich schneidenlpRectScroll
, 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 ERROR
der 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
, lpRectUpdate
und 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 TRUE
temporäre Fenster die Nachricht empfangen können; wenn FALSE
nur 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_CHANGECBCHAIN
und Nachrichten reagieren WM_DRAWCLIPBOARD
und 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 SetClipboardViewer
empfä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 TRUE
nValue
, 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
Ein Beispiel hierfür finden Sie unter CWnd::SetDlgItemText
.
CWnd::SetDlgItemText
Legt die Beschriftung oder den Text eines Steuerelements im Besitz eines Fensters oder Dialogfelds fest.
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
Ein Beispiel hierfür finden Sie unter 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_SYSKEYDOWN
oder 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
Ein Beispiel hierfür finden Sie unter 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 COLORREF
Makro 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 der folgenden Werte annehmen. 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
Ein Beispiel hierfür finden Sie unter 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 vtProp
angegebenen 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 TRUE
das 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 über eine Bildlaufleiste verwaltet.
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. Dasm_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 TRUE
die 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::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::OnHScroll
CWnd::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 TRUE
der Grund, wird die Bildlaufleiste neu gezeichnet. Wenn bRedraw
FALSE
, 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 TimerProc
werden, 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::SetTimer
CWnd::OnTimer
und CWnd::KillTimer
verarbeitetWM_TIMER
. Der erste Timer ist so eingerichtet, dass eine WM_TIMER
Nachricht alle 2 Sekunden an OnStartTimer
das Hauptrahmenfenster gesendet wird. Der OnTimer
Ereignishandler behandelt WM_TIMER
Nachrichten für das Hauptframefenster. 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 esCWnd
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 behält seine oberste Position auch dann bei, 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 eineWM_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 despWndInsertAfter
Parameters).SWP_NOCOPYBITS
Verwirft 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 diex
Parametery
).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 mitSWP_NOOWNERZORDER
.SWP_NOSENDCHANGING
Verhindert, dass das Fenster dieWM_WINDOWPOSCHANGING
Nachricht empfängt.SWP_NOSIZE
Behält die aktuelle Größe bei (ignoriert diecx
Parametercy
).SWP_NOZORDER
Behält die aktuelle Reihenfolge bei (ignoriertpWndInsertAfter
).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
impWndInsertAfter
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 behält seine oberste Position auch dann bei, wenn es deaktiviert ist. Wenn Sie beispielsweise den Befehl "WinHelp Always On Top" auswählen, wird das Hilfefenster ganz oben angezeigt und bleibt dann sichtbar, 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 TRUE
das 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 TRUE
festgelegt 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 SetWindowRgn
des Betriebssystems besitzt das Betriebssystem die vom Regionshandle hRgn
angegebene 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
Ein Beispiel hierfür finden Sie unter 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
Ein Beispiel hierfür finden Sie unter 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 aktuell aktive Fenster bleibt aktiv.SW_SHOWNA
Zeigt das Fenster im aktuellen Zustand an. Das aktuell aktive Fenster bleibt aktiv.SW_SHOWNOACTIVATE
Zeigt das Fenster in seiner aktuellen Größe und Position an. Das aktuell aktive Fenster bleibt 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
ShowWindow
muss nur einmal pro Anwendung für das Hauptfenster mit CWinApp::m_nCmdShow
aufgerufen werden. Nachfolgende Aufrufe müssen ShowWindow
einen der oben aufgeführten Werte anstelle der durch CWinApp::m_nCmdShow
.
Beispiel
Ein Beispiel hierfür finden Sie unter 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 CWnd
Nachrichtenzuordnung weitergeleitet und Nachrichtenhandler in der CWnd
Klasse 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 CWnd
Nachrichtenzuordnung und rufen Nachrichtenhandler in der CWnd
Klasse 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::LockWindowUpdate
gesperrt wurde.
void UnlockWindowUpdate();
Hinweise
Es kann jeweils nur ein Fenster gesperrt LockWindowUpdate
werden. 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
Ein Beispiel hierfür finden Sie unter 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 FALSE
bSaveAndValidate
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 Hauptframefenster 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 NULL
der 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 COLORREF
RGB-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 der folgenden Werte annehmen. 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
sonst.
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