Share via


La classe CWnd

Fournit les fonctionnalités de base de toutes les classes de fenêtres de la bibliothèque MFC (Microsoft Foundation Class).

Syntaxe

class CWnd : public CCmdTarget

Membres

Constructeurs publics

Nom Description
CWnd::CWnd Construit un objet CWnd.

Méthodes publiques

Nom Description
CWnd::accDoDefaultAction Appelé par l'infrastructure pour effectuer l'action par défaut de l'objet.
CWnd::accHitTest Appelé par l'infrastructure pour récupérer l'élément enfant ou l'objet enfant à un point déterminé de l'écran.
CWnd::accLocation Appelé par l'infrastructure pour récupérer l'emplacement d'affichage actuel de l'objet spécifié.
CWnd::accNavigate Appelé par l'infrastructure pour accéder à un autre élément d'interface utilisateur au sein d'un conteneur et, dans la mesure du possible, récupérer l'objet.
CWnd::accSelect Appelé par l'infrastructure pour modifier la sélection ou déplacer le focus clavier de l'objet spécifié.
CWnd::AnimateWindow Anime l'objet fenêtre associé.
CWnd::ArrangeIconicWindows Réorganise toutes les fenêtres enfants réduites (sous forme d'icônes).
CWnd::Attach Attache un handle Windows à un objet CWnd.
CWnd::BeginModalState Appelez cette fonction membre pour rendre modale une fenêtre frame.
CWnd::BeginPaint Prépare CWnd pour la peinture.
CWnd::BindDefaultProperty Lie la propriété liée simple par défaut de l'objet appelant, comme indiqué dans la bibliothèque de types, à un curseur associé à un contrôle de source de données.
CWnd::BindProperty Lie une propriété liée au curseur d'un contrôle lié aux données à un contrôle de source de données et inscrit cette relation auprès du gestionnaire de liaisons MFC.
CWnd::BringWindowToTop Place CWnd en haut d'une pile de fenêtres superposées.
CWnd::CalcWindowRect Appelé pour calculer le rectangle de la fenêtre à partir du rectangle client.
CWnd::CancelToolTips Désactive le contrôle d'info-bulle.
CWnd::CenterWindow Centre une fenêtre par rapport à son parent.
CWnd::ChangeClipboardChain Supprime CWnd de la chaîne de visionneuses de Presse-papiers.
CWnd::CheckDlgButton Place une coche à côté d'un contrôle bouton ou la supprime.
CWnd::CheckRadioButton Vérifie la case d'option spécifiée et supprime la coche de toutes les autres cases d'option contenues dans le groupe de boutons spécifié.
CWnd::ChildWindowFromPoint Parmi les fenêtres enfants existantes, détermine celles qui contiennent le point spécifié, le cas échéant.
CWnd::ClientToScreen Convertit les coordonnées clientes d'un point ou rectangle donné affiché en coordonnées d'écran.
CWnd::CloseWindow Réduit la fenêtre.
CWnd::ContinueModal Conserve l'état modal d'une fenêtre.
CWnd::Create Crée et initialise la fenêtre enfant associée à l'objet CWnd.
CWnd::CreateAccessibleProxy Crée un proxy Active Accessibility pour l'objet spécifié.
CWnd::CreateCaret Crée une forme pour le signe insertion et obtient la propriété du caret.
CWnd::CreateControl Crée un contrôle ActiveX qui sera représenté dans un programme MFC par un objet CWnd.
CWnd::CreateEx Crée une fenêtre Windows superposée, indépendante ou enfant et l'attache à un objet CWnd.
CWnd::CreateGrayCaret Crée un bloc gris pour le signe insertion et obtient la propriété du caret.
CWnd::CreateSolidCaret Crée un bloc uni pour le signe insertion et obtient la propriété du caret.
CWnd::DeleteTempMap Appelé automatiquement par le gestionnaire de durée d'inactivité CWinApp et supprime les objets CWnd temporaires créés par FromHandle.
CWnd::DestroyWindow Détruit la fenêtre Windows attachée.
CWnd::Detach Détache un handle Windows d'un objet CWnd et retourne le handle.
CWnd::DlgDirList Remplit une zone de liste avec une liste de fichiers ou de répertoires.
CWnd::DlgDirListComboBox Remplit la zone de liste d'une zone de liste modifiable avec une liste de fichiers ou de répertoires.
CWnd::DlgDirSelect Récupère la sélection actuelle d'une zone de liste.
CWnd::DlgDirSelectComboBox Récupère la sélection actuelle de la zone de liste d'une zone de liste modifiable.
CWnd::DragAcceptFiles Indique que la fenêtre acceptera les fichiers déplacés.
CWnd::DragDetect Capture la souris et suit ses déplacements jusqu'à ce que l'utilisateur relâche le bouton gauche, appuie sur la touche Échap ou déplace la souris en dehors du rectangle de glissement entourant le point spécifié.
CWnd::DrawAnimatedRects Dessine un rectangle en mode filaire et l'anime pour indiquer l'ouverture d'une icône ou la réduction ou agrandissement d'une fenêtre.
CWnd::DrawCaption Dessine une légende.
CWnd::DrawMenuBar Redessine la barre de menus.
CWnd::EnableActiveAccessibility Active les fonctions Active Accessibility définies par l'utilisateur.
CWnd::EnableDynamicLayout Active la position et la taille des fenêtres enfants pour qu'elles s'ajustent dynamiquement quand l'utilisateur redimensionne la fenêtre.
CWnd::EnableD2DSupport Active ou désactive la prise en charge D2D de la fenêtre. Appelez cette méthode avant que la fenêtre principale soit initialisée.
CWnd::EnableScrollBar Active ou désactive une flèche (ou les deux) d'une barre de défilement.
CWnd::EnableScrollBarCtrl Active ou désactive un contrôle de barre de défilement frère.
CWnd::EnableToolTips Active le contrôle d'info-bulle.
CWnd::EnableTrackingToolTips Active le contrôle d'info-bulle en mode de suivi.
CWnd::EnableWindow Active ou désactive les entrées de souris et de clavier.
CWnd::EndModalLoop Met fin à l'état modal d'une fenêtre.
CWnd::EndModalState Appelez cette fonction membre pour changer une fenêtre frame modale en fenêtre frame non modale.
CWnd::EndPaint Marque la fin de la peinture.
CWnd::ExecuteDlgInit Initie une ressource de boîte de dialogue
CWnd::FilterToolTipMessage Récupère le titre ou le texte associé à un contrôle de boîte de dialogue.
CWnd::FindWindow Retourne le handle de la fenêtre, qui est identifiée par ses nom et classe de fenêtre.
CWnd::FindWindowEx Retourne le handle de la fenêtre, qui est identifiée par ses nom et classe de fenêtre.
CWnd::FlashWindow Fait clignoter la fenêtre une fois.
CWnd::FlashWindowEx Fait clignoter la fenêtre avec des fonctionnalités supplémentaires.
CWnd::FromHandle Retourne un pointeur vers un objet CWnd quand un handle de fenêtre lui est fourni. Si un CWnd objet n’est pas attaché au handle, un objet temporaire CWnd est créé et attaché.
CWnd::FromHandlePermanent Retourne un pointeur vers un objet CWnd quand un handle de fenêtre lui est fourni.
CWnd::get_accChild Appelé par l'infrastructure pour récupérer l'adresse d'une interface IDispatch pour l'enfant spécifié.
CWnd::get_accChildCount Appelé par l'infrastructure pour récupérer le nombre d'enfants appartenant à cet objet.
CWnd::get_accDefaultAction Appelé par l'infrastructure pour récupérer une chaîne qui décrit l'action par défaut de l'objet.
CWnd::get_accDescription Appelé par l'infrastructure pour récupérer une chaîne qui décrit l'aspect visuel de l'objet spécifié.
CWnd::get_accFocus Appelé par l'infrastructure pour récupérer l'objet qui a le focus clavier.
CWnd::get_accHelp Appelé par l’infrastructure pour récupérer la chaîne de propriété Help d’un objet.
CWnd::get_accHelpTopic Appelé par l’infrastructure pour récupérer le chemin d’accès complet du fichier WinHelp associé à l’objet spécifié, ainsi que l’identificateur de la rubrique appropriée au sein de ce fichier.
CWnd::get_accKeyboardShortcut Appelé par l'infrastructure pour récupérer la touche de raccourci ou la touche d'accès rapide de l'objet spécifié.
CWnd::get_accName Appelé par l'infrastructure pour récupérer le nom de l'objet spécifié.
CWnd::get_accParent Appelé par l'infrastructure pour récupérer l'interface IDispatch du parent de l'objet.
CWnd::get_accRole Appelé par l'infrastructure pour récupérer les informations qui décrivent le rôle de l'objet spécifié.
CWnd::get_accSelection Appelé par l'infrastructure pour récupérer les enfants sélectionnés de cet objet.
CWnd::get_accState Appelé par l'infrastructure pour récupérer l'état actuel de l'objet spécifié.
CWnd::get_accValue Appelé par l'infrastructure pour récupérer la valeur de l'objet spécifié.
CWnd::GetActiveWindow Récupère la fenêtre active.
CWnd::GetAncestor Récupère l'objet fenêtre ancêtre de la fenêtre spécifiée.
CWnd::GetCapture Récupère le CWnd qui détient la capture de souris.
CWnd::GetCaretPos Récupère les coordonnées clientes de la position actuelle du caret.
CWnd::GetCheckedRadioButton Retourne l'ID de la case d'option actuellement activée dans un groupe de boutons.
CWnd::GetClientRect Obtient les dimensions de la zone cliente CWnd.
CWnd::GetClipboardOwner Récupère un pointeur désignant le propriétaire actuel du Presse-papiers.
CWnd::GetClipboardViewer Récupère un pointeur désignant la première fenêtre de la chaîne de visionneuses de Presse-papiers.
CWnd::GetControlUnknown Récupère un pointeur vers un contrôle ActiveX inconnu.
CWnd::GetDC Récupère un contexte d'affichage pour la zone cliente.
CWnd::GetDCEx Récupère un contexte d'affichage pour la zone cliente et active le détourage pendant le traçage du dessin.
CWnd::GetDCRenderTarget Récupère la cible de rendu du contexte de périphérique pour la fenêtre CWnd.
CWnd::GetDescendantWindow Recherche dans toutes les fenêtres descendantes et retourne la fenêtre ayant l'ID spécifié.
CWnd::GetDesktopWindow Récupère la fenêtre du bureau Windows.
CWnd::GetDlgCtrlID Si CWnd est une fenêtre enfant, l'appel de cette fonction retourne sa valeur d'ID.
CWnd::GetDlgItem Récupère le contrôle ayant l'ID spécifié dans la boîte de dialogue spécifiée.
CWnd::GetDlgItemInt Traduit le texte d'un contrôle de la boîte de dialogue spécifiée en valeur entière.
CWnd::GetDlgItemText Récupère la légende ou le texte associé à un contrôle.
CWnd::GetDSCCursor Récupère un pointeur désignant le curseur sous-jacent défini par les propriétés DataSource, UserName, Password et SQL d'un contrôle de source de données.
CWnd::GetDynamicLayout Récupère un pointeur vers l'objet de gestionnaire de disposition dynamique.
CWnd::GetExStyle Retourne le style étendu de la fenêtre.
CWnd::GetFocus Récupère le CWnd qui a actuellement le focus d'entrée.
CWnd::GetFont Récupère la police actuelle.
CWnd::GetForegroundWindow Retourne un pointeur désignant la fenêtre de premier plan (fenêtre de niveau supérieur dans laquelle l'utilisateur travaille actuellement).
CWnd::GetIcon Récupère le handle d'une icône.
CWnd::GetLastActivePopup Identifie la dernière fenêtre contextuelle détenue par CWnd à avoir été active.
CWnd::GetLayeredWindowAttributes Récupère la clé de couleur d'opacité et de transparence d'une fenêtre superposée.
CWnd::GetMenu Récupère un pointeur vers le menu spécifié.
CWnd::GetNextDlgGroupItem Recherche le contrôle suivant (ou précédent) au sein d'un groupe de contrôles.
CWnd::GetNextDlgTabItem Récupère le premier contrôle avec le WS_TABSTOP style qui suit (ou précède) le contrôle spécifié.
CWnd::GetNextWindow Retourne la fenêtre suivante (ou précédente) dans la liste du gestionnaire de fenêtrage.
CWnd::GetOleControlSite Récupère le site personnalisé pour le contrôle ActiveX spécifié.
CWnd::GetOpenClipboardWindow Récupère un pointeur vers la fenêtre pour laquelle le Presse-papiers est actuellement ouvert.
CWnd::GetOwner Récupère un pointeur vers le propriétaire d'un CWnd.
CWnd::GetParent Récupère la fenêtre parente de CWnd (le cas échéant).
CWnd::GetParentFrame Récupère la fenêtre frame parente de l'objet CWnd.
CWnd::GetParentOwner Retourne un pointeur vers la fenêtre parente d'une fenêtre enfant.
CWnd::GetProperty Récupère une propriété de contrôle ActiveX.
CWnd::GetRenderTarget Obtient une cible de rendu associée à cette fenêtre.
CWnd::GetSafeHwnd Retourne m_hWnd, ou NULL si le pointeur a la this valeur NULL.
CWnd::GetSafeOwner Récupère le propriétaire sécurisé pour la fenêtre spécifiée.
CWnd::GetScrollBarCtrl Retourne un contrôle de barre de défilement frère.
CWnd::GetScrollBarInfo Récupère les informations sur la barre de défilement spécifiée.
CWnd::GetScrollInfo Récupère les informations que la structure SCROLLINFO conserve à propos d'une barre de défilement.
CWnd::GetScrollLimit Récupère la limite de la barre de défilement.
CWnd::GetScrollPos Récupère la position actuelle d'une case de défilement.
CWnd::GetScrollRange Copie les positions minimale et maximale actuelles de la barre de défilement spécifiée.
CWnd::GetStyle Retourne le style de fenêtre actif.
CWnd::GetSystemMenu Permet à l'application d'accéder au menu Système pour copie et modification.
CWnd::GetTitleBarInfo Récupère les informations sur la barre de titre spécifiée.
CWnd::GetTopLevelFrame Récupère la fenêtre frame de niveau supérieur de la fenêtre.
CWnd::GetTopLevelOwner Récupère la fenêtre de niveau supérieur.
CWnd::GetTopLevelParent Récupère le parent de niveau supérieur de la fenêtre.
CWnd::GetTopWindow Retourne la première fenêtre enfant qui appartient à CWnd.
CWnd::GetUpdateRect Récupère les coordonnées du plus petit rectangle qui englobe entièrement la région de mise à jour CWnd.
CWnd::GetUpdateRgn Récupère la région de mise à jour CWnd.
CWnd::GetWindow Retourne la fenêtre avec la relation spécifiée de cette fenêtre.
CWnd::GetWindowContextHelpId Récupère l'identificateur de contexte d'aide.
CWnd::GetWindowDC Récupère le contexte d'affichage de la fenêtre entière, y compris la barre de légende, les menus et les barres de défilement.
CWnd::GetWindowedChildCount Retourne le nombre de fenêtres enfants associées.
CWnd::GetWindowInfo Retourne les informations sur la fenêtre.
CWnd::GetWindowlessChildCount Retourne le nombre de fenêtres enfants sans fenêtre associées.
CWnd::GetWindowPlacement Récupère l'état d'affichage et les positions normale (restaurée), réduite et agrandie d'une fenêtre.
CWnd::GetWindowRect Obtient les coordonnées d'écran de CWnd.
CWnd::GetWindowRgn Récupère une copie de la région de fenêtre d'une fenêtre.
CWnd::GetWindowText Retourne le texte de la fenêtre ou le titre de la légende (le cas échéant).
CWnd::GetWindowTextLength Retourne la longueur du texte de la fenêtre ou du titre de légende.
CWnd::HideCaret Masque le caret en le supprimant de l'écran.
CWnd::HiliteMenuItem Met en surbrillance ou supprime la mise en surbrillance d'un élément de menu (barre de menus) de niveau supérieur.
CWnd::HtmlHelp Appelé pour lancer l'application HTMLHelp.
CWnd::Invalidate Invalide la zone cliente dans son intégralité.
CWnd::InvalidateRect Invalide la zone cliente dans le rectangle donné en ajoutant ce rectangle à la région de mise à jour actuelle.
CWnd::InvalidateRgn Invalide la zone cliente dans la région en question donnée en ajoutant cette région à la région de mise à jour actuelle.
CWnd::InvokeHelper Appelle une méthode ou une propriété de contrôle ActiveX.
CWnd::IsChild Indique si CWnd est une fenêtre enfant ou un autre descendant direct de la fenêtre spécifiée.
CWnd::IsD2DSupportEnabled Détermine si la prise en charge D2D est activée.
CWnd::IsDialogMessage Détermine si le message donné est destiné à la boîte de dialogue non modale et, si tel est le cas, le traite.
CWnd::IsDlgButtonChecked Détermine si un contrôle bouton est activé.
CWnd::IsDynamicLayoutEnabled Détermine si la disposition dynamique est activée dans cette fenêtre. Si la disposition dynamique est activée, la position et la taille des fenêtres enfants peuvent changer quand l'utilisateur redimensionne la fenêtre parente.
CWnd::IsIconic Détermine si CWnd est réduit (sous forme d'icône).
CWnd::IsTouchWindow Spécifie si CWnd intègre une prise en charge de l'interface tactile.
CWnd::IsWindowEnabled Détermine si la fenêtre est activée pour les entrées de souris et de clavier.
CWnd::IsWindowVisible Détermine si la fenêtre est visible.
CWnd::IsZoomed Détermine si CWnd est agrandi.
CWnd::KillTimer Tue une horloge système.
CWnd::LockWindowUpdate Désactive ou réactive un dessin dans la fenêtre donnée.
CWnd::MapWindowPoints Convertit (mappe) un ensemble de points de l'espace de coordonnées de CWnd dans celui d'une autre fenêtre.
CWnd::MessageBox Crée et affiche une fenêtre qui contient un message et une légende fournis par l'application.
CWnd::ModifyStyle Modifie le style de fenêtre actif.
CWnd::ModifyStyleEx Modifie le style étendu de la fenêtre.
CWnd::MoveWindow Modifie la position et les dimensions de CWnd.
CWnd::NotifyWinEvent Signale au système qu'un événement prédéfini s'est produit.
CWnd::OnAmbientProperty Implémente les valeurs de propriété ambiante.
CWnd::OnDrawIconicThumbnailOrLivePreview Appelé par l'infrastructure quand elle a besoin d'obtenir une image bitmap à afficher sur une miniature d'onglet Windows 7 ou sur le client pour l'aperçu de l'application.
CWnd::OnHelp Gère l'aide F1 dans l'application (en utilisant le contexte actuel).
CWnd::OnHelpFinder Gère les commandes et ID_DEFAULT_HELP les ID_HELP_FINDER commandes.
CWnd::OnHelpIndex Gère la commande et fournit une rubrique d’aide ID_HELP_INDEX par défaut.
CWnd::OnHelpUsing Gère la commande ID_HELP_USING.
CWnd::OnToolHitTest Détermine si un point se trouve dans le rectangle englobant de l'outil spécifié et récupère les informations sur l'outil.
CWnd::OpenClipboard Ouvre le Presse-papiers. D’autres applications ne pourront pas modifier le Presse-papiers tant que la fonction Windows CloseClipboard n’est pas appelée.
CWnd::PaintWindowlessControls Dessine des contrôles sans fenêtre sur le conteneur de contrôle.
CWnd::PostMessage Place un message dans la file d'attente d'application, puis retourne une valeur sans attendre que la fenêtre ait traité le message.
CWnd::PreCreateWindow Appelé avant la création de la fenêtre Windows attachée à cet objet CWnd.
CWnd::PreSubclassWindow Permet à d’autres sous-classes nécessaires de se produire avant SubclassWindow d’être appelée.
CWnd::PreTranslateMessage Utilisé par CWinApp pour filtrer les messages de fenêtre avant d'être distribués aux fonctions Windows TranslateMessage et DispatchMessage.
CWnd::Print Dessine la fenêtre active dans le contexte de périphérique spécifié.
CWnd::PrintClient Dessine une fenêtre dans le contexte de périphérique spécifié (généralement un contexte de périphérique d'impression).
CWnd::PrintWindow Copie une fenêtre visuelle dans le contexte de périphérique spécifié, en général un contexte de périphérique d'impression.
CWnd::RedrawWindow Met à jour la région ou le rectangle spécifié dans la zone cliente.
CWnd::RegisterTouchWindow Inscrit/annule l'inscription de la prise en charge de l'interface tactile Windows de fenêtre.
CWnd::ReleaseDC Libère les contextes de périphérique client et fenêtre, ce qui les libère en vue d'une utilisation par d'autres applications.
CWnd::RepositionBars Repositionne les barres de contrôle dans la zone cliente.
CWnd::RunModalLoop Récupère, traduit ou distribue les messages pour une fenêtre qui est à l'état modal.
CWnd::ScreenToClient Convertit les coordonnées d'écran d'un point ou rectangle donné sur l'affichage en coordonnées clientes.
CWnd::ScrollWindow Fait défiler le contenu de la zone cliente.
CWnd::ScrollWindowEx Fait défiler le contenu de la zone cliente. Semblable à ScrollWindow avec des fonctionnalités supplémentaires.
CWnd::SendChildNotifyLastMsg Fournit un message de notification à une fenêtre enfant, à partir de la fenêtre parente, pour que la fenêtre enfant puisse gérer une tâche.
CWnd::SendDlgItemMessage Envoie un message au contrôle spécifié.
CWnd::SendMessage Envoie un message à l'objet CWnd et ne retourne pas de valeur tant qu'il n'a pas traité le message.
CWnd::SendMessageToDescendants Envoie un message à toutes les fenêtres descendantes de la fenêtre.
CWnd::SendNotifyMessage Envoie le message spécifié à la fenêtre et retourne une valeur dès que possible, selon que le thread appelant a créé ou non la fenêtre.
CWnd::SetActiveWindow Active la fenêtre.
CWnd::SetCapture Provoque l'envoi de toutes les entrées de souris ultérieures à CWnd.
CWnd::SetCaretPos Déplace le caret vers une position spécifiée.
CWnd::SetClipboardViewer Ajoute CWnd à la chaîne de fenêtres qui sont notifiées chaque fois que le contenu du Presse-papiers est modifié.
CWnd::SetDlgCtrlID Définit l'ID de fenêtre ou l'ID de contrôle de la fenêtre (qui peut être une fenêtre enfant, et pas seulement un contrôle de boîte de dialogue).
CWnd::SetDlgItemInt Définit le texte d'un contrôle avec la chaîne qui représente une valeur entière.
CWnd::SetDlgItemText Définit la légende ou le texte d'un contrôle dans la boîte de dialogue spécifiée.
CWnd::SetFocus Revendique le focus d'entrée.
CWnd::SetFont Définit la police actuelle.
CWnd::SetForegroundWindow Place le thread créé par la fenêtre au premier plan et active la fenêtre.
CWnd::SetIcon Définit le handle avec une icône spécifique.
CWnd::SetLayeredWindowAttributes Définit la clé de couleur d'opacité et de transparence d'une fenêtre superposée.
CWnd::SetMenu Définit le menu avec le menu spécifié.
CWnd::SetOwner Modifie le propriétaire d'un CWnd.
CWnd::SetParent Modifie la fenêtre parente.
CWnd::SetProperty Définit une propriété de contrôle ActiveX.
CWnd::SetRedraw Autorise ou empêche le redessinage des modifications dans CWnd.
CWnd::SetScrollInfo Définit les informations sur la barre de défilement.
CWnd::SetScrollPos Définit la position actuelle d'une case de défilement et, si elle est spécifiée, redessine la barre de défilement en fonction de la nouvelle position.
CWnd::SetScrollRange Définit les valeurs de position minimale et maximale de la barre de défilement donnée.
CWnd::SetTimer Installe un minuteur système qui envoie un WM_TIMER message lorsqu’il est déclenché.
CWnd::SetWindowContextHelpId Définit l'identificateur de contexte d'aide.
CWnd::SetWindowPlacement Définit l'état d'affichage et les positions normale (restaurée), réduite et agrandie d'une fenêtre.
CWnd::SetWindowPos Modifie la taille, la position et l'agencement des fenêtres enfants, indépendantes et de niveau supérieur.
CWnd::SetWindowRgn Définit la région d'une fenêtre.
CWnd::SetWindowText Définit le texte de la fenêtre ou le titre de la légende (le cas échéant) avec le texte spécifié.
CWnd::ShowCaret Affiche le caret à l'écran à sa position actuelle. Une fois affiché, le caret se met à clignoter automatiquement.
CWnd::ShowOwnedPopups Affiche ou masque toutes les fenêtres indépendantes qui appartiennent à la fenêtre.
CWnd::ShowScrollBar Affiche ou masque une barre de défilement.
CWnd::ShowWindow Affiche ou masque la fenêtre.
CWnd::SubclassDlgItem Attache un contrôle Windows à un objet CWnd et fait acheminer les messages via la table des messages de CWnd.
CWnd::SubclassWindow Attache un fenêtre à un objet CWnd et fait acheminer les messages via la table des messages de CWnd.
CWnd::UnlockWindowUpdate Déverrouille une fenêtre qui était verrouillée avec CWnd::LockWindowUpdate.
CWnd::UnsubclassWindow Détache une fenêtre d’un CWnd objet
CWnd::UpdateData Initialise ou récupère les données d'une boîte de dialogue.
CWnd::UpdateDialogControls Appelle à mettre à jour l'état de boutons et autres contrôles de boîte de dialogue.
CWnd::UpdateLayeredWindow Met à jour la position, la taille, la forme, le contenu et la transparence d'une fenêtre superposée.
CWnd::UpdateWindow Met à jour la zone cliente.
CWnd::ValidateRect Valide la zone cliente dans le rectangle donné en supprimant le rectangle de la région de mise à jour actuelle.
CWnd::ValidateRgn Valide la zone cliente dans la région donnée en supprimant la région de la région de mise à jour actuelle.
CWnd::WindowFromPoint Identifie la fenêtre qui contient le point donné.
CWnd::WinHelp Appelé pour lancer l'application WinHelp.

Méthodes protégées

Nom Description
CWnd::Default Appelle la procédure de fenêtre par défaut, qui assure le traitement par défaut des messages de fenêtre qu'une application ne traite pas.
CWnd::DefWindowProc Appelle la procédure de fenêtre par défaut, qui assure le traitement par défaut des messages de fenêtre qu'une application ne traite pas.
CWnd::DoDataExchange Pour l’échange et la validation de données de boîte de dialogue. Appelée par UpdateData.
CWnd::GetCurrentMessage Retourne un pointeur vers le message actuellement traité par cette fenêtre. Doit être appelé uniquement dans une OnMessage fonction membre de gestionnaire de messages.
CWnd::InitDynamicLayout Appelé par l'infrastructure pour initialiser la disposition dynamique pour la fenêtre.
CWnd::LoadDynamicLayoutResource Charge les informations de disposition dynamique à partir du fichier de ressources.
CWnd::OnActivate Appelé pendant l'activation ou la désactivation de CWnd.
CWnd::OnActivateApp Appelé quand l'application est sur le point d'être activée ou désactivée.
CWnd::OnAppCommand Appelé quand l'utilisateur génère un événement de commande d'application.
CWnd::OnAskCbFormatName Appelé par une application de visualisation de Presse-papiers quand un propriétaire de Presse-papiers affiche le contenu du Presse-papiers.
CWnd::OnCancelMode Appelé pour permettre à CWnd d'annuler les modes internes, tels que la capture de la souris.
CWnd::OnCaptureChanged Envoie un message à la fenêtre qui perd la capture de la souris.
CWnd::OnChangeCbChain Signale qu'une fenêtre spécifiée va être supprimée de la chaîne.
CWnd::OnChangeUIState Appelé quand l'état de l'interface utilisateur (IU) doit être modifié.
CWnd::OnChar Appelé quand une séquence de touches est traduite en caractère non système.
CWnd::OnCharToItem Appelé par une zone de liste enfant avec le LBS_WANTKEYBOARDINPUT style en réponse à un WM_CHAR message.
CWnd::OnChildActivate Appelé pour des fenêtres enfants d'interface multidocument (MDI) chaque fois que la taille ou la position de CWnd change ou que CWnd est activé.
CWnd::OnChildNotify Appelé par une fenêtre parente pour offrir à un contrôle de notification la possibilité de répondre à une notification de contrôle.
CWnd::OnClipboardUpdate Envoyé quand le contenu du Presse-papiers a changé.
CWnd::OnClose Appelé pour signaler que CWnd doit être fermé.
CWnd::OnColorizationColorChanged Appelé quand la stratégie de rendu de la zone non cliente a changé.
CWnd::OnCommand Appelé quand l'utilisateur sélectionne une commande.
CWnd::OnCompacting Appelé quand Windows détecte que la mémoire système est insuffisante.
CWnd::OnCompareItem Appelé pour déterminer la position relative d'un nouvel élément dans une zone de liste modifiable ou une zone de liste enfant triée en mode owner-draw.
CWnd::OnCompositionChanged Appelé pour toutes les fenêtres de niveau supérieur quand la composition du Gestionnaire de fenêtrage est activée ou désactivée.
CWnd::OnContextMenu Appelé quand l'utilisateur clique dans la fenêtre avec le bouton droit de la souris.
CWnd::OnCopyData Copie les données d'une application vers une autre.
CWnd::OnCreate Appelé dans le cadre de la création d'une fenêtre.
CWnd::OnCtlColor Appelé si CWnd est le parent d'un contrôle qui est sur le point d'être dessiné.
CWnd::OnDeadChar Appelé quand une séquence de touches est traduite en caractère de modificateur non système (tel qu'un accent).
CWnd::OnDeleteItem Appelé quand une zone de liste ou une zone de liste modifiable enfant en mode owner-draw est détruite ou que des éléments sont supprimés du contrôle.
CWnd::OnDestroy Appelé quand CWnd va être détruit.
CWnd::OnDestroyClipboard Appelé lorsque le Presse-papiers est vidé par le biais d’un appel à la fonction Windows EmptyClipboard .
CWnd::OnDeviceChange Avertit une application ou un pilote de périphérique que la configuration matérielle d'un périphérique ou de l'ordinateur a été modifiée.
CWnd::OnDevModeChange Appelé pour toutes les fenêtres de niveau supérieur quand l'utilisateur modifie les paramètres de mode de périphérique.
CWnd::OnDrawClipboard Appelé quand le contenu du Presse-papiers change.
CWnd::OnDrawItem Appelé quand un aspect visuel d'un contrôle enfant de bouton, zone de liste modifiable, zone de liste ou menu en mode owner-draw doit être dessiné.
CWnd::OnDropFiles Appelé quand l’utilisateur relâche le bouton gauche de la souris dans une fenêtre qui s’est inscrite en tant que destinataire des fichiers déposés.
CWnd::OnEnable Appelé quand CWnd est activé ou désactivé.
CWnd::OnEndSession Appelé quand la session prend fin.
CWnd::OnEnterIdle Appelé pour informer la procédure de fenêtre principale d'une application qu'une boîte de dialogue modale ou un menu entre dans un état inactif.
CWnd::OnEnterMenuLoop Appelé lors de l'entrée dans une boucle modale de menu.
CWnd::OnEnterSizeMove Appelé après l'entrée de la fenêtre affectée dans une boucle modale de déplacement ou de dimensionnement.
CWnd::OnEraseBkgnd Appelé quand l'arrière-plan de la fenêtre doit être effacé.
CWnd::OnExitMenuLoop Appelé lors de la sortie d'une boucle modale de menu.
CWnd::OnExitSizeMove Appelé après la sortie de la fenêtre affectée d'une boucle modale de déplacement ou de dimensionnement.
CWnd::OnFontChange Appelé quand le pool de ressources de police change.
CWnd::OnGetDlgCode Appelé pour un contrôle afin de lui permettre de traiter lui-même une entrée de touche de direction et de touche TAB.
CWnd::OnGetMinMaxInfo Appelé chaque fois que Windows a besoin de connaître la position ou les dimensions agrandies ou la taille de suivi minimale ou maximale.
CWnd::OnHelpInfo Appelé par l'infrastructure quand l'utilisateur appuie sur la touche F1.
CWnd::OnHotKey Appelé quand l'utilisateur appuie sur une touche d'accès rapide à l'échelle du système.
CWnd::OnHScroll Appelé quand l'utilisateur clique sur la barre de défilement horizontale de CWnd.
CWnd::OnHScrollClipboard Appelé quand un propriétaire de Presse-papiers doit faire défiler l'image du Presse-papiers, invalider la section appropriée et mettre à jour les valeurs de la barre de défilement.
CWnd::OnIconEraseBkgnd Appelé quand CWnd est réduit (sous forme d'icône) et que l'arrière-plan de l'icône doit être rempli avant de peindre l'icône.
CWnd::OnInitMenu Appelé quand un menu va devenir actif.
CWnd::OnInitMenuPopup Appelé quand un menu contextuel va devenir actif.
CWnd::OnInputDeviceChange Appelé quand un périphérique d'E/S est ajouté ou supprimé du système.
CWnd::OnInputLangChange Appelé après la modification du langage d'entrée d'une application.
CWnd::OnInputLangChangeRequest Appelé quand l'utilisateur choisit un nouveau langage d'entrée.
CWnd::OnKeyDown Appelé quand l'utilisateur appuie sur une touche non système.
CWnd::OnKeyUp Appelé quand l'utilisateur relâche une touche non système.
CWnd::OnKillFocus Appelé juste avant que CWnd perde le focus d'entrée.
CWnd::OnLButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton gauche de la souris.
CWnd::OnLButtonDown Appelé quand l'utilisateur appuie sur le bouton gauche de la souris.
CWnd::OnLButtonUp Appelé quand l’utilisateur relâche le bouton gauche de la souris.
CWnd::OnMButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton central de la souris.
CWnd::OnMButtonDown Appelé quand l'utilisateur appuie sur le bouton central de la souris.
CWnd::OnMButtonUp Appelé quand l’utilisateur relâche le bouton central de la souris.
CWnd::OnMDIActivate Appelé quand une fenêtre enfant MDI est activée ou désactivée.
CWnd::OnMeasureItem Appelé pour une zone de liste modifiable, une zone de liste ou un élément de menu enfant en mode owner-draw quand le contrôle est créé. CWnd communique à Windows les dimensions du contrôle.
CWnd::OnMenuChar Appelé quand l'utilisateur appuie sur un caractère mnémonique de menu qui ne correspond à aucun des mnémoniques prédéfinis dans le menu actif.
CWnd::OnMenuDrag Appelé quand l'utilisateur commence à faire glisser un élément de menu.
CWnd::OnMenuGetObject Appelé quand le curseur de la souris entre dans un élément de menu ou se déplace du centre de l'élément vers le haut ou le bas de l'élément.
CWnd::OnMenuRButtonUp Appelé quand l’utilisateur relâche le bouton droit de la souris et que le curseur se trouve sur un élément de menu.
CWnd::OnMenuSelect Appelé quand l'utilisateur sélectionne un élément de menu.
CWnd::OnMouseActivate Appelé quand le curseur se trouve dans une fenêtre inactive et que l'utilisateur appuie sur un bouton de la souris.
CWnd::OnMouseHover Appelé lorsque le curseur pointe sur la zone cliente de la fenêtre pendant la période spécifiée dans un appel antérieur à TrackMouseEvent.
CWnd::OnMouseHWheel Appelé lorsque la roulette de défilement horizontale de la souris est inclinée ou pivotée.
CWnd::OnMouseLeave Appelé lorsque le curseur quitte la zone cliente de la fenêtre spécifiée dans un appel antérieur à TrackMouseEvent.
CWnd::OnMouseMove Appelé quand le curseur de la souris se déplace.
CWnd::OnMouseWheel Appelé quand un utilisateur fait tourner la roulette de la souris. Utilise la gestion des messages de Windows NT 4.0.
CWnd::OnMove Appelé après un changement de position de CWnd.
CWnd::OnMoving Indique qu'un utilisateur déplace un objet CWnd.
CWnd::OnNcActivate Appelé quand la zone non cliente doit être modifiée pour indiquer un état actif ou inactif.
CWnd::OnNcCalcSize Appelé quand la taille et la position de la zone client doivent être calculées.
CWnd::OnNcCreate Appelé avant OnCreate la création de la zone non cliente.
CWnd::OnNcDestroy Appelé quand la zone non cliente va être détruite.
CWnd::OnNcHitTest Appelé par Windows chaque fois que la souris est déplacée si CWnd contient le curseur ou a capturé l'entrée de souris avec SetCapture.
CWnd::OnNcLButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcLButtonDown Appelé quand l'utilisateur appuie sur le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcLButtonUp Appelé quand l’utilisateur relâche le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcMButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton central de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcMButtonDown Appelé quand l'utilisateur appuie sur le bouton central de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcMButtonUp Appelé quand l’utilisateur relâche le bouton central de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcMouseHover Appelé lorsque le curseur pointe sur la zone non cliente de la fenêtre pendant la période spécifiée dans un appel antérieur à TrackMouseEvent.
CWnd::OnNcMouseLeave L’infrastructure appelle cette fonction membre lorsque le curseur quitte la zone non cliente de la fenêtre spécifiée dans un appel antérieur à TrackMouseEvent.
CWnd::OnNcMouseMove Appelé quand le curseur est déplacé dans une zone non cliente de CWnd.
CWnd::OnNcPaint Appelé quand la zone non cliente doit être peinte.
CWnd::OnNcRButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcRButtonDown Appelé quand l'utilisateur appuie sur le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcRButtonUp Appelé quand l'utilisateur relâche le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.
CWnd::OnNcRenderingChanged Appelé quand la stratégie de rendu de la zone non cliente a changé.
CWnd::OnNcXButtonDblClk Appelé lorsque l’utilisateur double-clique XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone non cliente d’une fenêtre.
CWnd::OnNcXButtonDown Appelé lorsque l’utilisateur appuie XBUTTON1 ou XBUTTON2 de la souris pendant que le curseur se trouve dans la zone non cliente d’une fenêtre.
CWnd::OnNcXButtonUp Appelé lorsque l’utilisateur relâche XBUTTON1 ou XBUTTON2 de la souris pendant que le curseur se trouve dans la zone non cliente d’une fenêtre.
CWnd::OnNextMenu Appelé quand la touche de direction droite ou gauche est utilisée pour basculer entre la barre de menus et le menu système.
CWnd::OnNotify Appelé par l'infrastructure pour informer une fenêtre parente qu'un événement s'est produit dans l'un de ses contrôles ou que le contrôle a besoin d'informations.
CWnd::OnNotifyFormat Appelé pour déterminer si la fenêtre active accepte les structures ANSI ou Unicode dans le message de WM_NOTIFY notification.
CWnd::OnPaint Appelé pour repeindre une partie de la fenêtre.
CWnd::OnPaintClipboard Appelé quand la zone cliente de la visionneuse de Presse-papiers doit être repeinte.
CWnd::OnPaletteChanged Appelé pour permettre aux fenêtres qui utilisent une palette de couleurs de réaliser leurs palettes logiques et de mettre à jour leurs zones clientes.
CWnd::OnPaletteIsChanging Informe les autres applications qu'une application va réaliser sa palette logique.
CWnd::OnParentNotify Appelé quand une fenêtre enfant est créée ou détruite ou quand l'utilisateur clique avec un bouton de la souris pendant que le curseur se trouve dans la fenêtre enfant.
CWnd::OnPowerBroadcast Appelé quand un événement de gestion de l'alimentation se produit.
CWnd::OnQueryDragIcon Appelé quand un CWnd réduit (sous forme d'icône) est sur le point d'être déplacé par l'utilisateur.
CWnd::OnQueryEndSession Appelé quand l'utilisateur choisit de mettre fin à la session Windows.
CWnd::OnQueryNewPalette Informe CWnd qu'il va recevoir le focus d'entrée.
CWnd::OnQueryOpen Appelé quand CWnd est une icône et que l'utilisateur demande à ce qu'elle soit ouverte.
CWnd::OnQueryUIState Appelé pour récupérer l'état de l'interface utilisateur (IU) pour une fenêtre.
CWnd::OnRawInput Appelé quand la fenêtre active obtient une entrée brute.
CWnd::OnRButtonDblClk Appelé quand l'utilisateur double-clique avec le bouton droit de la souris.
CWnd::OnRButtonDown Appelé quand l'utilisateur appuie sur le bouton droit de la souris.
CWnd::OnRButtonUp Appelé quand l'utilisateur relâche le bouton droit de la souris.
CWnd::OnRenderAllFormats Appelé quand l’application propriétaire va être détruite et qu’elle doit restituer tous ses formats.
CWnd::OnRenderFormat Appelé pour le propriétaire du Presse-papiers quand un format particulier avec rendu retardé doit être restitué.
CWnd::OnSessionChange Appelé pour avertir une application d'un changement d'état de session.
CWnd::OnSetCursor Appelé si l’entrée de la souris n’est pas capturée et que la souris provoque le déplacement du curseur dans une fenêtre.
CWnd::OnSetFocus Appelé après que CWnd a obtenu le focus d'entrée.
CWnd::OnSettingChange Appelé quand la fonction Win32 SystemParametersInfo modifie un paramètre à l'échelle du système.
CWnd::OnShowWindow Appelé quand CWnd doit être masqué ou affiché.
CWnd::OnSize Appelé après que la taille de CWnd a changé.
CWnd::OnSizeClipboard Appelé quand la taille de la zone cliente de la fenêtre de visualisation de Presse-papiers a changé.
CWnd::OnSizing Indique que l'utilisateur redimensionne le rectangle.
CWnd::OnSpoolerStatus Appelé depuis le Gestionnaire d'impression chaque fois qu'un travail est ajouté ou supprimé dans la fille d'attente du Gestionnaire d'impression.
CWnd::OnStyleChanged Indique que la SetWindowLong fonction Windows a changé un ou plusieurs des styles de la fenêtre.
CWnd::OnStyleChanging Indique que la SetWindowLong fonction Windows est sur le point de modifier un ou plusieurs styles de la fenêtre.
CWnd::OnSysChar Appelé quand une séquence de touches est traduite en caractère système.
CWnd::OnSysColorChange Appelé pour toutes les fenêtres de niveau supérieur quand une modification est apportée au paramètre de couleur système.
CWnd::OnSysCommand Appelé quand l'utilisateur sélectionne une commande dans le menu Système ou qu'il sélectionne le bouton Agrandir ou Réduire.
CWnd::OnSysDeadChar Appelé quand une séquence de touches est traduite en caractère de modificateur système (tel qu'un accent).
CWnd::OnSysKeyDown Appelé quand l'utilisateur maintient la touche ALT enfoncée, puis qu'il appuie sur une autre touche.
CWnd::OnSysKeyUp Appelé quand l'utilisateur relâche une touche sur laquelle il avait appuyé tout en ayant maintenu la touche ALT enfoncée.
CWnd::OnTCard Appelé quand l'utilisateur clique sur un bouton autorisé.
CWnd::OnTimeChange Appelé pour toutes les fenêtres de niveau supérieur après un changement d'heure système.
CWnd::OnTimer Appelé après chaque intervalle spécifié dans SetTimer.
CWnd::OnTouchInput Traite une entrée unique de l'interface tactile Windows.
CWnd::OnTouchInputs Traite les entrées de l'interface tactile Windows.
CWnd::OnUniChar Appelé quand un utilisateur appuie sur une touche. Autrement dit, la fenêtre active a le focus clavier et un WM_KEYDOWN message est traduit par la TranslateMessage fonction.
CWnd::OnUnInitMenuPopup Appelé quand un menu ou sous-menu déroulant a été détruit.
CWnd::OnUpdateUIState Appelé pour modifier l'état de l'interface utilisateur pour la fenêtre spécifiée et toutes ses fenêtres enfants.
CWnd::OnUserChanged Appelé après la connexion ou la déconnexion de l'utilisateur.
CWnd::OnVKeyToItem Appelé par une zone de liste détenue par CWnd une réponse à un WM_KEYDOWN message.
CWnd::OnVScroll Appelé quand l'utilisateur clique sur la barre de défilement verticale de la fenêtre.
CWnd::OnVScrollClipboard Appelé quand le propriétaire doit faire défiler l'image du Presse-papiers, invalider la section appropriée et mettre à jour les valeurs de la barre de défilement.
CWnd::OnWindowPosChanged Appelé lorsque la taille, la position ou l’ordre Z a changé suite à un appel à ou à SetWindowPos une autre fonction de gestion des fenêtres.
CWnd::OnWindowPosChanging Appelé lorsque la taille, la position ou l’ordre Z est sur le point de changer en raison d’un appel à SetWindowPos ou d’une autre fonction de gestion des fenêtres.
CWnd::OnWinIniChange Appelé pour toutes les fenêtres de niveau supérieur après le fichier d’initialisation Windows, est WIN.INImodifié.
CWnd::OnWndMsg Indique si un message Windows a été traité.
CWnd::OnXButtonDblClk Appelé lorsque l’utilisateur double-clique XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone cliente d’une fenêtre.
CWnd::OnXButtonDown Appelé lorsque l’utilisateur appuie XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone cliente d’une fenêtre.
CWnd::OnXButtonUp Appelé lorsque l’utilisateur libère XBUTTON1 ou XBUTTON2 lorsque le curseur se trouve dans la zone cliente d’une fenêtre.
CWnd::PostNcDestroy Cette fonction virtuelle est appelée par la fonction OnNcDestroy par défaut après la destruction de la fenêtre.
CWnd::ReflectChildNotify Fonction d’assistance, qui reflète un message à sa source.
CWnd::ReflectLastMsg Reflète le dernier message à la fenêtre enfant.
CWnd::ResizeDynamicLayout Appelé par l'infrastructure quand la taille de fenêtre change pour ajuster la disposition des fenêtres enfants, si la disposition dynamique est activée pour la fenêtre.
CWnd::WindowProc Fournit une procédure de fenêtre pour un CWnd. Par défaut, les messages sont distribués via la table des messages

Opérateurs publics

Nom Description
CWnd::operator HWND Appelé pour obtenir un handle de fenêtre.
CWnd::operator != Détermine si une fenêtre n’est pas identique à la fenêtre dont la poignée est m_hWnd.
CWnd::operator == Détermine si une fenêtre est identique à la fenêtre dont la poignée est m_hWnd.

Membres de données publics

Nom Description
CWnd::m_hWnd Indique le HWND attaché à ce CWnd.

Notes

Un objet CWnd est distinct d'une fenêtre Windows, mais les deux sont étroitement liés. Un objet CWnd est créé ou détruit par le constructeur et destructeur CWnd. La fenêtre Windows, en revanche, est une structure de données interne à Windows créée par une Create fonction membre et détruite par le CWnd destructeur virtuel. La DestroyWindow fonction détruit la fenêtre Windows sans détruire l’objet.

La CWnd classe et le mécanisme de mappage de messages masquent la WndProc fonction. Les messages de notification Windows entrants sont automatiquement routés via le mappage de messages vers les fonctions membres dumessageCWnd appropriées. Vous remplacez une fonction membre OnMessage pour gérer le message particulier d’un membre dans vos classes dérivées.

La classe CWnd vous permet aussi de créer une fenêtre enfant Windows pour votre application. Faites dériver une classe de CWnd, puis ajoutez des variables membres à la classe dérivée pour stocker les données propres à votre application. Implémentez des fonctions membres de gestionnaire de messages et une table des messages dans la classe dérivée pour préciser ce qu'il advient quand des messages sont dirigés vers la fenêtre.

Une fenêtre enfant se crée en deux étapes. Tout d’abord, appelez le constructeur CWnd pour construire l’objet CWnd , puis appelez la Create fonction membre pour créer la fenêtre enfant et l’attacher à l’objet CWnd .

Quand l'utilisateur ferme votre fenêtre enfant, détruisez l'objet CWnd ou appelez la fonction membre DestroyWindow pour supprimer la fenêtre et détruire ses structures de données.

Dans la bibliothèque MFC (Microsoft Foundation Class), d'autres classes sont dérivées de CWnd pour fournir des types de fenêtres spécifiques. De nombreuses de ces classes, notamment CFrameWnd, , CMDIFrameWndCMDIChildWnd, CViewet CDialog, sont conçues pour une dérivation plus poussée. Les classes de contrôle dérivées de CWnd, telles que CButton, peuvent être utilisées directement ou peuvent être utilisées pour d’autres dérivations de classes.

Pour plus d’informations sur l’utilisation CWnd, consultez Frame Windows et Objets Fenêtre.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

Spécifications

En-tête : afxwin.h

CWnd ::accDoDefaultAction

Appelé par l'infrastructure pour effectuer l'action par défaut de l'objet.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Paramètres

Varchild
Spécifie si l’action par défaut à appeler est celle de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour effectuer l’action par défaut de l’objet) ou un ID enfant (pour effectuer l’action par défaut de l’un des éléments enfants de l’objet).

Valeur de retour

Retourne S_OK en cas de réussite, un code d’erreur COM en cas d’échec. Consultez Les valeurs renvoyées dans IAccessible ::accDoDefaultAction dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour effectuer l’action par défaut de votre objet. Pour plus d’informations, consultez IAccessible ::accDoDefaultAction dans le Kit de développement logiciel (SDK) Windows.

CWnd::accHitTest

Appelé par l'infrastructure pour récupérer l'élément enfant ou l'objet enfant à un point déterminé de l'écran.

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

Paramètres

xLeft
Coordonnée X du point à tester (en unités d’écran).

yTop
Coordonnée Y du point à tester (en unités d’écran).

pvarChild
Reçoit des informations identifiant l’objet au point spécifié par xLeft et yTop. IAccessible::accHitTest Consultez pvarID le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::accHitTest renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::accHitTest le Kit de développement logiciel (SDK) Windows.

CWnd::accLocation

Appelé par l'infrastructure pour récupérer l'emplacement d'affichage actuel de l'objet spécifié.

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

Paramètres

pxLeft
Reçoit les coordonnées x du coin supérieur gauche de l’objet (en unités d’écran).

pyTop
Reçoit les coordonnées y de l’angle supérieur gauche de l’objet (en unités d’écran).

pcxWidth
Reçoit la largeur de l’objet (en unités d’écran).

pcyHeight
Reçoit la hauteur de l’objet (en unités d’écran).

varChild
Spécifie si l’emplacement à récupérer est celui de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

Valeur de retour

Retourne S_OK en cas de réussite, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::accLocation renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::accLocation le Kit de développement logiciel (SDK) Windows.

CWnd::accNavigate

Appelé par l'infrastructure pour accéder à un autre élément d'interface utilisateur au sein d'un conteneur et, dans la mesure du possible, récupérer l'objet.

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

Paramètres

navDir
Spécifie la direction à parcourir. IAccessible::accNavigate Consultez navDir le Kit de développement logiciel (SDK) Windows.

varStart
Spécifie l’objet de départ. IAccessible::accNavigate Consultez varStart le Kit de développement logiciel (SDK) Windows.

pvarEndUpAt
Reçoit des informations sur l’objet d’interface utilisateur de destination. IAccessible::accNavigate Consultez pvarEnd le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::accNavigate renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::accNavigate le Kit de développement logiciel (SDK) Windows.

CWnd::accSelect

Appelé par l'infrastructure pour modifier la sélection ou déplacer le focus clavier de l'objet spécifié.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Paramètres

flagsSelect
Spécifie comment modifier la sélection ou le focus actuel. IAccessible::accSelect Consultez flagsSelect le Kit de développement logiciel (SDK) Windows.

varChild
Spécifie l’objet à sélectionner. Ce paramètre peut être CHILDID_SELF (pour sélectionner l’objet lui-même) ou un ID enfant (pour sélectionner l’un des enfants de l’objet).

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::accSelect renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::accSelect le Kit de développement logiciel (SDK) Windows.

CWnd::AnimateWindow

Produit des effets spéciaux lors de l’affichage ou du masquage des fenêtres.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Paramètres

dwTime
Spécifie le temps nécessaire pour lire l’animation, en millisecondes. En règle générale, une animation prend 200 millisecondes à lire.

dwFlags
Spécifie le type d’animation. Pour obtenir la liste complète des valeurs possibles, consultez AnimateWindow.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction AnimateWindow, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::ArrangeIconicWindows

Réorganise toutes les fenêtres enfants réduites (sous forme d'icônes).

UINT ArrangeIconicWindows();

Valeur de retour

Hauteur d’une ligne d’icônes si la fonction réussit ; sinon 0.

Notes

Cette fonction membre organise également des icônes sur la fenêtre de bureau, qui couvre l’écran entier. La GetDesktopWindow fonction membre récupère un pointeur vers l’objet de fenêtre de bureau.

Pour organiser les fenêtres enfants MDI emblématiques dans une fenêtre clientE MDI, appelez CMDIFrameWnd::MDIIconArrange.

Exemple

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

Attache une fenêtre Windows à un CWnd objet.

BOOL Attach(HWND hWndNew);

Paramètres

hWndNew
Spécifie un handle dans une fenêtre Windows.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Exemple

Cet exemple montre comment utiliser Attach et Detach mapper à la fenêtre du client MDI.

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

 

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

 

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

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

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

CWnd::BeginModalState

Appelez cette fonction membre pour rendre modale une fenêtre frame.

virtual void BeginModalState();

CWnd::BeginPaint

Prépare la CWnd peinture et remplit une PAINTSTRUCT structure de données avec des informations sur la peinture.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Paramètres

lpPaint
Pointe vers la PAINTSTRUCT structure qui doit recevoir des informations de peinture.

Valeur de retour

Identifie le contexte de l’appareil pour CWnd. Le pointeur peut être temporaire et ne doit pas être stocké au-delà de l’étendue de EndPaint.

Notes

La structure de peinture contient une RECT structure de données qui a le plus petit rectangle qui entoure complètement la région de mise à jour et un indicateur qui spécifie si l’arrière-plan a été effacé.

La région de mise à jour est définie par les Invalidatefonctions , InvalidateRectou InvalidateRgn membres et par le système une fois qu’il dimensionne, déplace, crée, fait défiler ou exécute toute autre opération qui affecte la zone cliente. Si la région de mise à jour est marquée pour l’effacement, BeginPaint envoie un WM_ONERASEBKGND message.

N’appelez pas la BeginPaint fonction membre, sauf en réponse à un WM_PAINT message. Chaque appel à la BeginPaint fonction membre doit avoir un appel correspondant à la EndPaint fonction membre. Si le caret se trouve dans la zone à peindre, la BeginPaint fonction membre masque automatiquement le pointage pour l’empêcher d’être effacé.

Exemple

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

Lie la propriété liée simple par défaut de l’objet appelant (par exemple, un contrôle d’édition), marquée dans la bibliothèque de types, au curseur sous-jacent défini par le DataSourceUserNamePasswordcontrôle de code source de données.SQL

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

Paramètres

dwDispID
Spécifie la DISPID propriété d’un contrôle lié aux données qui doit être lié à un contrôle de source de données.

vtProp
Spécifie le type de la propriété à lier. Par exemple, VT_BSTR, VT_VARIANTet ainsi de suite.

szFieldName
Spécifie le nom de la colonne, dans le curseur fourni par le contrôle de source de données, auquel la propriété sera liée.

pDSCWnd
Pointe vers la fenêtre qui héberge le contrôle de source de données auquel la propriété sera liée. Appelez GetDlgItem avec l’ID de ressource de la fenêtre hôte du contrôleur de domaine pour récupérer ce pointeur.

Notes

L’objet CWnd sur lequel vous appelez cette fonction doit être un contrôle lié aux données.

Exemple

BindDefaultProperty peut être utilisé dans le contexte suivant :

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

Lie une propriété liée au curseur sur un contrôle lié aux données (par exemple, un contrôle grid) à un contrôle de source de données et inscrit cette relation avec le gestionnaire de liaisonS MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Paramètres

dwDispId
Spécifie la DISPID propriété d’un contrôle lié aux données qui doit être lié à un contrôle de source de données.

pWndDSC
Pointe vers la fenêtre qui héberge le contrôle de source de données auquel la propriété sera liée. Appelez GetDlgItem avec l’ID de ressource de la fenêtre hôte du contrôleur de domaine pour récupérer ce pointeur.

Notes

L’objet CWnd sur lequel vous appelez cette fonction doit être un contrôle lié aux données.

Exemple

BindProperty peut être utilisé dans le contexte suivant :

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

CWnd::BringWindowToTop

Place CWnd en haut d'une pile de fenêtres superposées.

void BringWindowToTop();

Notes

En outre, BringWindowToTop active les fenêtres contextuelles, les fenêtres de niveau supérieur et les fenêtres enfants MDI. La fonction membre BringWindowToTop doit être utilisée pour déterminer les fenêtres qui sont partiellement ou totalement masquées par d'autres fenêtres.

Cette fonction appelle simplement la fonction Win32 BringWindowToTop . Appelez la fonction pour modifier la SetWindowPos position d’une fenêtre dans l’ordre Z. La fonction BringWindowToTop ne modifie pas le style de la fenêtre pour en faire une fenêtre de niveau supérieur. Pour plus d’informations, consultez La différence entre HWND_TOP et HWND_TOPMOST

Exemple

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

Calcule le rectangle de fenêtre qui peut contenir le rectangle client spécifié.

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

Paramètres

lpClientRect
[in, out] Pointeur vers une structure rectangle. Lors de l’entrée, cette structure contient le rectangle client. Une fois la méthode terminée, cette structure contient le rectangle de fenêtre qui peut contenir le rectangle client spécifié.

nAdjustType
[in] Permet CWnd::adjustBorder de calculer les coordonnées de fenêtre sans le WS_EX_CLIENTEDGE style ; sinon, utilisez CWnd::adjustOutside.

Notes

La taille du rectangle de fenêtre calculée n’inclut pas d’espace pour une barre de menus.

Pour plus de restrictions d’utilisation, consultez AdjustWindowRectEx.

Exemple

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

Appelez cette fonction membre pour supprimer une info-bulle de l’écran si une info-bulle est actuellement affichée.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Paramètres

bKeys
TRUE pour annuler les info-bulles lorsqu’une touche est enfoncée et définissez le texte de la barre d’état sur la valeur par défaut ; sinon FALSE.

Notes

Remarque

L’utilisation de cette fonction membre n’a aucun effet sur les conseils d’outil gérés par votre code. Elle affecte uniquement le contrôle d’info-bulle géré par CWnd::EnableToolTips.

Exemple

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

Centre une fenêtre par rapport à son parent.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Paramètres

pAlternateOwner
Pointeur vers une autre fenêtre par rapport à laquelle elle sera centrée (autre que la fenêtre parente).

Notes

Généralement appelé à partir des CDialog::OnInitDialog boîtes de dialogue centre par rapport à la fenêtre principale de l’application. Par défaut, les fenêtres enfants centrent les fenêtres enfants par rapport à leur fenêtre parente et les fenêtres contextuelles par rapport à leur propriétaire. Si la fenêtre contextuelle n’est pas détenue, elle est centrée par rapport à l’écran. Pour centrer une fenêtre par rapport à une fenêtre spécifique qui n’est pas le propriétaire ou le parent, le pAlternateOwner paramètre peut être défini sur une fenêtre valide. Pour forcer le centrement par rapport à l’écran, passez la valeur retournée par CWnd::GetDesktopWindow .pAlternateOwner

Exemple

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

Supprime de la chaîne des visionneuses CWnd du Presse-papiers et rend la fenêtre spécifiée par hWndNext le descendant de l’ancêtre CWnd dans la chaîne.

BOOL ChangeClipboardChain(HWND hWndNext);

Paramètres

hWndNext
Identifie la fenêtre qui suit CWnd dans la chaîne de visionneuse du Presse-papiers.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

CWnd::CheckDlgButton

Sélectionne (place une marque case activée en regard) ou efface (supprime une marque de case activée de) un bouton ou modifie l’état d’un bouton à trois états.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Paramètres

nIDButton
Spécifie le bouton à modifier.

nCheck
Spécifie l’action à entreprendre. Si nCheck elle n’est pas nulle, la CheckDlgButton fonction membre place une marque case activée en regard du bouton ; si 0, la marque case activée est supprimée. Pour les boutons à trois états, s’il nCheck s’agit de 2, l’état du bouton est indéterminé.

Notes

La CheckDlgButton fonction envoie un BM_SETCHECK message au bouton spécifié.

Exemple

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

Sélectionne (ajoute une marque de case activée à) une case d’option donnée dans un groupe et efface (supprime une marque de case activée de) toutes les autres cases d’option du groupe.

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

Paramètres

nIDFirstButton
Spécifie l’identificateur entier de la première case d’option dans le groupe.

nIDLastButton
Spécifie l’identificateur entier de la dernière case d’option dans le groupe.

nIDCheckButton
Spécifie l’identificateur entier de la case d’option à case activée.

Notes

La CheckRadioButton fonction envoie un BM_SETCHECK message à la case d’option spécifiée.

Exemple

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

CWnd::ChildWindowFromPoint

Détermine qui, le cas échéant, des fenêtres enfants appartenant au CWnd point spécifié.

CWnd* ChildWindowFromPoint(POINT point) const;

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

Paramètres

point
Spécifie les coordonnées du client du point à tester.

nflags
Spécifie les fenêtres enfants à ignorer. Ce paramètre peut être une combinaison des valeurs suivantes :

Value Signification
CWP_ALL Ne pas ignorer les fenêtres enfants
CWP_SKIPINVISIBLE Ignorer les fenêtres enfants invisibles
CWP_SKIPDISABLED Ignorer les fenêtres enfants désactivées
CWP_SKIPTRANSPARENT Ignorer les fenêtres enfants transparentes

Valeur de retour

Identifie la fenêtre enfant qui contient le point. C’est NULL si le point donné se trouve en dehors de la zone cliente. Si le point se trouve dans la zone cliente, mais qu’il n’est pas contenu dans une fenêtre enfant, CWnd est retourné.

Cette fonction membre retourne une fenêtre enfant masquée ou désactivée qui contient le point spécifié.

Plusieurs fenêtres peuvent contenir le point donné. Toutefois, cette fonction retourne uniquement le CWnd* de la première fenêtre rencontrée qui contient le point.

Le CWnd* retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Exemple

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

Convertit les coordonnées clientes d'un point ou rectangle donné affiché en coordonnées d'écran.

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

Paramètres

lpPoint
Pointe vers une structure ou CPoint un POINT objet qui contient les coordonnées du client à convertir.

lpRect
Pointe vers une structure ou CRect un RECT objet qui contient les coordonnées du client à convertir.

Notes

La ClientToScreen fonction membre utilise les coordonnées clientes dans la ou RECT la POINT structure ou l’objet CPointCRect pointé vers lpPoint ou lpRect pour calculer de nouvelles coordonnées d’écran ; elle remplace ensuite les coordonnées de la structure par les nouvelles coordonnées. Les nouvelles coordonnées de l’écran sont relatives au coin supérieur gauche de l’affichage système.

La ClientToScreen fonction membre suppose que le point ou le rectangle donné se trouve dans les coordonnées du client.

Exemple

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

Réduit la fenêtre.

void CloseWindow();

Notes

Cette fonction membre émule les fonctionnalités de la fonction CloseWindow, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::ContinueModal

Cette fonction membre est appelée RunModalLoop pour déterminer quand l’état modal doit être quitté.

virtual BOOL ContinueModal();

Valeur de retour

Différent de zéro si la boucle modale doit être poursuivie ; 0 quand on EndModalLoop l’appelle.

Notes

Par défaut, elle retourne non zéro jusqu’à ce qu’elle EndModalLoop soit appelée.

CWnd::Create

Crée la fenêtre enfant spécifiée et l’attache à l’objet CWnd .

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

Paramètres

lpszClassName
[in] Pointeur vers une chaîne terminée par null qui contient le nom d’une classe de fenêtre système inscrite ; ou le nom d’une classe de fenêtre système prédéfinie.

lpszWindowName
[in] Pointeur vers une chaîne terminée par null qui contient le nom d’affichage de la fenêtre ; sinon NULL , pour aucun nom d’affichage de fenêtre.

dwStyle
[in] Combinaison au niveau du bit (OR) des styles de fenêtre. L’option WS_POPUP n’est pas un style valide.

rect
[in] Taille et emplacement de la fenêtre par rapport au coin supérieur gauche de la fenêtre parente.

pParentWnd
[in] Pointeur vers la fenêtre parente.

nID
[in] ID de la fenêtre.

pContext
[in] Pointeur vers une CCreateContext structure utilisée pour personnaliser l’architecture d’affichage de document pour l’application.

Valeur de retour

TRUE si la méthode a réussi ; sinon FALSE.

Notes

Avertissement

CWnd::PreCreateWindow affecte maintenant le hMenu membre de son CREATESTRUCT paramètre au this pointeur si le menu est NULL et que le style contient WS_CHILD. Pour des fonctionnalités appropriées, vérifiez que votre contrôle de boîte de dialogue a un ID qui n’est pas NULL.

Cette modification corrige un incident dans les scénarios d’interopérabilité managés/natifs. Une TRACE instruction dans laquelle CWnd::Create il alerte le développeur du problème.

Utilisez la AfxRegisterWndClass fonction pour inscrire des classes de fenêtre. Les classes de fenêtre définies par l’utilisateur sont disponibles dans le module où elles sont inscrites.

La CWnd::OnCreate méthode est appelée avant que la Create méthode ne retourne, et avant que la fenêtre ne devienne visible.

Exemple

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

Crée un proxy Active Accessibility pour l'objet spécifié.

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

Paramètres

wParam
Identifie l’objet accessible par le proxy d’accessibilité active. Il peut s’agir de l’une des valeurs suivantes

Value Signification
OBJID_CLIENT Fait référence à la zone cliente de la fenêtre.

lParam
Fournit des informations supplémentaires dépendantes des messages.

pResult
Pointeur vers un LRESULT pointeur qui stocke le code de résultat.

Notes

Crée un proxy Active Accessibility pour l'objet spécifié.

CWnd::CreateCaret

Crée une forme pour le caret système et la propriété de revendication du caret.

void CreateCaret(CBitmap* pBitmap);

Paramètres

pBitmap
Identifie l’image bitmap qui définit la forme d’insertion.

Notes

La bitmap doit avoir été créée précédemment par la CBitmap::CreateBitmap fonction membre, la CreateDIBitmap fonction Windows ou la CBitmap::LoadBitmap fonction membre.

CreateCaret détruit automatiquement la forme de caresse précédente, le cas échéant, quelle que soit la fenêtre qui possède le caret. Une fois créé, la touche est initialement masquée. Pour afficher la touche, la ShowCaret fonction membre doit être appelée.

Le caret système est une ressource partagée. CWnd doit créer un point d’insertion uniquement lorsqu’il a le focus d’entrée ou est actif. Il doit détruire le caret avant de perdre le focus d’entrée ou devient inactif.

Exemple

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

Utilisez cette fonction membre pour créer un contrôle ActiveX qui sera représenté dans le programme MFC par un CWnd objet.

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

Paramètres

pszClass
Cette chaîne peut contenir le « nom court » (ProgID) OLE pour la classe. Par exemple, "CIRC3.Circ3Ctrl.1" Le nom doit correspondre au même nom inscrit par le contrôle. Sinon, la chaîne peut contenir la forme de chaîne d’un CLSID, contenu dans les accolades. Par exemple, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}" Dans les deux cas, CreateControl convertit la chaîne en ID de classe correspondant.

pszWindowName
Pointeur vers le texte à afficher dans le contrôle. Définit la valeur de la propriété Caption ou Text du contrôle (le cas échéant). Si NULL, la propriété Caption ou Text du contrôle n’est pas modifiée.

dwStyle
Styles Windows. Les styles disponibles sont répertoriés sous Remarques.

rect
Spécifie la taille et la position du contrôle. Il peut s’agir d’un objet ou d’une CRectRECT structure.

ppt
Pointe vers une structure ou CPoint un POINT objet qui contient le coin supérieur gauche du contrôle.

pSize
Pointe vers une structure ou CSize un SIZE objet qui contient la taille du contrôle

*pParentWnd*
Spécifie la fenêtre parente du contrôle. Il ne doit pas être NULL.

nID
Spécifie l’ID du contrôle.

pPersist
Pointeur vers un CFile état persistant contenant le contrôle. La valeur par défaut est NULL, indiquant que le contrôle s’initialise lui-même sans restaurer son état à partir d’un stockage persistant. Si ce n’est pas NULLle cas, il doit s’agir d’un pointeur vers un CFileobjet dérivé qui contient les données persistantes du contrôle, sous la forme d’un flux ou d’un stockage. Ces données ont pu être enregistrées dans une activation précédente du client. Il CFile peut contenir d’autres données, mais doit avoir son pointeur en lecture-écriture défini sur le premier octet des données persistantes au moment de l’appel à CreateControl.

bStorage
Indique si les données dans pPersist doivent être interprétées en tant que données ou IStream en tant que IStorage données. Si les données contenues dans pPersist un stockage bStorage doivent être TRUE. Si les données contenues sont pPersist un flux, bStorage doit être FALSE. La valeur par défaut est FALSE.

bstrLicKey
Données de clé de licence facultatives. Ces données sont nécessaires uniquement pour créer des contrôles qui nécessitent une clé de licence au moment de l’exécution. Si le contrôle prend en charge les licences, vous devez fournir une clé de licence pour que le contrôle réussisse. La valeur par défaut est NULL.

clsid
ID de classe unique du contrôle.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

CreateControl est un analogue direct de la CWnd::Create fonction, qui crée la fenêtre d’un CWnd. CreateControl crée un contrôle ActiveX au lieu d’une fenêtre ordinaire.

Seuls un sous-ensemble des indicateurs Windows dwStyle sont pris en charge pour CreateControl:

  • WS_VISIBLE Crée une fenêtre initialement visible. Obligatoire si vous souhaitez que le contrôle soit visible immédiatement, comme les fenêtres ordinaires.

  • WS_DISABLED Crée une fenêtre initialement désactivée. Une fenêtre désactivée ne peut pas recevoir d’entrée de l’utilisateur. Peut être défini si le contrôle a une propriété Enabled.

  • WS_BORDER Crée une fenêtre avec une bordure mince. Peut être défini si le contrôle a une BorderStyle propriété.

  • WS_GROUP Spécifie le premier contrôle d’un groupe de contrôles. L’utilisateur peut changer le focus clavier d’un contrôle du groupe à l’autre en utilisant les touches de direction. Tous les contrôles définis avec le WS_GROUP style après le premier contrôle appartiennent au même groupe. Le contrôle suivant avec le WS_GROUP style met fin au groupe et démarre le groupe suivant.

  • WS_TABSTOP Spécifie un contrôle qui peut recevoir le focus clavier lorsque l’utilisateur appuie sur la touche TAB. Appuyez sur tabulation pour modifier le focus clavier sur le contrôle suivant du WS_TABSTOP style.

Exemple

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

Crée la fenêtre spécifiée et l’attache à l’objet CWnd .

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

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

Paramètres

dwExStyle
Combinaison au niveau du bit (OR) des styles de fenêtre étendus ; sinonNULL, pour le style de fenêtre étendu par défaut.

lpszClassName
Pointeur vers une chaîne terminée par null qui contient le nom d’une classe de fenêtre système inscrite ; ou le nom d’une classe de fenêtre système prédéfinie.

lpszWindowName
Pointeur vers une chaîne terminée par null qui contient le nom d’affichage de la fenêtre ; sinon NULL , pour aucun nom d’affichage de fenêtre.

dwStyle
Combinaison au niveau du bit (OR) des styles de fenêtre ; sinonNULL, pour le style de fenêtre par défaut.

x
Distance horizontale initiale de la fenêtre du côté gauche de l’écran ou de la fenêtre parente.

y
Distance verticale initiale de la fenêtre en haut de l’écran ou de la fenêtre parente.

nWidth
Largeur, en pixels, de la fenêtre.

nHeight
Hauteur, en pixels, de la fenêtre.

hwndParent
Pour une fenêtre enfant, handle vers la fenêtre parente ; sinon, handle de la fenêtre propriétaire si la fenêtre possède un propriétaire.

nIDorHMenu
Pour une fenêtre enfant, l’ID de la fenêtre ; sinon, l’ID d’un menu pour la fenêtre.

lpParam
Pointeur vers les données utilisateur transmises à la CWnd::OnCreate méthode dans le lpCreateParams champ.

rect
Taille et emplacement de la fenêtre par rapport à l’écran ou à la fenêtre parente.

pParentWnd
Pour une fenêtre enfant, pointeur vers la fenêtre parente ; sinon, pointeur vers la fenêtre propriétaire si la fenêtre a un propriétaire.

nID
Pour une fenêtre enfant, l’ID de la fenêtre ; sinon, l’ID d’un menu pour la fenêtre.

Valeur de retour

TRUE si la méthode a réussi ; sinon FALSE.

Notes

Avertissement

CWnd::PreCreateWindow affecte maintenant le hMenu membre de son CREATESTRUCT paramètre au this pointeur si le menu est NULL et que le style contient WS_CHILD. Pour des fonctionnalités appropriées, vérifiez que votre contrôle de boîte de dialogue a un ID qui n’est pas NULL.

Cette modification corrige un incident dans les scénarios d’interopérabilité managés/natifs. Une TRACE instruction dans laquelle CWnd::Create il alerte le développeur du problème.

Le style de fenêtre étendu par défaut est WS_EX_LEFT. Le style de fenêtre par défaut est WS_OVERLAPPED.

Utilisez la AfxRegisterWndClass fonction pour inscrire des classes de fenêtre. Les classes de fenêtre définies par l’utilisateur sont disponibles dans le module où elles sont inscrites.

Les dimensions des fenêtres enfants sont relatives au coin supérieur gauche de la zone cliente de la fenêtre parente. Les dimensions des fenêtres de niveau supérieur sont relatives au coin supérieur gauche de l’écran.

La CWnd::OnCreate méthode est appelée avant que la CreateEx méthode ne retourne, et avant que la fenêtre ne devienne visible.

Exemple

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

Crée un rectangle gris pour le caret système et la propriété des revendications du point de vue.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Paramètres

nWidth
Spécifie la largeur du caret (en unités logiques). Si ce paramètre est 0, la largeur est définie sur la largeur de bordure de fenêtre définie par le système.

nHeight
Spécifie la hauteur du caret (en unités logiques). Si ce paramètre est 0, la hauteur est définie sur la hauteur de bordure de fenêtre définie par le système.

Notes

La forme de caresse peut être une ligne ou un bloc.

Les paramètres nWidth et nHeight spécifient la largeur et la hauteur du caret (en unités logiques) ; la largeur et la hauteur exactes (en pixels) dépendent du mode de mappage.

La largeur ou la hauteur de la bordure de fenêtre du système peuvent être récupérées par la GetSystemMetrics fonction Windows avec les index et SM_CYBORDER les SM_CXBORDER index. L’utilisation de la largeur ou de la hauteur de la bordure de fenêtre garantit que le pointage sera visible sur un affichage haute résolution.

La CreateGrayCaret fonction membre détruit automatiquement la forme de caret précédente, le cas échéant, quelle que soit la fenêtre qui possède la touche. Une fois créé, la touche est initialement masquée. Pour afficher la touche, la ShowCaret fonction membre doit être appelée.

Le caret système est une ressource partagée. CWnd doit créer un point d’insertion uniquement lorsqu’il a le focus d’entrée ou est actif. Il doit détruire le caret avant de perdre le focus d’entrée ou devient inactif.

Exemple

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

CWnd::CreateSolidCaret

Crée un rectangle solide pour le caret système et la propriété des revendications du point de vue.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Paramètres

nWidth
Spécifie la largeur du caret (en unités logiques). Si ce paramètre est 0, la largeur est définie sur la largeur de bordure de fenêtre définie par le système.

nHeight
Spécifie la hauteur du caret (en unités logiques). Si ce paramètre est 0, la hauteur est définie sur la hauteur de bordure de fenêtre définie par le système.

Notes

La forme de caresse peut être une ligne ou un bloc.

Les paramètres nWidth et nHeight spécifient la largeur et la hauteur du caret (en unités logiques) ; la largeur et la hauteur exactes (en pixels) dépendent du mode de mappage.

La largeur ou la hauteur de la bordure de fenêtre du système peuvent être récupérées par la GetSystemMetrics fonction Windows avec les index et SM_CYBORDER les SM_CXBORDER index. L’utilisation de la largeur ou de la hauteur de la bordure de fenêtre garantit que le pointage sera visible sur un affichage haute résolution.

La CreateSolidCaret fonction membre détruit automatiquement la forme de caret précédente, le cas échéant, quelle que soit la fenêtre qui possède la touche. Une fois créé, la touche est initialement masquée. Pour afficher la touche, la ShowCaret fonction membre doit être appelée.

Le caret système est une ressource partagée. CWnd doit créer un point d’insertion uniquement lorsqu’il a le focus d’entrée ou est actif. Il doit détruire le caret avant de perdre le focus d’entrée ou devient inactif.

Exemple

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

CWnd::CWnd

Construit un objet CWnd.

CWnd();

Notes

La fenêtre Windows n’est pas créée et attachée tant que la fonction membre ou Create la CreateEx fonction membre n’est pas appelée.

CWnd::Default

Appelle la procédure de fenêtre par défaut.

LRESULT Default();

Valeur de retour

Dépend du message envoyé.

Notes

La procédure de fenêtre par défaut fournit un traitement par défaut pour tout message de fenêtre qu’une application ne traite pas. Cette fonction membre garantit que chaque message est traité.

Exemple

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

Appelle la procédure de fenêtre par défaut, qui fournit le traitement par défaut pour tout message de fenêtre qu’une application ne traite pas.

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

Paramètres

message
Spécifie le message Windows à traiter.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

Valeur de retour

Dépend du message envoyé.

Notes

Cette fonction membre garantit que chaque message est traité. Elle doit être appelée avec les mêmes paramètres que ceux reçus par la procédure de fenêtre.

CWnd::DeleteTempMap

Appelé automatiquement par le gestionnaire de temps d’inactivité de l’objet CWinApp .

static void PASCAL DeleteTempMap();

Notes

Supprime tous les objets temporaires CWnd créés par la FromHandle fonction membre.

Exemple

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

CWnd::DestroyWindow

Détruit la fenêtre Windows attachée à l’objet CWnd .

virtual BOOL DestroyWindow();

Valeur de retour

Différent de zéro si la fenêtre est détruite ; sinon 0.

Notes

La DestroyWindow fonction membre envoie les messages appropriés à la fenêtre pour la désactiver et supprimer le focus d’entrée. Il détruit également le menu de la fenêtre, vide la file d’attente de l’application, détruit les minuteurs en attente, supprime la propriété du Presse-papiers et interrompt la chaîne du Presse-papiers si CWnd elle se trouve en haut de la chaîne de visionneuse. Il envoie et WM_NCDESTROY envoie WM_DESTROY des messages à la fenêtre. Il ne détruit pas l’objet CWnd .

DestroyWindowest un espace réservé pour effectuer des propre up. Étant donné qu’il DestroyWindow s’agit d’une fonction virtuelle, elle est affichée dans n’importe quelle CWndclasse dérivée dans la vue de classe. Mais même si vous remplacez cette fonction dans votre CWndclasse dérivée, DestroyWindow n’est pas nécessairement appelée. S’il DestroyWindow n’est pas appelé dans le code MFC, vous devez l’appeler explicitement dans votre propre code si vous souhaitez qu’il soit appelé.

Supposons, par exemple, que vous avez remplacé DestroyWindow dans une CViewclasse dérivée de -. Étant donné que le code source MFC n’appelle DestroyWindow aucune de ses CFrameWndclasses dérivées, votre substitution DestroyWindow ne sera pas appelée, sauf si vous l’appelez explicitement.

Si la fenêtre est le parent d’une fenêtre, ces fenêtres enfants sont automatiquement détruites lorsque la fenêtre parente est détruite. La DestroyWindow fonction membre détruit d’abord les fenêtres enfants, puis la fenêtre elle-même.

La DestroyWindow fonction membre détruit également les boîtes de dialogue sans mode créées par CDialog::Create.

Si l’être CWnd détruit est une fenêtre enfant et n’a pas le WS_EX_NOPARENTNOTIFY style défini, le WM_PARENTNOTIFY message est envoyé au parent.

Exemple

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

Détache un handle Windows d'un objet CWnd et retourne le handle.

HWND Detach();

Valeur de retour

À HWND l’objet Windows.

Exemple

Consultez l’exemple pour CWnd::Attach.

CWnd::DlgDirList

Remplit une zone de liste avec une liste de fichiers ou de répertoires.

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

Paramètres

lpPathSpec
Pointe vers une chaîne terminée par null qui contient le chemin d’accès ou le nom de fichier. DlgDirList modifie cette chaîne, qui doit être suffisamment longue pour contenir les modifications. Pour plus d’informations, consultez la section « Remarques » suivante.

nIDListBox
Spécifie l’identificateur d’une zone de liste. Si nIDListBox la valeur est 0, DlgDirList part du principe qu’aucune zone de liste n’existe et qu’elle n’essaie pas de en remplir une.

nIDStaticPath
Spécifie l’identificateur du contrôle de texte statique utilisé pour afficher le lecteur et le répertoire actuels. Si nIDStaticPath la valeur est 0, DlgDirList suppose qu’aucun contrôle de texte n’est présent.

nFileType
Spécifie les attributs des fichiers à afficher. Il peut s’agir de n’importe quelle combinaison des valeurs suivantes :

  • DDL_READWRITE Fichiers de données en lecture-écriture sans attributs supplémentaires.

  • DDL_READONLY Fichiers en lecture seule.

  • DDL_HIDDEN Fichiers masqués.

  • DDL_SYSTEM Fichiers système.

  • DDL_DIRECTORY Téléphonique.

  • DDL_ARCHIVE Archives.

  • DDL_POSTMSGSLB_DIR Drapeau. Si l’indicateur LB_DIR est défini, Windows place les messages générés dans DlgDirList la file d’attente de l’application ; sinon, ils sont envoyés directement à la procédure de boîte de dialogue.

  • DDL_DRIVES Lecteurs. Si l’indicateur DDL_DRIVES est défini, l’indicateur DDL_EXCLUSIVE est défini automatiquement. Par conséquent, pour créer une liste de répertoires incluant des lecteurs et des fichiers, vous devez appeler DlgDirList deux fois : une fois avec l’indicateur DDL_DRIVES défini et une fois avec les indicateurs pour le reste de la liste.

  • DDL_EXCLUSIVE Bit exclusif. Si le bit exclusif est défini, seuls les fichiers du type spécifié sont répertoriés ; sinon, les fichiers et fichiers normaux du type spécifié sont répertoriés.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

DlgDirList envoie et envoie des LB_RESETCONTENTLB_DIR messages à la zone de liste. Elle remplit la zone de liste spécifiée par nIDListBox les noms de tous les fichiers qui correspondent au chemin d’accès donné par lpPathSpec.

Le lpPathSpec paramètre a le formulaire suivant :

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

Dans cet exemple, drive il s’agit d’une lettre de lecteur, directory est un nom de répertoire valide et filename est un nom de fichier valide qui doit contenir au moins un caractère générique carte. Les caractères génériques carte sont un point d’interrogation ( ?), qui signifie correspondre à n’importe quel caractère et un astérisque (*), ce qui signifie correspondre à un nombre quelconque de caractères.

Si vous spécifiez une chaîne de longueur 0 pour lpPathSpec, ou si vous spécifiez uniquement un nom de répertoire, mais que vous n’incluez aucune spécification de fichier, la chaîne est remplacée par « *.* ».

Si lpPathSpec elle inclut un lecteur et/ou un nom de répertoire, le lecteur actif et le répertoire sont modifiés vers le lecteur et le répertoire désignés avant que la zone de liste ne soit remplie. Le contrôle de texte identifié par nIDStaticPath est également mis à jour avec le nouveau lecteur et/ou le nom du répertoire.

Une fois la zone de liste remplie, lpPathSpec elle est mise à jour en supprimant le lecteur et/ou la partie répertoire du chemin d’accès.

Exemple

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

Remplit la zone de liste d'une zone de liste modifiable avec une liste de fichiers ou de répertoires.

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

Paramètres

lpPathSpec
Pointe vers une chaîne terminée par null qui contient le chemin d’accès ou le nom de fichier. DlgDirListComboBox modifie cette chaîne, de sorte que ces données ne doivent pas être sous la forme d’un littéral de chaîne. Consultez la section « Remarques » suivante.

nIDComboBox
Spécifie l’identificateur d’une zone de liste modifiable dans une boîte de dialogue. Si nIDComboBox la valeur est 0, DlgDirListComboBox suppose qu’aucune zone de liste modifiable n’existe et qu’elle n’essaie pas de en remplir une.

nIDStaticPath
Spécifie l’identificateur du contrôle de texte statique utilisé pour afficher le lecteur et le répertoire actuels. Si nIDStaticPath la valeur est 0, DlgDirListComboBox suppose qu’aucun contrôle de texte n’est présent.

nFileType
Spécifie les attributs de fichier DOS des fichiers à afficher. Il peut s’agir de n’importe quelle combinaison des valeurs suivantes :

  • DDL_READWRITE Fichiers de données en lecture-écriture sans attributs supplémentaires.

  • DDL_READONLY Fichiers en lecture seule.

  • DDL_HIDDEN Fichiers masqués.

  • DDL_SYSTEM Fichiers système.

  • DDL_DIRECTORY Téléphonique.

  • DDL_ARCHIVE Archives.

  • DDL_POSTMSGSCB_DIR Drapeau. Si l’indicateur CB_DIR est défini, Windows place les messages générés dans DlgDirListComboBox la file d’attente de l’application ; sinon, ils sont envoyés directement à la procédure de boîte de dialogue.

  • DDL_DRIVES Lecteurs. Si l’indicateur DDL_DRIVES est défini, l’indicateur DDL_EXCLUSIVE est défini automatiquement. Par conséquent, pour créer une liste de répertoires incluant des lecteurs et des fichiers, vous devez appeler DlgDirListComboBox deux fois : une fois avec l’indicateur DDL_DRIVES défini et une fois avec les indicateurs pour le reste de la liste.

  • DDL_EXCLUSIVE Bit exclusif. Si le bit exclusif est défini, seuls les fichiers du type spécifié sont répertoriés ; sinon, les fichiers et fichiers normaux du type spécifié sont répertoriés.

Valeur de retour

Spécifie le résultat de la fonction. Il n’est pas différent de zéro si une liste a été faite, même une liste vide. Une valeur de retour 0 implique que la chaîne d’entrée ne contenait pas de chemin de recherche valide.

Notes

DlgDirListComboBox envoie et envoie des CB_RESETCONTENTCB_DIR messages à la zone de liste déroulante. Il remplit la zone de liste de la zone de liste modifiable spécifiée par nIDComboBox les noms de tous les fichiers qui correspondent au chemin d’accès donné par lpPathSpec.

Le lpPathSpec paramètre a le formulaire suivant :

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

Dans cet exemple, drive il s’agit d’une lettre de lecteur, directory est un nom de répertoire valide et filename est un nom de fichier valide qui doit contenir au moins un caractère générique carte. Les caractères génériques carte sont un point d’interrogation ( ?), qui signifie correspondre à n’importe quel caractère et un astérisque (*), ce qui signifie correspondre à un nombre quelconque de caractères.

Si vous spécifiez une chaîne de longueur nulle pour lpPathSpec, le répertoire actif sera utilisé et lpPathSpec ne sera pas modifié. Si vous spécifiez uniquement un nom de répertoire, mais n’incluez aucune spécification de fichier, la chaîne est remplacée par « * ».

Si lpPathSpec elle inclut un lecteur et/ou un nom de répertoire, le lecteur actif et le répertoire sont modifiés vers le lecteur et le répertoire désignés avant que la zone de liste ne soit remplie. Le contrôle de texte identifié par nIDStaticPath est également mis à jour avec le nouveau lecteur et/ou le nom du répertoire.

Une fois la zone de liste déroulante remplie, lpPathSpec elle est mise à jour en supprimant la partie lecteur et/ou répertoire du chemin d’accès.

Exemple

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

Récupère la sélection actuelle d'une zone de liste.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Paramètres

lpString
Pointe vers une mémoire tampon qui doit recevoir la sélection actuelle dans la zone de liste.

nIDListBox
Spécifie l’ID entier d’une zone de liste dans la boîte de dialogue.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Il suppose que la zone de liste a été remplie par la DlgDirList fonction membre et que la sélection est une lettre de lecteur, un fichier ou un nom de répertoire.

La DlgDirSelect fonction membre copie la sélection dans la mémoire tampon donnée par lpString. S’il n’existe aucune sélection, lpString ne change pas.

DlgDirSelect envoie et envoie des LB_GETCURSELLB_GETTEXT messages à la zone de liste.

Il n’autorise pas le retour de plusieurs noms de fichier à partir d’une zone de liste. La zone de liste ne doit pas être une zone de liste à sélection multiple.

CWnd::DlgDirSelectComboBox

Récupère la sélection actuelle de la zone de liste d'une zone de liste modifiable.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Paramètres

lpString
Pointe vers une mémoire tampon qui doit recevoir le chemin d’accès sélectionné.

nIDComboBox
Spécifie l’ID entier de la zone de liste déroulante dans la boîte de dialogue.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Il suppose que la zone de liste a été remplie par la DlgDirListComboBox fonction membre et que la sélection est une lettre de lecteur, un fichier ou un nom de répertoire.

La DlgDirSelectComboBox fonction membre copie la sélection dans la mémoire tampon spécifiée. S’il n’existe aucune sélection, le contenu de la mémoire tampon n’est pas modifié.

DlgDirSelectComboBox envoie et envoie des CB_GETCURSELCB_GETLBTEXT messages à la zone de liste déroulante.

Il n’autorise pas le retour de plusieurs noms de fichier à partir d’une zone de liste déroulante.

CWnd::DoDataExchange

Appelé par l’infrastructure pour échanger et valider les données de boîte de dialogue.

virtual void DoDataExchange(CDataExchange* pDX);

Paramètres

pDX
Pointeur vers un objet CDataExchange.

Notes

N’appelez jamais cette fonction directement. Elle est appelée par la UpdateData fonction membre. Appelez UpdateData pour initialiser les contrôles d’une boîte de dialogue ou récupérer des données à partir d’une boîte de dialogue.

Lorsque vous dérivez une classe de boîte de CDialogdialogue spécifique à l’application, vous devez remplacer cette fonction membre si vous souhaitez utiliser l’échange et la validation automatiques de données de l’infrastructure. L’Assistant Ajouter une variable écrit une version substituée de cette fonction membre pour vous contenant le « mappage des données » souhaité des appels de fonction globale d’échange de données de boîte de dialogue (DDX) et de validation (VDD).

Pour générer automatiquement une version substituée de cette fonction membre, commencez par créer une ressource de dialogue avec l’éditeur de dialogue, puis dérivez une classe de dialogue spécifique à l’application. Utilisez ensuite l’Assistant Ajouter une variable pour associer des variables, des données et des plages de validation à différents contrôles dans la nouvelle boîte de dialogue. L’Assistant écrit ensuite le remplacement DoDataExchange, qui contient une carte de données. Voici un exemple de bloc de code DDX/VDD généré par l’Assistant Ajout de variable :

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

La DoDataExchange fonction membre substituée doit précéder les instructions de macro dans votre fichier source.

Pour plus d’informations sur l’échange et la validation des données de boîte de dialogue, consultez Affichage et manipulation de données dans un formulaire et un échange de données de boîte de dialogue et validation. Pour obtenir une description des macros DDX_ et VDD_ générées par l’Assistant Ajouter une variable, consultez la note technique 26.

CWnd::DragAcceptFiles

Appelez cette fonction membre à partir d’une fenêtre, à l’aide d’un CWnd pointeur, dans la fonction de CWinApp::InitInstance votre application pour indiquer que la fenêtre accepte les fichiers supprimés du Gestionnaire de fichiers Windows ou Explorateur de fichiers.

void DragAcceptFiles(BOOL bAccept = TRUE);

Paramètres

BAccept
Indicateur qui indique si les fichiers déplacés sont acceptés.

Notes

Seule la fenêtre qui appelle DragAcceptFiles avec le bAccept paramètre défini pour TRUE s’est identifiée comme étant en mesure de traiter le message WM_DROPFILESWindows. Par exemple, dans une application MDI, si le CMDIFrameWnd pointeur de fenêtre est utilisé dans l’appel DragAcceptFiles de fonction, seule la CMDIFrameWnd fenêtre obtient le WM_DROPFILES message. Ce message n’est pas envoyé à toutes les fenêtres ouvertes CMDIChildWnd . Pour qu’une CMDIChildWnd fenêtre reçoive ce message, vous devez appeler DragAcceptFiles avec le pointeur de CMDIChildWnd la fenêtre.

Pour arrêter la réception de fichiers déplacés, appelez la fonction membre avec bAccept la valeur définie FALSEsur .

CWnd::DragDetect

Capture la souris et suit ses déplacements jusqu'à ce que l'utilisateur relâche le bouton gauche, appuie sur la touche Échap ou déplace la souris en dehors du rectangle de glissement entourant le point spécifié.

BOOL DragDetect(POINT pt) const;

Paramètres

pt
Position initiale de la souris, dans les coordonnées de l’écran. La fonction détermine les coordonnées du rectangle de glissement à l’aide de ce point.

Valeur de retour

Si l’utilisateur a déplacé la souris en dehors du rectangle de glisser tout en maintenant le bouton gauche enfoncé, la valeur de retour est différente de zéro.

Si l’utilisateur n’a pas déplacé la souris en dehors du rectangle de glisser tout en maintenant le bouton gauche enfoncé, la valeur de retour est égale à zéro.

Notes

Cette fonction membre émule les fonctionnalités de la fonction DragDetect, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::DrawAnimatedRects

Dessine un rectangle en mode filaire et l'anime pour indiquer l'ouverture d'une icône ou la réduction ou agrandissement d'une fenêtre.

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

Paramètres

idAni
Spécifie le type d’animation. Si vous spécifiez IDANI_CAPTION, la fenêtre légende s’animera de la position spécifiée par lprcFrom la position spécifiée par lprcTo. L’effet est similaire à la réduction ou à l’optimisation d’une fenêtre.

lprcFrom
Pointeur vers une RECT structure spécifiant l’emplacement et la taille de l’icône ou de la fenêtre réduite.

lprcTo
Pointeur vers une RECT structure spécifiant l’emplacement et la taille de la fenêtre restaurée

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction DrawAnimatedRects, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::DrawCaption

Dessine une fenêtre légende.

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

Paramètres

pDC
Pointeur vers un contexte de périphérique. La fonction dessine la fenêtre légende dans ce contexte d’appareil.

lprc
Pointeur vers une RECT structure qui spécifie le rectangle englobant de la fenêtre légende.

uFlags
Spécifie les options de dessin. Pour obtenir la liste complète des valeurs, consultez DrawCaption.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction DrawCaption, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::DrawMenuBar

Redessine la barre de menus.

void DrawMenuBar();

Notes

Si une barre de menus est modifiée une fois que Windows a créé la fenêtre, appelez cette fonction pour dessiner la barre de menus modifiée.

Exemple

Consultez l’exemple pour CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Active les fonctions d’accessibilité active définies par l’utilisateur.

void EnableActiveAccessibility();

Notes

La prise en charge de l’accessibilité active par défaut de MFC est suffisante pour les fenêtres et contrôles standard, y compris les contrôles ActiveX ; toutefois, si votre CWndclasse dérivée contient des éléments d’interface utilisateur non autorisés, MFC n’a aucun moyen de les connaître. Dans ce cas, vous devez remplacer les fonctions membres Active Accessibility appropriées dans votre classe, et vous devez appeler EnableActiveAccessibility le constructeur de la classe.

CWnd::EnableDynamicLayout

Active ou désactive le gestionnaire de disposition dynamique. Quand la disposition dynamique est activée, la position et la taille des fenêtres enfants peuvent s'ajuster dynamiquement quand l'utilisateur redimensionne la fenêtre.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Paramètres

bEnable
TRUE pour activer la disposition dynamique ; FALSE pour désactiver la disposition dynamique.

Notes

Si vous voulez activer la disposition dynamique, vous devez en faire plus que simplement appeler cette méthode. Vous devez aussi fournir les informations de disposition dynamique, qui définissent comment les contrôles de la fenêtre se comportent lors des modifications de taille. Vous pouvez spécifier ces informations pour chaque contrôle, dans l'éditeur de ressources ou par programme. Voir La disposition dynamique.

CWnd::EnableD2DSupport

Active ou désactive la prise en charge D2D de la fenêtre. Appelez cette méthode avant que la fenêtre principale soit initialisée.

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

Paramètres

bEnable
Spécifie si la prise en charge D2D est activée ou désactivée.

bUseDCRenderTarget
Espèces indiquant s’il faut utiliser la cible de rendu du contexte d’appareil (DC), CDCRenderTarget. Si FALSE, CHwndRenderTarget est utilisé.

CWnd::EnableScrollBar

Active ou désactive une flèche (ou les deux) d'une barre de défilement.

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

Paramètres

nSBFlags
Spécifie le type de barre de défilement. Peut avoir l'une des valeurs suivantes :

  • SB_BOTH Active ou désactive les flèches des barres de défilement horizontales et verticales associées à la fenêtre.

  • SB_HORZ Active ou désactive les flèches de la barre de défilement horizontale associée à la fenêtre.

  • SB_VERT Active ou désactive les flèches de la barre de défilement verticale associée à la fenêtre.

nArrowFlags
Spécifie si les flèches de barre de défilement sont activées ou désactivées et quelles flèches sont activées ou désactivées. Peut avoir l'une des valeurs suivantes :

  • ESB_ENABLE_BOTH Active les deux flèches d’une barre de défilement (par défaut).

  • ESB_DISABLE_LTUP Désactive la flèche gauche d’une barre de défilement horizontale ou la flèche vers le haut d’une barre de défilement verticale.

  • ESB_DISABLE_RTDN Désactive la flèche droite d’une barre de défilement horizontale ou de la flèche vers le bas d’une barre de défilement verticale.

  • ESB_DISABLE_BOTH Désactive les deux flèches d’une barre de défilement.

Valeur de retour

Différent de zéro si les flèches sont activées ou désactivées comme spécifié. Sinon, il s’agit de 0, ce qui indique que les flèches sont déjà dans l’état demandé ou qu’une erreur s’est produite.

CWnd::EnableScrollBarCtrl

Active ou désactive la barre de défilement pour cette fenêtre.

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

Paramètres

nBar
Identificateur de barre de défilement.

bEnable
Spécifie si la barre de défilement doit être activée ou désactivée.

Notes

Si la fenêtre a un contrôle de barre de défilement frère, cette barre de défilement est utilisée ; sinon, la barre de défilement de la fenêtre est utilisée.

CWnd::EnableToolTips

Active les conseils de l’outil pour la fenêtre donnée.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Paramètres

bEnable
Spécifie si le contrôle info-bulle est activé ou désactivé. TRUE active le contrôle ; FALSE désactive le contrôle.

Valeur de retour

TRUE si les info-bulles sont activées ; sinon FALSE.

Notes

Remplacez OnToolHitTest pour fournir le TOOLINFO struct ou les structs de la fenêtre.

Remarque

Certaines fenêtres, telles que CToolBar, fournissent une implémentation intégrée de OnToolHitTest.

Pour plus d’informations sur cette structure, consultez TOOLINFO le Kit de développement logiciel (SDK) Windows.

L’appel EnableToolTips n’est pas suffisant pour afficher les conseils d’outil pour vos contrôles enfants, sauf si la fenêtre parente est dérivée CFrameWndde . Cela est dû au fait que CFrameWnd fournit un gestionnaire par défaut pour la TTN_NEEDTEXT notification. Si votre fenêtre parente n’est pas dérivée CFrameWnd, autrement dit, s’il s’agit d’une boîte de dialogue ou d’un affichage de formulaire, les info-bulles pour vos contrôles enfants ne s’affichent pas correctement, sauf si vous fournissez un gestionnaire pour la TTN_NEEDTEXT notification d’info-bulle. Consultez l’Astuces outil.

Les conseils d’outil par défaut fournis pour vos fenêtres EnableToolTips n’ont pas de texte associé. Pour récupérer du texte pour que l’info-bulle s’affiche, la TTN_NEEDTEXT notification est envoyée à la fenêtre parente du contrôle info-bulle juste avant l’affichage de la fenêtre info-bulle. S’il n’existe aucun gestionnaire pour ce message pour affecter une valeur au pszText membre de la TOOLTIPTEXT structure, aucun texte n’est affiché pour l’info-bulle.

Exemple

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

Active ou désactive les info-bulles de suivi.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Paramètres

bEnable
Spécifie si les conseils de l’outil de suivi sont activés ou désactivés. Si ce paramètre est TRUEle cas, les conseils de l’outil de suivi sont activés. Si ce paramètre est FALSEle cas, les conseils de l’outil de suivi sont désactivés.

Valeur de retour

Indique l’état avant l’appel de la EnableWindow fonction membre. La valeur de retour n’est pas nulle si la fenêtre a été précédemment désactivée. La valeur de retour est 0 si la fenêtre a été précédemment activée ou si une erreur s’est produite.

Notes

Les info-bulles de suivi sont des fenêtres d’info-bulle que vous pouvez positionner dynamiquement sur l’écran. En mettant rapidement à jour la position, la fenêtre d’info-bulle semble se déplacer en douceur, ou « suivre ». Cette fonctionnalité peut être utile si vous avez besoin d’un texte d’info-bulle pour suivre la position du pointeur au fur et à mesure qu’il se déplace.

CWnd::EnableWindow

Active ou désactive les entrées de souris et de clavier.

BOOL EnableWindow(BOOL bEnable = TRUE);

Paramètres

bEnable
Spécifie si la fenêtre donnée doit être activée ou désactivée. Si ce paramètre est TRUEle cas, la fenêtre est activée. Si ce paramètre est FALSEle cas, la fenêtre est désactivée.

Valeur de retour

Indique l’état avant l’appel de la EnableWindow fonction membre. La valeur de retour n’est pas nulle si la fenêtre a été précédemment désactivée. La valeur de retour est 0 si la fenêtre a été précédemment activée ou si une erreur s’est produite.

Notes

Lorsque l’entrée est désactivée, les entrées telles que les clics de souris et les séquences de touches sont ignorées. Lorsque l’entrée est activée, la fenêtre traite toutes les entrées.

Si l’état activé change, le WM_ENABLE message est envoyé avant que cette fonction ne retourne.

Si elle est désactivée, toutes les fenêtres enfants sont implicitement désactivées, bien qu’elles ne soient pas envoyées WM_ENABLE .

Une fenêtre doit être activée avant de pouvoir être activée. Par exemple, si une application affiche une boîte de dialogue sans mode et a désactivé sa fenêtre principale, la fenêtre principale doit être activée avant la destruction de la boîte de dialogue. Sinon, une autre fenêtre obtient le focus d’entrée et est activée. Si une fenêtre enfant est désactivée, elle est ignorée lorsque Windows tente de déterminer quelle fenêtre doit recevoir des messages de souris.

Par défaut, une fenêtre est activée lors de sa création. Une application peut spécifier le WS_DISABLED style dans la Create fonction ou CreateEx membre pour créer une fenêtre initialement désactivée. Une fois qu’une fenêtre a été créée, une application peut également utiliser la EnableWindow fonction membre pour activer ou désactiver la fenêtre.

Une application peut utiliser cette fonction pour activer ou désactiver un contrôle dans une boîte de dialogue. Un contrôle désactivé ne peut pas recevoir le focus d’entrée, ni un utilisateur ne peut y accéder.

Exemple

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

Termine un appel à RunModalLoop.

virtual void EndModalLoop(int nResult);

Paramètres

nResult
Contient la valeur à retourner à l’appelant de RunModalLoop.

Notes

Le nResult paramètre est propagé à la valeur de retour de RunModalLoop.

CWnd::EndModalState

Appelez cette fonction membre pour changer une fenêtre frame modale en fenêtre frame non modale.

virtual void EndModalState();

CWnd::EndPaint

Marque la fin de la peinture dans la fenêtre donnée.

void EndPaint(LPPAINTSTRUCT lpPaint);

Paramètres

lpPaint
Pointe vers une PAINTSTRUCT structure qui contient les informations de peinture récupérées par la BeginPaint fonction membre.

Notes

La EndPaint fonction membre est requise pour chaque appel à la BeginPaint fonction membre, mais uniquement une fois la peinture terminée.

Si le caret a été masqué par la BeginPaint fonction membre, EndPaint restaure le point d’insertion à l’écran.

Exemple

Consultez l’exemple pour CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Initie une ressource de boîte de dialogue

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

Paramètres

lpszResourceName
Pointeur vers une chaîne terminée par null spécifiant le nom de la ressource.

lpResource
Pointeur vers une ressource.

Valeur de retour

TRUE si une ressource de dialogue est exécutée ; sinon FALSE.

Notes

ExecuteDlgInit utilisera des ressources liées au module en cours d’exécution, ou des ressources provenant d’autres sources. Pour ce faire, ExecuteDlgInit recherche un handle de ressource en appelant AfxFindResourceHandle. Si votre application MFC n’utilise pas la DLL partagée (MFCx0[U][D].DLL), AfxFindResourceHandle les appels AfxGetResourceHandle, qui retourne le handle de ressource actuel pour l’exécutable. Si votre application MFC qui utilise MFCx0[U][D].DLL, AfxFindResourceHandle traverse la CDynLinkLibrary liste d’objets des DLL d’extension MFC et partagées à la recherche du handle de ressource approprié.

CWnd::FilterToolTipMessage

Appelé par l’infrastructure pour afficher les messages d’info-bulle.

void FilterToolTipMessage(MSG* pMsg);

Paramètres

pMsg
Pointeur vers le message d’info-bulle.

Notes

Dans la plupart des applications MFC, cette méthode est appelée par l’infrastructure et PreTranslateMessageEnableToolTipsvous n’avez pas besoin de l’appeler vous-même.

Toutefois, dans certaines applications, par exemple certains contrôles ActiveX, ces méthodes peuvent ne pas être appelées par l’infrastructure, et vous devrez vous appeler FilterToolTipMessage vous-même. Pour plus d’informations, consultez Méthodes de création de l’outil Astuces.

CWnd::FindWindow

Retourne le niveau CWnd supérieur dont la classe de fenêtre est donnée par lpszClassName et dont le nom de la fenêtre, ou le titre, est donné par lpszWindowName.

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

Paramètres

lpszClassName
Pointe vers une chaîne terminée par null qui spécifie le nom de classe de la fenêtre (une WNDCLASS structure). Si lpClassName c’est NULLle cas, tous les noms de classes correspondent.

lpszWindowName
Pointe vers une chaîne terminée par null qui spécifie le nom de la fenêtre (titre de la fenêtre). Si lpWindowName c’est NULLle cas, tous les noms de fenêtre correspondent.

Valeur de retour

Identifie la fenêtre qui a le nom de classe et le nom de la fenêtre spécifiés. C’est NULL si aucune fenêtre de ce type n’est trouvée.

Le CWnd* peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Cette fonction ne recherche pas les fenêtres enfants.

Exemple

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

Récupère l’objet de fenêtre dont le nom de classe et le nom de la fenêtre correspondent aux chaînes spécifiées.

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

Paramètres

hwndParent
Gérez la fenêtre parente dont les fenêtres enfants doivent être recherchées.

hwndChildAfter
Gérer vers une fenêtre enfant. La recherche commence par la fenêtre enfant suivante dans l’ordre Z. La fenêtre enfant doit être une fenêtre enfant directe de hwndParent, pas seulement une fenêtre descendante.

lpszClass
Pointeur vers une chaîne terminée par null qui spécifie le nom de classe ou un atome de classe créé par un appel précédent à l’ou RegisterClassRegisterClassEx.

lpszWindow
Pointeur vers une chaîne terminée par null qui spécifie le nom de la fenêtre (titre de la fenêtre). Si ce paramètre est NULL, tous les noms de fenêtre correspondent.

Valeur de retour

Si la fonction réussit, la valeur de retour est un pointeur vers l’objet de fenêtre ayant les noms de classe et de fenêtre spécifiés. Si la fonction échoue, la valeur de retour est NULL.

Notes

Cette fonction membre émule les fonctionnalités de la fonction FindWindowEx, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::FlashWindow

Clignote une fois la fenêtre donnée.

BOOL FlashWindow(BOOL bInvert);

Paramètres

bInvert
Spécifie si l’état CWnd d’origine doit être flashé ou retourné à son état d’origine. Il CWnd est flashé d’un état à l’autre si bInvert c’est TRUE. Si bInvert c’est FALSEle cas, la fenêtre est retournée à son état d’origine (actif ou inactif).

Valeur de retour

Différent de zéro si la fenêtre était active avant l’appel à la FlashWindow fonction membre ; sinon, 0.

Notes

Pour un flashage successif, créez un minuteur système et appelez FlashWindowà plusieurs reprises . Clignoter les CWnd moyens de modifier l’apparence de sa barre de titre comme si le changement de l’état CWnd inactif à l’état actif, ou inversement. (Une barre de titre inactive passe à une barre de titre active ; une barre de titre active passe à une barre de titre inactive.)

En règle générale, une fenêtre est flashée pour informer l’utilisateur qu’elle nécessite une attention, mais qu’elle n’a pas actuellement le focus d’entrée.

Le bInvert paramètre ne doit être FALSE que lorsque la fenêtre obtient le focus d’entrée et ne clignote plus ; il doit être TRUE sur les appels successifs en attendant d’obtenir le focus d’entrée.

Cette fonction retourne toujours une valeur différente de zéro pour les fenêtres réduites. Si la fenêtre est réduite, FlashWindow clignote l’icône de la fenêtre ; bInvert elle est ignorée pour les fenêtres réduites.

Exemple

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

Clignote la fenêtre donnée.

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

Paramètres

*dwFlags*
Spécifie l’état flash. Pour obtenir la liste complète des valeurs, consultez la FLASHWINFO structure.

uCount
Spécifie le nombre de fois où flasher la fenêtre.

dwTimeout
Spécifie le taux, en millisecondes, auquel la fenêtre sera flashée. Si dwTimeout elle est égale à zéro, la fonction utilise le taux de clignotement du curseur par défaut.

Valeur de retour

La valeur de retour spécifie l’état de la fenêtre avant l’appel à la FlashWindowEx fonction. Si la fenêtre légende a été dessinée comme active avant l’appel, la valeur de retour n’est pas nulle. Sinon, la valeur de retour est égale à zéro.

Notes

Cette méthode émule les fonctionnalités de la fonction FlashWindowEx, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::FromHandle

Retourne un pointeur vers un objet CWnd quand un handle de fenêtre lui est fourni. Si un CWnd objet n’est pas attaché au handle, un objet temporaire CWnd est créé et attaché.

static CWnd* PASCAL FromHandle(HWND hWnd);

Paramètres

hWnd
Une HWND fenêtre Windows.

Valeur de retour

Retourne un pointeur vers un objet CWnd quand un handle de fenêtre lui est fourni. Si un CWnd objet n’est pas attaché au handle, un objet temporaire CWnd est créé et attaché.

Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

CWnd::FromHandlePermanent

Retourne un pointeur vers un objet CWnd quand un handle de fenêtre lui est fourni.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Paramètres

hWnd
Une HWND fenêtre Windows.

Valeur de retour

Pointeur vers un objet CWnd.

Notes

Si un CWnd objet n’est pas attaché au handle, NULL est retourné.

Cette fonction, contrairement FromHandleà celle-ci, ne crée pas d’objets temporaires.

CWnd::get_accChild

Appelé par l'infrastructure pour récupérer l'adresse d'une interface IDispatch pour l'enfant spécifié.

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

Paramètres

varChild
Identifie l’enfant dont IDispatch l’interface doit être récupérée.

ppdispChild
Reçoit l’adresse de l’interface de l’objet IDispatch enfant.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accChild renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accChild le Kit de développement logiciel (SDK) Windows.

CWnd::get_accChildCount

Appelé par l'infrastructure pour récupérer le nombre d'enfants appartenant à cet objet.

virtual HRESULT get_accChildCount(long* pcountChildren);

Paramètres

pcountChildren
Reçoit le nombre d’enfants.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accChildCount renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC). Appelez la version de classe de base, puis ajoutez les éléments enfants non autorisés.

Pour plus d’informations, consultez IAccessible::get_accChildCount le Kit de développement logiciel (SDK) Windows.

CWnd::get_accDefaultAction

Appelé par l'infrastructure pour récupérer une chaîne qui décrit l'action par défaut de l'objet.

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

Paramètres

varChild
Spécifie si l’action par défaut à récupérer est celle de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszDefaultAction
Adresse d’une BSTR chaîne localisée décrivant l’action par défaut de l’objet spécifié, ou NULL si cet objet n’a aucune action par défaut.

Valeur de retour

Retourne S_OK en cas de réussite, un code d’erreur COM en cas d’échec. Consultez Les valeurs renvoyées dans IAccessible ::get_accDefaultAction dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour décrire l’action par défaut de votre objet.

Pour plus d’informations, consultez IAccessible::get_accDefaultAction le Kit de développement logiciel (SDK) Windows.

CWnd::get_accDescription

Appelé par l'infrastructure pour récupérer une chaîne qui décrit l'aspect visuel de l'objet spécifié.

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

Paramètres

varChild
Spécifie si la description à récupérer est celle de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszDescription
Adresse d’une BSTR chaîne localisée décrivant l’objet spécifié ou NULL si aucune description n’est disponible pour cet objet.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accDescription renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour décrire votre objet. Appelez la version de la classe de base et ajoutez votre description.

Pour plus d’informations, consultez IAccessible::get_accDescription le Kit de développement logiciel (SDK) Windows.

CWnd::get_accFocus

Appelé par l'infrastructure pour récupérer l'objet qui a le focus clavier.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Paramètres

pvarChild
Reçoit des informations sur l’objet qui a le focus. IAccessible::get_accFocus Consultez pvarID le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accFocus renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accFocus le Kit de développement logiciel (SDK) Windows.

CWnd::get_accHelp

Appelé par l’infrastructure pour récupérer la chaîne de propriété Help d’un objet.

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

Paramètres

varChild
Spécifie si les informations d’aide à récupérer sont celles de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszHelp
Adresse d’une BSTR chaîne localisée contenant les informations d’aide pour l’objet spécifié ou NULL si aucune information d’aide n’est disponible.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accHelp renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour fournir du texte d’aide pour votre objet.

Pour plus d’informations, consultez IAccessible::get_accHelp le Kit de développement logiciel (SDK) Windows.

CWnd::get_accHelpTopic

Appelé par l’infrastructure pour récupérer le chemin complet du fichier WinHelp associé à l’objet spécifié et l’identificateur de la rubrique appropriée dans ce fichier.

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

Paramètres

pszHelpFile
Adresse d’un BSTR chemin d’accès complet du WinHelp fichier associé à l’objet spécifié, le cas échéant.

varChild
Spécifie si la rubrique d’aide à récupérer est celle de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF soit (pour obtenir une rubrique d’aide pour l’objet) soit un ID enfant (pour obtenir une rubrique d’aide pour l’un des éléments enfants de l’objet).

pidTopic
Identifie la rubrique du fichier d’aide associée à l’objet spécifié. IAccessible::get_accHelpTopic Consultez pidTopic le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accHelpTopic renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour fournir des informations d’aide sur votre objet.

Pour plus d’informations, consultez IAccessible::get_accHelpTopic le Kit de développement logiciel (SDK) Windows.

CWnd::get_accKeyboardShortcut

Appelé par l'infrastructure pour récupérer la touche de raccourci ou la touche d'accès rapide de l'objet spécifié.

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

Paramètres

varChild
Spécifie si le raccourci clavier à récupérer est celui de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszKeyboardShortcut
Adresse d’une BSTR chaîne localisée identifiant le raccourci clavier ou NULL si aucun raccourci clavier n’est associé à l’objet spécifié.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accKeyboardShortcut renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de Active Accessibility MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour identifier le raccourci clavier de votre objet.

Pour plus d’informations, consultez IAccessible::get_accKeyboardShortcut le Kit de développement logiciel (SDK) Windows.

CWnd::get_accName

Appelé par l'infrastructure pour récupérer le nom de l'objet spécifié.

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

Paramètres

varChild
Spécifie si le nom à récupérer est celui de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszName
Adresse d’une BSTR chaîne qui reçoit une chaîne contenant le nom de l’objet spécifié.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accName renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée pour renvoyer le nom de votre objet.

Pour plus d’informations, consultez IAccessible::get_accName le Kit de développement logiciel (SDK) Windows.

CWnd::get_accParent

Appelé par l'infrastructure pour récupérer l'interface IDispatch du parent de l'objet.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Paramètres

ppdispParent
Reçoit l’adresse de l’interface de l’objet IDispatch parent. La variable est définie NULL si aucun parent n’existe ou si l’enfant ne peut pas accéder à son parent.

Valeur de retour

Retourne S_OK une valeur réussie, un COM code d’erreur en cas d’échec. Consultez Les valeursIAccessible::get_accParent renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Dans la plupart des cas, vous n’avez pas à remplacer cette fonction.

Pour plus d’informations, consultez IAccessible::get_accParent le Kit de développement logiciel (SDK) Windows.

CWnd::get_accRole

Appelé par l'infrastructure pour récupérer les informations qui décrivent le rôle de l'objet spécifié.

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

Paramètres

varChild
Spécifie si les informations de rôle à récupérer sont celles de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pvarRole
Reçoit les informations de rôle. IAccessible::get_accRole Consultez pvarRole le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accRole renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accRole le Kit de développement logiciel (SDK) Windows.

CWnd::get_accSelection

Appelé par l'infrastructure pour récupérer les enfants sélectionnés de cet objet.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Paramètres

pvarChildren
Reçoit des informations sur les enfants sélectionnés. IAccessible::get_accSelection Consultez pvarChildren le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK en cas de réussite, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accSelection renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accSelection le Kit de développement logiciel (SDK) Windows.

CWnd::get_accState

Appelé par l'infrastructure pour récupérer l'état actuel de l'objet spécifié.

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

Paramètres

varChild
Spécifie si les informations d’état à récupérer sont celles de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pvarState
Reçoit des informations sur l’état de l’objet. IAccessible::get_accState Consultez pvarState le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accState renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accState le Kit de développement logiciel (SDK) Windows.

CWnd::get_accValue

Appelé par l'infrastructure pour récupérer la valeur de l'objet spécifié.

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

Paramètres

varChild
Spécifie si les informations de valeur à récupérer sont celles de l’objet ou de l’un des éléments enfants de l’objet. Ce paramètre peut être CHILDID_SELF (pour obtenir des informations sur l’objet) ou un ID enfant (pour obtenir des informations sur l’élément enfant de l’objet).

pszValue
Adresse de la BSTR chaîne localisée contenant la valeur actuelle de l’objet.

Valeur de retour

Retourne S_OK une valeur réussie, un code d’erreur COM en cas d’échec. Consultez Les valeursIAccessible::get_accValue renvoyées dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction fait partie de la prise en charge de l’accessibilité active de MFC.

Remplacez cette fonction dans votre CWndclasse dérivée si vous avez des éléments d’interface utilisateur non autorisés (autres que les contrôles ActiveX sans fenêtre, qui gèrent MFC).

Pour plus d’informations, consultez IAccessible::get_accValue le Kit de développement logiciel (SDK) Windows.

CWnd::GetActiveWindow

Récupère un pointeur vers la fenêtre active.

static CWnd* PASCAL GetActiveWindow();

Valeur de retour

Fenêtre active ou NULL si aucune fenêtre n’était active au moment de l’appel. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

La fenêtre active est la fenêtre qui a le focus d’entrée actuel ou la fenêtre explicitement rendue active par la SetActiveWindow fonction membre.

CWnd::GetAncestor

Récupère l'objet fenêtre ancêtre de la fenêtre spécifiée.

CWnd* GetAncestor(UINT gaFlags) const;

Paramètres

gaFlags
Spécifie l’ancêtre à récupérer. Pour obtenir la liste complète des valeurs possibles, consultez GetAncestor.

Valeur de retour

Si la fonction réussit, la valeur de retour est un pointeur vers l’objet de fenêtre ancêtre. Si la fonction échoue, la valeur de retour est NULL.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetAncestor, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetCapture

Récupère la fenêtre qui a la capture de la souris.

static CWnd* PASCAL GetCapture();

Valeur de retour

Identifie la fenêtre qui a la capture de la souris. C’est NULL si aucune fenêtre n’a la capture de la souris.

La valeur de retour peut être temporaire et ne doit pas être stockée pour une utilisation ultérieure.

Notes

Une seule fenêtre possède la capture de la souris à un moment donné. Une fenêtre reçoit la capture de la souris lorsque la SetCapture fonction membre est appelée. Cette fenêtre reçoit l’entrée de la souris si le curseur se trouve ou non dans ses bordures.

CWnd::GetCaretPos

Récupère les coordonnées du client de la position actuelle du caret et les retourne en tant que CPoint.

static CPoint PASCAL GetCaretPos();

Valeur de retour

CPoint objet contenant les coordonnées de la position du pointage.

Notes

La position d’insertion est donnée dans les coordonnées du client de la CWnd fenêtre.

CWnd::GetCheckedRadioButton

Récupère l’ID de la case d’option actuellement case activée dans le groupe spécifié.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Paramètres

nIDFirstButton
Spécifie l’identificateur entier de la première case d’option dans le groupe.

nIDLastButton
Spécifie l’identificateur entier de la dernière case d’option dans le groupe.

Valeur de retour

ID de la case d’option case activée ed, ou 0 si aucune option n’est sélectionnée.

CWnd::GetClientRect

Copie les coordonnées du client de la CWnd zone cliente dans la structure pointée par lpRect.

void GetClientRect(LPRECT lpRect) const;

Paramètres

lpRect
Pointe vers une RECT structure ou un CRect objet pour recevoir les coordonnées du client. Les left membres seront top 0. bottom Les right membres et les membres contiennent la largeur et la hauteur de la fenêtre.

Notes

Les coordonnées du client spécifient les coins supérieur gauche et inférieur droit de la zone cliente. Étant donné que les coordonnées du client sont relatives aux angles supérieur gauche de la CWnd zone cliente, les coordonnées du coin supérieur gauche sont (0,0).

Exemple

Consultez l’exemple pour CWnd::IsIconic.

CWnd::GetClipboardOwner

Récupère le propriétaire actuel du Presse-papiers.

static CWnd* PASCAL GetClipboardOwner();

Valeur de retour

Identifie la fenêtre propriétaire du Presse-papiers si la fonction réussit. Sinon, c’est NULL.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Le Presse-papiers peut toujours contenir des données même si elles ne sont pas détenues actuellement.

CWnd::GetClipboardViewer

Récupère la première fenêtre de la chaîne de visionneuse du Presse-papiers.

static CWnd* PASCAL GetClipboardViewer();

Valeur de retour

Identifie la fenêtre actuellement responsable de l’affichage du Presse-papiers en cas de réussite ; sinon NULL (par exemple, s’il n’y a pas de visionneuse).

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

CWnd::GetControlUnknown

Appelez cette fonction membre pour récupérer un pointeur vers un contrôle OLE inconnu.

LPUNKNOWN GetControlUnknown();

Valeur de retour

Pointeur vers l’interface IUnknown du contrôle OLE représenté par cet CWnd objet. Si cet objet ne représente pas un contrôle OLE, la valeur de retour est NULL.

Notes

Vous ne devez pas libérer ce IUnknown pointeur. En règle générale, vous devez utiliser pour obtenir une interface spécifique du contrôle.

Le pointeur d’interface retourné par GetControlUnknown n’est pas comptabilisé par référence. N’appelez IUnknown::Release pas le pointeur, sauf si vous l’avez appelé IUnknown::AddRef précédemment.

Exemple

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

Retourne un pointeur vers le message actuellement traité par cette fenêtre. Doit être appelé uniquement lorsqu’il s’agit d’une fonction membre du gestionnaire de messages OnMessage .

static const MSG* PASCAL GetCurrentMessage();

Valeur de retour

Retourne un pointeur vers la MSG structure qui contient le message que la fenêtre traite actuellement. Doit être appelé uniquement lorsqu’un gestionnaire de messages est activé.

Exemple

Consultez l’exemple pour CMDIFrameWnd::MDICascade.

CWnd::GetDC

Récupère un pointeur vers un contexte d’appareil commun, de classe ou privé pour la zone cliente en fonction du style de classe spécifié pour le CWnd.

CDC* GetDC();

Valeur de retour

Identifie le contexte de l’appareil pour la CWnd zone cliente en cas de réussite ; sinon, la valeur de retour est NULL. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Pour les contextes d’appareil courants, GetDC attribue des attributs par défaut au contexte chaque fois qu’il est récupéré. Pour les contextes de classe et privés, GetDC laisse les attributs précédemment affectés inchangés. Le contexte de l’appareil peut être utilisé dans les fonctions GDI (Graphics Device Interface) suivantes pour dessiner dans la zone cliente.

Sauf si le contexte de l’appareil appartient à une classe de fenêtre, la ReleaseDC fonction membre doit être appelée pour libérer le contexte après la peinture.

Un contexte d’appareil appartenant à la CWnd classe est retourné par la GetDC fonction membre si CS_CLASSDC, CS_OWNDCou CS_PARENTDC a été spécifié comme style dans la WNDCLASS structure lorsque la classe a été inscrite.

CWnd::GetDCEx

Récupère le handle d’un contexte d’appareil pour la CWnd fenêtre.

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

Paramètres

prgnClip
Identifie une région de découpage qui peut être combinée à la région visible de la fenêtre cliente.

flags
Peut avoir l’une des valeurs prédéfinies suivantes :

  • DCX_CACHERetourne un contexte d’appareil à partir du cache plutôt que de la fenêtre ou CLASSDC de la OWNDC fenêtre. Remplace CS_OWNDC et CS_CLASSDC.

  • DCX_CLIPCHILDREN Exclut les régions visibles de toutes les fenêtres enfants sous la CWnd fenêtre.

  • DCX_CLIPSIBLINGS Exclut les régions visibles de toutes les fenêtres frères au-dessus de la CWnd fenêtre.

  • DCX_EXCLUDERGN Exclut la région de découpage identifiée par prgnClip la région visible du contexte de l’appareil retourné.

  • DCX_INTERSECTRGN Croise la région de découpage identifiée par prgnClip la région visible du contexte de l’appareil retourné.

  • DCX_LOCKWINDOWUPDATE Autorise le dessin même s’il existe un LockWindowUpdate appel en vigueur qui exclurait autrement cette fenêtre. Cette valeur est utilisée pour dessiner pendant le suivi.

  • DCX_PARENTCLIPUtilise la région visible de la fenêtre parente et ignore les bits de style et WS_PARENTDC de WS_CLIPCHILDREN la fenêtre parente. Cette valeur définit l’origine du contexte de l’appareil dans le coin supérieur gauche de la CWnd fenêtre.

  • DCX_WINDOW Retourne un contexte d’appareil qui correspond au rectangle de fenêtre plutôt qu’au rectangle client.

Valeur de retour

Contexte de l’appareil pour la fenêtre spécifiée si la fonction réussit ; sinon NULL.

Notes

Le contexte de l’appareil peut être utilisé dans les fonctions GDI suivantes pour dessiner dans la zone cliente.

Cette fonction, qui est une extension de la GetDC fonction, permet à une application de mieux contrôler comment et si un contexte d’appareil pour une fenêtre est clippé.

Sauf si le contexte de l’appareil appartient à une classe de fenêtre, la ReleaseDC fonction doit être appelée pour libérer le contexte après le dessin. Étant donné que seuls cinq contextes d’appareil courants sont disponibles à un moment donné, l’échec de la mise en production d’un contexte d’appareil peut empêcher d’autres applications d’accéder à un contexte d’appareil.

Pour obtenir un contexte d’appareil mis en cache, une application doit spécifier DCX_CACHE. Si DCX_CACHE n’est pas spécifié et que la fenêtre n’est ni ni CS_OWNDC ni CS_CLASSDC, cette fonction retourne NULL.

Un contexte d’appareil avec des caractéristiques spéciales est retourné par la GetDCEx fonction si le CS_CLASSDC, CS_OWNDCou CS_PARENTDC le style a été spécifié dans la WNDCLASS structure lorsque la classe a été inscrite.

Pour plus d’informations sur ces caractéristiques, consultez la description de la WNDCLASS structure dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetDCRenderTarget

Récupère la cible de rendu du contexte de périphérique pour la fenêtre CWnd.

CDCRenderTarget* GetDCRenderTarget();

Valeur de retour

Cible de rendu du contexte de l’appareil pour la fenêtre spécifiée si la fonction réussit ; sinon NULL.

Notes

CWnd::GetDescendantWindow

Appelez cette fonction membre pour rechercher la fenêtre descendante spécifiée par l’ID donné.

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

Paramètres

nID
Spécifie l’identificateur de la fenêtre enfant ou du contrôle à récupérer.

bOnlyPerm
Spécifie si la fenêtre à retourner peut être temporaire. Si TRUE, seule une fenêtre permanente peut être retournée ; si FALSE, la fonction peut retourner une fenêtre temporaire. Pour plus d’informations sur les fenêtres temporaires, consultez la Note technique 3.

Valeur de retour

Pointeur vers un CWnd objet ou NULL si aucune fenêtre enfant n’est trouvée.

Notes

Cette fonction membre recherche l’arborescence entière des fenêtres enfants, et non seulement les fenêtres qui sont des enfants immédiats.

CWnd::GetDesktopWindow

Retourne la fenêtre de bureau Windows.

static CWnd* PASCAL GetDesktopWindow();

Valeur de retour

Identifie la fenêtre de bureau Windows. Ce pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

La fenêtre de bureau couvre l’écran entier et est la zone en haut de laquelle toutes les icônes et autres fenêtres sont peintes.

CWnd::GetDlgCtrlID

Retourne la valeur de la fenêtre ou de l’ID de contrôle pour une fenêtre enfant, et non seulement celle d’un contrôle dans une boîte de dialogue.

int GetDlgCtrlID() const;

Valeur de retour

Identificateur numérique de la CWnd fenêtre enfant si la fonction réussit ; sinon, 0.

Notes

Étant donné que les fenêtres de niveau supérieur n’ont pas de valeur d’ID, la valeur de retour de cette fonction n’est pas valide si elle CWnd est une fenêtre de niveau supérieur.

Exemple

Consultez l’exemple pour CWnd::OnCtlColor.

CWnd::GetDlgItem

Récupère un pointeur vers le contrôle ou la fenêtre enfant spécifié dans une boîte de dialogue ou une autre fenêtre.

CWnd* GetDlgItem(int nID) const;

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

Paramètres

nID
Spécifie l’identificateur de la fenêtre enfant ou du contrôle à récupérer.

phWnd
Pointeur vers une fenêtre enfant.

Valeur de retour

Pointeur vers le contrôle donné ou la fenêtre enfant. Si aucun contrôle avec l’ID entier donné par le nID paramètre existe, la valeur est NULL.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Le pointeur retourné est généralement converti en type de contrôle identifié par nID.

Exemple

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

CWnd::GetDlgItemInt

Récupère le texte du contrôle identifié par nID.

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

Paramètres

nID
Spécifie l’identificateur entier du contrôle de boîte de dialogue à traduire.

lpTrans
Pointe vers la variable booléenne qui doit recevoir l’indicateur traduit.

bSigned
Spécifie si la valeur à récupérer est signée.

Valeur de retour

Spécifie la valeur traduite du texte de l’élément de boîte de dialogue. Étant donné que 0 est une valeur de retour valide, lpTrans doit être utilisé pour détecter les erreurs. Si une valeur de retour signée est souhaitée, cassez-la en tant que int type.

La fonction retourne 0 si le nombre traduit est supérieur INT_MAX à (pour les numéros signés) ou UINT_MAX (pour un numéro non signé).

Lorsque des erreurs se produisent, telles que la rencontre de caractères non numériques et le dépassement du maximum supérieur, GetDlgItemInt copie 0 vers l’emplacement pointé par lpTrans. S’il n’y a pas d’erreur, lpTrans reçoit une valeur différente de zéro. Si lpTrans c’est le cas, GetDlgItemInt n’avertit NULLpas les erreurs.

Notes

Il traduit le texte du contrôle spécifié dans la boîte de dialogue donnée en une valeur entière en supprimant les espaces supplémentaires au début du texte et en convertissant des chiffres décimaux. Elle arrête la traduction lorsqu’elle atteint la fin du texte ou rencontre n’importe quel caractère non numérique.

Si bSigned c’est TRUEle cas, GetDlgItemInt case activée pour un signe moins (-) au début du texte et traduit le texte en un nombre signé. Sinon, il crée une valeur non signée.

Il envoie un WM_GETTEXT message au contrôle.

CWnd::GetDlgItemText

Appelez cette fonction membre pour récupérer le titre ou le texte associé à un contrôle dans une boîte de dialogue.

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

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

Paramètres

nID
Spécifie l’identificateur entier du contrôle dont le titre doit être récupéré.

lpStr
Pointe vers la mémoire tampon pour recevoir le titre ou le texte du contrôle.

nMaxCount
Spécifie la longueur maximale (en caractères) de la chaîne à copier vers lpStr. Si la chaîne est plus longue que nMaxCount, elle est tronquée.

rString
Référence à un CString.

Valeur de retour

Spécifie le nombre réel de caractères copiés dans la mémoire tampon, sans inclure le caractère null de fin. La valeur est 0 si aucun texte n’est copié.

Notes

La GetDlgItemText fonction membre copie le texte à l’emplacement vers lequel pointe lpStr et retourne le nombre d’octets qu’elle copie.

CWnd::GetDSCCursor

Appelez cette fonction membre pour récupérer un pointeur vers le curseur sous-jacent défini par les DataSourcepropriétés , UserNameet PasswordSQL du contrôle de source de données.

IUnknown* GetDSCCursor();

Valeur de retour

Pointeur vers un curseur défini par un contrôle de source de données. MFC s’occupe de l’appel AddRef du pointeur.

Notes

Utilisez le pointeur retourné pour définir la ICursor propriété d’un contrôle complexe lié aux données, tel que le contrôle de grille lié aux données. Un contrôle de source de données ne sera pas actif tant que le premier contrôle lié n’aura pas demandé son curseur. Cela peut se produire explicitement par un appel à GetDSCCursor ou implicitement par le gestionnaire de liaisonS MFC. Dans les deux cas, vous pouvez forcer un contrôle de source de données à devenir actif en appelant GetDSCCursor puis en appelant Release le pointeur retourné vers IUnknown. L’activation entraîne la tentative de connexion au contrôle de source de données sous-jacent. Le pointeur retourné peut être utilisé dans le contexte suivant :

Exemple

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

Récupère un pointeur vers l'objet de gestionnaire de disposition dynamique.

CMFCDynamicLayout* GetDynamicLayout();

Valeur de retour

Pointeur vers l’objet gestionnaire de disposition dynamique ou NULL si la disposition dynamique n’est pas activée.

Notes

Sachant que l'objet fenêtre possède et gère la durée de vie du pointeur retourné, il ne doit être utilisé que pour accéder à l'objet ; évitez de supprimer le pointeur ou de le stocker de façon permanente.

CWnd::GetExStyle

Retourne le style étendu de la fenêtre.

DWORD GetExStyle() const;

Valeur de retour

Style étendu de la fenêtre. Pour plus d’informations sur les styles de fenêtre étendus utilisés dans MFC, consultez Styles de fenêtre étendus.

CWnd::GetFocus

Récupère un pointeur vers le CWnd focus d’entrée actuellement.

static CWnd* PASCAL GetFocus();

Valeur de retour

Pointeur vers la fenêtre qui a le focus actuel ou NULL s’il n’y a pas de fenêtre de focus.

Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

CWnd::GetFont

Envoie le WM_GETFONT message à la fenêtre pour récupérer la police active.

CFont* GetFont() const;

Valeur de retour

Pointeur vers un CFont objet attaché à la police active de la fenêtre.

Notes

Cette méthode n’a aucun effet, sauf si la fenêtre traite le WM_GETFONT message. De nombreuses classes MFC qui dérivent du traitement de CWnd ce message, car elles sont attachées à une classe de fenêtre prédéfinie qui inclut un gestionnaire de messages pour le WM_GETFONT message. Pour utiliser cette méthode, les classes à partir de CWnd lesquelles vous dérivez doivent définir un gestionnaire de méthodes pour le WM_GETFONT message.

CWnd::GetForegroundWindow

Retourne un pointeur vers la fenêtre de premier plan (fenêtre avec laquelle l’utilisateur fonctionne actuellement).

static CWnd* PASCAL GetForegroundWindow();

Valeur de retour

Pointeur vers la fenêtre de premier plan. Il peut s’agir d’un objet temporaire CWnd .

Notes

La fenêtre de premier plan s’applique uniquement aux fenêtres de niveau supérieur (fenêtres frame ou boîtes de dialogue).

CWnd::GetIcon

Appelez cette fonction membre pour obtenir la poignée à une grande (32x32) ou à une petite icône (16x16), comme indiqué par bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Paramètres

bBigIcon
Spécifie une icône de 32 pixels par 32 pixels si TRUE; spécifie une icône de 16 pixels par 16 pixels si FALSE.

Valeur de retour

Handle vers une icône. En cas d’échec, retourne NULL.

CWnd::GetLastActivePopup

Identifie la dernière fenêtre contextuelle détenue par CWnd à avoir été active.

CWnd* GetLastActivePopup() const;

Valeur de retour

Identifie la fenêtre contextuelle active la plus récente. La valeur de retour est la fenêtre elle-même si l’une des conditions suivantes est remplie :

  • La fenêtre elle-même était la plus récente active.

  • La fenêtre ne possède aucune fenêtre contextuelle.

  • La fenêtre n’est pas une fenêtre de niveau supérieur ou appartient à une autre fenêtre.

Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Exemple

Consultez l’exemple pour CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Récupère la clé de couleur d'opacité et de transparence d'une fenêtre superposée.

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

Paramètres

pcrKey
Pointeur vers une COLORREF valeur qui reçoit la clé de couleur de transparence à utiliser lors de la composition de la fenêtre superposée. Tous les pixels peints par la fenêtre de cette couleur seront transparents. Cela peut être NULL si l’argument n’est pas nécessaire.

pbAlpha
Pointeur vers un BYTE qui reçoit la valeur Alpha utilisée pour décrire l’opacité de la fenêtre superposée. Lorsque la variable référencée par pbAlpha 0 est 0, la fenêtre est complètement transparente. Lorsque la variable référencée est pbAlpha 255, la fenêtre est opaque. Cela peut être NULL si l’argument n’est pas nécessaire.

pdwFlags
Pointeur vers un DWORD indicateur de superposition. Cela peut être NULL si l’argument n’est pas nécessaire. Pour obtenir la liste complète des valeurs possibles, consultez « GetLayeredWindowAttributes .

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetLayeredWindowAttributes, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetMenu

Récupère un pointeur vers le menu de cette fenêtre.

CMenu* GetMenu() const;

Valeur de retour

Identifie le menu. La valeur est si CWnd aucun menu n’est NULL associé. La valeur de retour n’est pas définie s’il s’agit CWnd d’une fenêtre enfant.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Cette fonction ne doit pas être utilisée pour les fenêtres enfants, car elle n’a pas de menu.

Exemple

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

Récupère des informations sur la barre de menus spécifiée.

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

Paramètres

idObject
Spécifie l’objet de menu. Pour obtenir la liste des valeurs possibles, consultez GetMenuBarInfo.

idItem
Spécifie l’élément pour lequel récupérer des informations. Si ce paramètre est égal à zéro, la fonction récupère des informations sur le menu lui-même. Si ce paramètre est 1, la fonction récupère des informations sur le premier élément du menu, et ainsi de suite.

pmbi
Pointeur vers une MENUBARINFO structure qui reçoit les informations.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetMenuBarInfo, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetNextDlgGroupItem

Recherche le contrôle précédent ou suivant dans un groupe de contrôles dans une boîte de dialogue.

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

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

Paramètres

pWndCtl
Identifie le contrôle à utiliser comme point de départ de la recherche.

bPrevious
Spécifie comment la fonction consiste à rechercher le groupe de contrôles dans la boîte de dialogue. Si TRUE, la fonction recherche le contrôle précédent dans le groupe ; si FALSE, elle recherche le contrôle suivant dans le groupe.

pCurSiteOrWnd
Identifie le COleControlSiteOrWnd contrôle. Pour plus d’informations sur COleControlSiteOrWnd, consultez Remarques.

Valeur de retour

Pointeur vers le contrôle précédent ou suivant dans le groupe si la fonction membre réussit.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Un groupe de contrôles commence par un contrôle créé avec le WS_GROUP style et se termine par le dernier contrôle qui n’a pas été créé avec le WS_GROUP style.

Par défaut, la GetNextDlgGroupItem fonction membre retourne un pointeur vers le contrôle suivant dans le groupe. Si pWndCtl vous identifiez le premier contrôle dans le groupe et bPrevious est TRUE, GetNextDlgGroupItem retourne un pointeur vers le dernier contrôle du groupe.

Remarque

Étant donné que MFC prend en charge les contrôles ActiveX sans fenêtre, les contrôles ActiveX standard et les fenêtres, faisant référence à un contrôle par une seule HWND et même absence. L’objet COleControlSiteOrWnd inclut des informations qui identifient l’objet comme un contrôle ActiveX fenêtré, un contrôle ActiveX sans fenêtre ou une fenêtre, comme suit :

Type de contrôle ou de fenêtre Identification des informations
Contrôle ActiveX fenêtré Contient un HWND objet COleControlSite et l’associe. Le m_hWnd membre COleControlSiteOrWnd est défini sur le HWND contrôle, et le m_pSite membre pointe vers le contrôle COleControlSite.
Contrôle ActiveX sans fenêtre Ne contient pas HWND. Membre m_pSite de COleControlSiteOrWnd points vers le contrôle COleControlSite, et le m_hWnd membre est NULL.
Fenêtre standard Contient juste un HWND. Le m_hWnd membre est COleControlSiteOrWnd défini sur le HWND de la fenêtre, et le m_pSite membre est NULL.

CWnd::GetNextDlgTabItem

Récupère un pointeur vers le premier contrôle créé avec le WS_TABSTOP style et qui précède ou suit le contrôle spécifié.

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

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

Paramètres

pWndCtl
Identifie le contrôle à utiliser comme point de départ de la recherche.

pCurSiteOrWnd
Identifie le COleControlSiteOrWnd contrôle. Pour plus d'informations sur COleControlSiteOrWnd, consultez CWnd::GetNextDlgGroupItem.

bPrevious
Spécifie la façon dont la fonction consiste à rechercher dans la boîte de dialogue. Si TRUE, la fonction recherche le contrôle précédent dans la boîte de dialogue ; si FALSE, elle recherche le contrôle suivant.

Valeur de retour

Pointeur vers le contrôle précédent ou suivant qui a le WS_TABSTOP style, si la fonction membre réussit.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Pour plus d'informations sur COleControlSiteOrWnd, consultez CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Recherche la fenêtre suivante (ou précédente) dans la liste du gestionnaire de fenêtres.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Paramètres

nFlag
Spécifie si la fonction retourne un pointeur vers la fenêtre suivante ou la fenêtre précédente. Elle peut être soit GW_HWNDNEXT, qui retourne la fenêtre qui suit l’objet CWnd sur la liste du gestionnaire de fenêtres, soit GW_HWNDPREV, qui retourne la fenêtre précédente sur la liste du gestionnaire de fenêtres.

Valeur de retour

Identifie la fenêtre suivante (ou précédente) dans la liste du gestionnaire de fenêtres si la fonction membre réussit.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

La liste du gestionnaire de fenêtres contient des entrées pour toutes les fenêtres de niveau supérieur, leurs fenêtres enfants associées et les fenêtres enfants de toutes les fenêtres enfants.

S’il CWnd s’agit d’une fenêtre de niveau supérieur, la fonction recherche la fenêtre de niveau supérieur (ou précédente) suivante ; si CWnd elle est une fenêtre enfant, la fonction recherche la fenêtre enfant suivante (ou précédente).

CWnd::GetOleControlSite

Récupère le site personnalisé pour le contrôle ActiveX spécifié.

COleControlSite* GetOleControlSite(UINT idControl) const;

Paramètres

idControl
ID du contrôle ActiveX.

CWnd::GetOpenClipboardWindow

Récupère le handle de la fenêtre dont le Presse-papiers est actuellement ouvert.

static CWnd* PASCAL GetOpenClipboardWindow();

Valeur de retour

Handle de la fenêtre qui a actuellement le Presse-papiers ouvert si la fonction réussit ; sinon NULL.

CWnd::GetOwner

Récupère un pointeur vers le propriétaire de la fenêtre.

CWnd* GetOwner() const;

Valeur de retour

Pointeur vers un objet CWnd.

Notes

Si la fenêtre n’a pas de propriétaire, un pointeur vers l’objet de fenêtre parent est retourné par défaut. Notez que la relation entre le propriétaire et la propriété diffère de l’aspect parent-enfant dans plusieurs aspects importants. Par exemple, une fenêtre avec un parent est limitée à la zone cliente de sa fenêtre parente. Les fenêtres détenues peuvent être dessinées à n’importe quel emplacement sur le bureau.

Le concept de propriété de cette fonction est différent du concept de propriété de GetWindow.

CWnd::GetParent

Appelez cette fonction pour obtenir un pointeur vers la fenêtre parente d’une fenêtre enfant (le cas échéant).

CWnd* GetParent() const;

Valeur de retour

Consultez la section Valeurs de retour dans GetParent le Kit de développement logiciel (SDK) Windows.

Notes

La GetParent fonction retourne un pointeur vers le parent immédiat (s’il existe). En revanche, la GetParentOwner fonction retourne un pointeur vers la fenêtre parente ou propriétaire la plus immédiate qui n’est pas une fenêtre enfant (n’a pas le WS_CHILD style). Si vous avez une fenêtre enfant dans une fenêtre GetParent enfant et GetParentOwner que vous retournez des résultats différents.

CWnd::GetParentFrame

Appelez cette fonction membre pour récupérer la fenêtre de frame parent.

CFrameWnd* GetParentFrame() const;

Valeur de retour

Pointeur vers une fenêtre frame si elle réussit ; sinon NULL.

Notes

La fonction membre recherche la chaîne parente jusqu’à ce qu’un CFrameWnd objet (ou classe dérivée) soit trouvé.

CWnd::GetParentOwner

Appelez cette fonction membre pour obtenir un pointeur vers la fenêtre parente ou la fenêtre propriétaire d’une fenêtre enfant.

CWnd* GetParentOwner() const;

Valeur de retour

Pointeur vers un objet CWnd. Si un CWnd objet n’est pas attaché au handle, un objet temporaire CWnd est créé et attaché. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

GetParentOwner retourne un pointeur vers la fenêtre parente ou propriétaire la plus immédiate qui n’est pas une fenêtre enfant (n’a pas le WS_CHILD style). La fenêtre propriétaire actuelle peut être définie avec SetOwner. Par défaut, le parent d’une fenêtre est son propriétaire.

En revanche, la GetParent fonction retourne un pointeur vers le parent immédiat, qu’il s’agisse d’une fenêtre enfant ou non. Si vous avez une fenêtre enfant dans une fenêtre GetParent enfant et GetParentOwner que vous retournez des résultats différents.

CWnd::GetProperty

Appelez cette fonction membre pour obtenir la propriété de contrôle ActiveX spécifiée par dwDispID.

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

Paramètres

dwDispID
Identifie la propriété à récupérer.

vtProp
Spécifie le type de la propriété à récupérer. Pour connaître les valeurs possibles, consultez la section Remarques pour COleDispatchDriver::InvokeHelper.

pvProp
Adresse de la variable qui recevra la valeur de propriété. Elle doit correspondre au type spécifié par vtProp.

Notes

GetProperty retourne la valeur via pvProp.

Remarque

Cette fonction doit être appelée uniquement sur un CWnd objet qui représente un contrôle ActiveX.

Pour plus d’informations sur l’utilisation de cette fonction membre avec des conteneurs de contrôle ActiveX, consultez l’article Conteneurs de contrôle ActiveX : Programmation de contrôles ActiveX dans un conteneur de contrôle ActiveX.

CWnd::GetRenderTarget

Obtient une cible de rendu associée à cette fenêtre.

CHwndRenderTarget* GetRenderTarget();

Valeur de retour

Pointeur vers la cible de rendu ou NULL.

CWnd::GetSafeHwnd

Retourne m_hWnd, ou NULL si le this pointeur est NULL.

HWND GetSafeHwnd() const;

Valeur de retour

Retourne le handle de fenêtre d’une fenêtre. Retourne NULL si l’élément CWnd n’est pas attaché à une fenêtre ou s’il est utilisé avec un NULLCWnd pointeur.

Exemple

Consultez l’exemple pour CWnd::SubclassWindow.

CWnd::GetSafeOwner

Appelez cette fonction membre pour récupérer la fenêtre propriétaire qui doit être utilisée pour les boîtes de dialogue ou d’autres fenêtres modales.

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

Paramètres

pParent
Pointeur vers une fenêtre parente CWnd . Peut avoir la valeur NULL.

pWndTop
Pointeur vers la fenêtre actuellement en haut. Peut avoir la valeur NULL.

Valeur de retour

Pointeur vers le propriétaire sécurisé de la fenêtre donnée.

Notes

Le propriétaire sécurisé est la première fenêtre parente non enfant de pParent. Si pParent c’est NULLle cas, la fenêtre principale du thread (récupérée via AfxGetMainWnd) est utilisée pour trouver un propriétaire.

Remarque

L’infrastructure elle-même utilise cette fonction pour déterminer la fenêtre de propriétaire correcte pour les boîtes de dialogue et les feuilles de propriétés où le propriétaire n’est pas spécifié.

CWnd::GetScrollBarCtrl

Appelez cette fonction membre pour obtenir un pointeur vers la barre de défilement frère ou la fenêtre de fractionnement spécifiée.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Paramètres

nBar
Spécifie le type de barre de défilement. Le paramètre peut prendre l’une des valeurs suivantes :

  • SB_HORZ Récupère la position de la barre de défilement horizontale.

  • SB_VERT Récupère la position de la barre de défilement verticale.

Valeur de retour

Contrôle de barre de défilement frère, ou NULL si aucun.

Notes

Cette fonction membre ne fonctionne pas sur les barres de défilement créées lorsque les bits ou WS_VSCROLL les WS_HSCROLL bits sont définis lors de la création d’une fenêtre. L’implémentation CWnd de cette fonction retourne NULLsimplement . Les classes dérivées, telles que CView, implémentent la fonctionnalité décrite.

CWnd::GetScrollBarInfo

Récupère les informations sur la barre de défilement spécifiée.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Paramètres

idObject
Spécifie l’objet de menu. Pour obtenir la liste des valeurs possibles, consultez GetScrollBarInfo.

psbi
Pointeur vers une SCROLLBARINFO structure qui reçoit les informations.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetScrollBarInfo, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetScrollInfo

Appelez cette fonction membre pour récupérer les informations que la SCROLLINFO structure conserve sur une barre de défilement.

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

Paramètres

nBar
Spécifie si la barre de défilement est un contrôle ou une partie de la zone non cliente d’une fenêtre. S’il fait partie de la zone non cliente, nBar indique également si la barre de défilement est positionnée horizontalement, verticalement ou les deux. Il doit s’agir de l’un des éléments suivants :

  • SB_CTL Récupère les paramètres d’un contrôle de barre de défilement. Le m_hWnd membre de données doit être le handle du contrôle de barre de défilement.

  • SB_HORZ Récupère les paramètres de la barre de défilement horizontale standard de la fenêtre.

  • SB_VERT Récupère les paramètres de la barre de défilement verticale standard de la fenêtre.

lpScrollInfo
Pointeur vers une SCROLLINFO structure. Pour plus d’informations sur cette structure, consultez le Kit de développement logiciel (SDK) Windows.

nMask
Spécifie les paramètres de barre de défilement à récupérer. La valeur par défaut spécifie une combinaison de SIF_PAGE, , SIF_POSSIF_TRACKPOS, et SIF_RANGE. Pour plus d’informations sur les valeurs, consultez SCROLLINFO cette nMask rubrique.

Valeur de retour

Si le message a récupéré des valeurs, le retour est TRUE. Sinon, c’est FALSE.

Notes

GetScrollInfo permet aux applications d’utiliser des positions de défilement 32 bits.

La SCROLLINFO structure contient des informations sur une barre de défilement, y compris les positions minimales et maximales de défilement, la taille de la page et la position de la zone de défilement (le pouce). Pour plus d’informations sur la modification des valeurs par défaut de la structure, consultez la SCROLLINFO rubrique structure dans le Kit de développement logiciel (SDK) Windows.

Les gestionnaires de messages Windows MFC qui indiquent la position de la barre de défilement, CWnd ::OnHScroll et CWnd ::OnVScroll, fournissent uniquement 16 bits de données de position. GetScrollInfo et SetScrollInfo fournissent 32 bits de données de position de barre de défilement. Ainsi, une application peut appeler GetScrollInfo pendant le traitement CWnd::OnHScroll ou CWnd::OnVScroll pour obtenir des données de position de barre de défilement 32 bits.

CWnd::GetScrollLimit

Appelez cette fonction membre pour récupérer la position de défilement maximale de la barre de défilement.

int GetScrollLimit(int nBar);

Paramètres

nBar
Spécifie le type de barre de défilement. Le paramètre peut prendre l’une des valeurs suivantes :

  • SB_HORZ Récupère la limite de défilement de la barre de défilement horizontale.

  • SB_VERT Récupère la limite de défilement de la barre de défilement verticale.

Valeur de retour

Spécifie la position maximale d’une barre de défilement si elle réussit ; sinon 0.

CWnd::GetScrollPos

Récupère la position actuelle de la zone de défilement d’une barre de défilement.

int GetScrollPos(int nBar) const;

Paramètres

nBar
Spécifie la barre de défilement à examiner. Le paramètre peut prendre l’une des valeurs suivantes :

  • SB_HORZ Récupère la position de la barre de défilement horizontale.

  • SB_VERT Récupère la position de la barre de défilement verticale.

Valeur de retour

Spécifie la position actuelle de la zone de défilement dans la barre de défilement si elle réussit ; sinon 0.

Notes

La position actuelle est une valeur relative qui dépend de la plage de défilement actuelle. Par exemple, si la plage de défilement est de 50 à 100 et que la zone de défilement se trouve au milieu de la barre, la position actuelle est 75.

CWnd::GetScrollRange

Copie les positions minimales et maximales actuelles de barre de défilement pour la barre de défilement donnée aux emplacements spécifiés par lpMinPos et lpMaxPos.

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

Paramètres

nBar
Spécifie la barre de défilement à examiner. Le paramètre peut prendre l’une des valeurs suivantes :

  • SB_HORZ Récupère la position de la barre de défilement horizontale.

  • SB_VERT Récupère la position de la barre de défilement verticale.

lpMinPos
Pointe vers la variable entière qui doit recevoir la position minimale.

lpMaxPos
Pointe vers la variable entière qui doit recevoir la position maximale.

Notes

Si CWnd elle n’a pas de barre de défilement, la GetScrollRange fonction membre copie 0 vers lpMinPos et lpMaxPos.

La plage par défaut d’une barre de défilement standard est de 0 à 100. La plage par défaut d’un contrôle de barre de défilement est vide (les deux valeurs sont 0).

CWnd::GetStyle

Retourne le style de fenêtre actif.

DWORD GetStyle() const;

Valeur de retour

Style de la fenêtre. Pour plus d’informations sur les styles de fenêtre utilisés dans MFC, consultez Styles de fenêtre.

CWnd::GetSystemMenu

Permet à l'application d'accéder au menu Système pour copie et modification.

CMenu* GetSystemMenu(BOOL bRevert) const;

Paramètres

bRevert
Spécifie l’action à entreprendre. Si bRevert c’est FALSEle cas, GetSystemMenu retourne un handle à une copie du menu Contrôle en cours d’utilisation. Cette copie est initialement identique au menu Contrôle, mais peut être modifiée. Si bRevert c’est TRUEle cas, GetSystemMenu réinitialise le menu Contrôle à l’état par défaut. Le menu Précédent, éventuellement modifié, contrôle, le cas échéant, est détruit. La valeur de retour n’est pas définie dans ce cas.

Valeur de retour

Identifie une copie du menu Contrôle si bRevert c’est le cas FALSE. Si bRevert c’est TRUEle cas, la valeur de retour n’est pas définie.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Toute fenêtre qui n’utilise GetSystemMenu pas pour effectuer sa propre copie du menu Contrôle reçoit le menu Contrôle standard.

Le pointeur retourné par la GetSystemMenu fonction membre peut être utilisé avec le CMenu::AppendMenuou CMenu::InsertMenuCMenu::ModifyMenu les fonctions pour modifier le menu Contrôle.

Le menu Contrôle contient initialement des éléments identifiés avec différentes valeurs d’ID telles que SC_CLOSE, SC_MOVEet SC_SIZE. Les éléments du menu Contrôle génèrent des WM_SYSCOMMAND messages. Tous les éléments de menu Contrôle prédéfinis ont des numéros d’ID supérieurs à 0xF000. Si une application ajoute des éléments au menu Contrôle, elle doit utiliser des numéros d’ID inférieurs à F000.

Windows peut rendre automatiquement les éléments indisponibles dans le menu Contrôle standard. CWnd peut effectuer sa propre sélection ou indisponibilité en répondant aux WM_INITMENU messages envoyés avant l’affichage d’un menu.

Exemple

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

Récupère les informations sur la barre de titre spécifiée.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Paramètres

pti
Pointeur vers une TITLEBARINFO structure qui reçoit les informations.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetTitleBarInfo, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetTopLevelFrame

Appelez cette fonction membre pour récupérer la fenêtre frame de niveau supérieur de la fenêtre, le cas échéant.

CFrameWnd* GetTopLevelFrame() const;

Valeur de retour

Identifie la fenêtre frame de niveau supérieur de la fenêtre.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Si CWnd elle n’a pas de fenêtre jointe ou si son parent de niveau supérieur n’est pas un CFrameWndobjet dérivé de -, cette fonction retourne NULL.

CWnd::GetTopLevelOwner

Appelez cette fonction membre pour récupérer la fenêtre de niveau supérieur.

CWnd* GetTopLevelOwner() const;

Valeur de retour

Identifie la fenêtre de niveau supérieur. Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

La fenêtre de niveau supérieur est la fenêtre qui est un enfant du bureau. Si CWnd elle n’a pas de fenêtre jointe, cette fonction retourne NULL.

CWnd::GetTopLevelParent

Appelez cette fonction membre pour récupérer le parent de niveau supérieur de la fenêtre.

CWnd* GetTopLevelParent() const;

Valeur de retour

Identifie la fenêtre parente de niveau supérieur de la fenêtre.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

GetTopLevelParent est similaire à GetTopLevelFrame et GetTopLevelOwner; toutefois, il ignore la valeur définie comme fenêtre propriétaire actuelle.

CWnd::GetTopWindow

Recherche la fenêtre enfant de niveau supérieur qui appartient à CWnd.

CWnd* GetTopWindow() const;

Valeur de retour

Identifie la fenêtre enfant de niveau supérieur dans une CWnd liste liée de fenêtres enfants. Si aucune fenêtre enfant n’existe, la valeur est NULL.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Si CWnd elle n’a pas d’enfants, cette fonction retourne NULL.

CWnd::GetUpdateRect

Récupère les coordonnées du plus petit rectangle qui englobe entièrement la région de mise à jour .

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

Paramètres

lpRect
Pointe vers un objet ou RECT une CRect structure qui doit recevoir les coordonnées client de la mise à jour qui entoure la région de mise à jour.

Définissez ce paramètre pour NULL déterminer si une région de mise à jour existe dans le CWnd. Si lpRect c’est NULLle cas, la GetUpdateRect fonction membre retourne une valeur différente de zéro si une région de mise à jour existe et 0 si ce n’est pas le cas. Cela permet de déterminer si un WM_PAINT message provient d’une zone non valide. Ne définissez pas ce paramètre NULL sur windows version 3.0 et antérieure.

bErase
Spécifie si l’arrière-plan de la région de mise à jour doit être effacé.

Valeur de retour

Spécifie l’état de la région de mise à jour. La valeur n’est pas nulle si la région de mise à jour n’est pas vide ; sinon 0.

Si le lpRect paramètre est défini NULLsur , la valeur de retour est différente de zéro si une région de mise à jour existe ; sinon, 0.

Notes

Si CWnd elle a été créée avec le CS_OWNDC style et que le mode de mappage n’est pas MM_TEXT, la GetUpdateRect fonction membre donne le rectangle en coordonnées logiques. Sinon, GetUpdateRect donne le rectangle dans les coordonnées du client. S’il n’existe aucune région de mise à jour, GetUpdateRect définit le rectangle sur vide (définit toutes les coordonnées sur 0).

Le bErase paramètre spécifie s’il GetUpdateRect doit effacer l’arrière-plan de la région de mise à jour. Si bErase la région de mise à jour n’est TRUE pas vide, l’arrière-plan est effacé. Pour effacer l’arrière-plan, GetUpdateRect envoie le WM_ERASEBKGND message.

Le rectangle de mise à jour récupéré par la BeginPaint fonction membre est identique à celui récupéré par la GetUpdateRect fonction membre.

La BeginPaint fonction membre valide automatiquement la région de mise à jour. Ainsi, tout appel effectué GetUpdateRect immédiatement après un appel pour récupérer une région de mise à BeginPaint jour vide.

CWnd::GetUpdateRgn

Récupère la région de mise à jour dans une région identifiée par pRgn.

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

Paramètres

pRgn
Identifie la région de mise à jour.

bErase
Spécifie si l’arrière-plan sera effacé et que les zones non clientes des fenêtres enfants seront dessinées. Si la valeur est FALSE, aucun dessin n’est terminé.

Valeur de retour

Spécifie un indicateur entier court qui indique le type de région résultante. La valeur peut prendre l’une des valeurs suivantes :

  • SIMPLEREGION La région n’a pas de bordures qui se chevauchent.

  • COMPLEXREGION La région a des bordures qui se chevauchent.

  • NULLREGION La région est vide.

  • ERROR Aucune région n’a été créée.

Notes

Les coordonnées de cette région sont relatives au coin supérieur gauche (coordonnées du client).

La BeginPaint fonction membre valide automatiquement la région de mise à jour. Ainsi, tout appel effectué GetUpdateRgn immédiatement après un appel pour récupérer une région de mise à BeginPaint jour vide.

CWnd::GetWindow

Retourne un pointeur vers la fenêtre demandée, ou NULL si aucun.

CWnd* GetWindow(UINT nCmd) const;

Paramètres

*nCmd*
Spécifie la relation entre CWnd et la fenêtre retournée. Il peut prendre l’une des valeurs suivantes :

  • GW_CHILD Identifie la CWnd première fenêtre enfant.

  • GW_HWNDFIRST S’il CWnd s’agit d’une fenêtre enfant, retourne la première fenêtre frère. Sinon, elle retourne la première fenêtre de niveau supérieur dans la liste.

  • GW_HWNDLAST S’il CWnd s’agit d’une fenêtre enfant, retourne la dernière fenêtre frère. Sinon, elle retourne la dernière fenêtre de niveau supérieur dans la liste.

  • GW_HWNDNEXT Retourne la fenêtre suivante dans la liste du gestionnaire de fenêtres.

  • GW_HWNDPREV Retourne la fenêtre précédente dans la liste du gestionnaire de fenêtres.

  • GW_OWNER Identifie le CWnd propriétaire.

Valeur de retour

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

CWnd::GetWindowContextHelpId

Appelez cette fonction membre pour récupérer l’identificateur de contexte d’aide, le cas échéant, associé à la fenêtre.

DWORD GetWindowContextHelpId() const;

Valeur de retour

Identificateur de contexte d’aide. Retourne 0 si la fenêtre n’a aucun.

CWnd::GetWindowedChildCount

Appelez cette fonction membre pour récupérer le nombre de fenêtres enfants associées.

long GetWindowedChildCount();

Valeur de retour

Nombre de fenêtres enfants associées à l’objet CWnd .

CWnd::GetWindowDC

Récupère le contexte d’affichage de la fenêtre entière, notamment légende barre, menus et barres de défilement.

CDC* GetWindowDC();

Valeur de retour

Identifie le contexte d’affichage de la fenêtre donnée si la fonction réussit ; sinon NULL.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure. ReleaseDC doit être appelé une seule fois pour chaque appel réussi à GetWindowDC.

Notes

Un contexte d’affichage de fenêtre permet de peindre n’importe où CWnd, étant donné que l’origine du contexte est l’angle supérieur gauche de CWnd la zone cliente.

Les attributs par défaut sont attribués au contexte d’affichage chaque fois qu’il récupère le contexte. Les attributs précédents sont perdus.

GetWindowDC est destiné à être utilisé pour des effets de peinture spéciaux dans la CWnd zone non cliente. La peinture dans les zones non clientes d’une fenêtre n’est pas recommandée.

La GetSystemMetrics fonction Windows peut être utilisée pour récupérer les dimensions de différentes parties de la zone non cliente, telles que la barre de légende, le menu et les barres de défilement.

Une fois la peinture terminée, la ReleaseDC fonction membre doit être appelée pour libérer le contexte d’affichage. L’échec de la mise en production du contexte d’affichage affecte sérieusement la peinture demandée par les applications en raison de limitations du nombre de contextes d’appareil qui peuvent être ouverts en même temps.

CWnd::GetWindowInfo

Récupère des informations sur la fenêtre.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Paramètres

pwi
Pointeur vers une WINDOWINFO structure.

Notes

Cette fonction membre émule les fonctionnalités de la fonction GetWindowInfo, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::GetWindowlessChildCount

Récupère le nombre de fenêtres enfants sans fenêtres associées.

long GetWindowlessChildCount();

Valeur de retour

Nombre de fenêtres enfants sans fenêtre associées à l’objet CWnd .

CWnd::GetWindowPlacement

Récupère l'état d'affichage et les positions normale (restaurée), réduite et agrandie d'une fenêtre.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Paramètres

lpwndpl
Pointe vers la WINDOWPLACEMENT structure qui reçoit les informations d’état et de position d’affichage.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Le flags membre de la WINDOWPLACEMENT structure récupérée par cette fonction est toujours 0. Si CWnd elle est agrandie, le showCmd membre est SW_SHOWMAXIMIZEDWINDOWPLACEMENT . Si la fenêtre est réduite, elle est SW_SHOWMINIMIZED. C’est SW_SHOWNORMAL autrement.

CWnd::GetWindowRect

Copie les dimensions du rectangle englobant de l’objet CWnd vers la structure pointée par lpRect.

void GetWindowRect(LPRECT lpRect) const;

Paramètres

lpRect
Pointe vers un CRect objet ou une RECT structure qui recevra les coordonnées de l’écran des coins supérieur gauche et inférieur droit.

Notes

Les dimensions sont indiquées dans les coordonnées de l’écran par rapport au coin supérieur gauche de l’écran d’affichage. Les dimensions de la légende, de la bordure et des barres de défilement, le cas échéant, sont incluses.

CWnd::GetWindowRgn

Appelez cette fonction membre pour obtenir la région de fenêtre d’une fenêtre.

int GetWindowRgn(HRGN hRgn)const;

Paramètres

hRgn
Handle vers une région de fenêtre.

Valeur de retour

La valeur de retour spécifie le type de la région obtenue par la fonction. Ce peut être l’une des valeurs suivantes :

  • NULLREGION La région est vide.

  • SIMPLEREGION La région est un rectangle unique.

  • COMPLEXREGION La région est plusieurs rectangles.

  • ERROR Une erreur s’est produite ; la région n’est pas affectée.

Notes

La région de la fenêtre détermine la zone dans la fenêtre où le système d’exploitation autorise le dessin. Le système d’exploitation n’affiche aucune partie d’une fenêtre qui se trouve en dehors de la région de la fenêtre.

Les coordonnées de la zone de fenêtre d’une fenêtre sont relatives au coin supérieur gauche de la fenêtre, et non à la zone cliente de la fenêtre.

Pour définir la région de la fenêtre d’une fenêtre, appelez CWnd::SetWindowRgn.

CWnd::GetWindowText

Copie le CWnd titre légende (s’il en a un) dans la mémoire tampon pointée vers lpszStringBuf ou dans la chaîne rStringde destination.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Paramètres

lpszStringBuf
Pointe vers la mémoire tampon qui doit recevoir la chaîne copiée du titre de la fenêtre.

nMaxCount
Spécifie le nombre maximal de caractères à copier dans la mémoire tampon, y compris le caractère null de fin. Si la chaîne est supérieure au nombre de caractères spécifié, nMaxCountelle est tronquée.

rString
Objet CString qui doit recevoir la chaîne copiée du titre de la fenêtre.

Valeur de retour

Spécifie la longueur, en caractères, de la chaîne copiée, sans inclure le caractère null de fin. Il est 0 s’il CWnd n’a pas de légende ou si le légende est vide.

Notes

Si l’objet CWnd est un contrôle, la GetWindowText fonction membre copie le texte dans le contrôle au lieu de copier le légende.

Cette fonction membre provoque l’envoi du WM_GETTEXT message à l’objet CWnd .

Exemple

Consultez l’exemple pour CWnd::SetWindowText.

CWnd::GetWindowTextLength

Retourne la longueur de l’objet CWnd légende titre.

int GetWindowTextLength() const;

Valeur de retour

Spécifie la longueur du texte en caractères, sans inclure de caractère d’arrêt null. La valeur est 0 si aucun texte de ce type n’existe.

Notes

S’il CWnd s’agit d’un contrôle, la GetWindowTextLength fonction membre retourne la longueur du texte dans le contrôle au lieu de la légende.

Cette fonction membre provoque l’envoi du WM_GETTEXTLENGTH message à l’objet CWnd .

Exemple

Consultez l’exemple pour CWnd::SetWindowText.

CWnd::HideCaret

Masque le caret en le supprimant de l'écran.

void HideCaret();

Notes

Bien que la touche ne soit plus visible, elle peut être affichée à nouveau à l’aide de la ShowCaret fonction membre. Masquage de la carete ne détruit pas sa forme actuelle.

Le masquage est cumulatif. Si HideCaret elle a été appelée cinq fois dans une ligne, la ShowCaret fonction membre doit être appelée cinq fois avant l’affichage du point de vue.

CWnd::HiliteMenuItem

Met en surbrillance ou supprime la mise en surbrillance d’un élément de menu de niveau supérieur (barre de menus).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Paramètres

pMenu
Identifie le menu de niveau supérieur qui contient l’élément à mettre en surbrillance.

nIDHiliteItem
Spécifie l’élément de menu à mettre en surbrillance, en fonction de la valeur du nHilite paramètre.

nHilite
Spécifie si l’élément de menu est mis en surbrillance ou si la mise en surbrillance est supprimée. Il peut s’agir d’une combinaison ou MF_HILITEMF_UNHILITE avec MF_BYCOMMAND ou MF_BYPOSITION. Les valeurs peuvent être combinées à l’aide de l’opérateur au niveau OR du bit. Ces valeurs ont les significations suivantes :

  • MF_BYCOMMANDnIDHiliteItem Interprète comme ID d’élément de menu (interprétation par défaut).

  • MF_BYPOSITIONnIDHiliteItem Interprète le décalage de base zéro de l’élément de menu.

  • MF_HILITE Met en surbrillance l’élément. Si cette valeur n’est pas donnée, la mise en surbrillance est supprimée de l’élément.

  • MF_UNHILITE Supprime la mise en surbrillance de l’élément.

Valeur de retour

Spécifie si l’élément de menu a été mis en surbrillance. Différent de zéro si l’élément a été mis en surbrillance ; sinon 0.

Notes

Les MF_HILITE indicateurs et MF_UNHILITE les indicateurs ne peuvent être utilisés qu’avec cette fonction membre ; ils ne peuvent pas être utilisés avec la CMenu::ModifyMenu fonction membre.

CWnd::HtmlHelp

Appelez cette fonction membre pour appeler l’application HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Paramètres

dwData
Spécifie des données supplémentaires. La valeur utilisée dépend de la valeur du nCmd paramètre.

nCmd
Spécifie le type d’aide demandée. Pour obtenir la liste des valeurs possibles et leur impact sur le dwData paramètre, consultez le uCommand paramètre décrit dans la référence de l’API d’aide HTML dans le Kit de développement logiciel (SDK) Windows.

Notes

Consultez la rubrique CWinApp::HtmlHelp (éventuellement en anglais) pour plus d'informations.

CWnd::InitDynamicLayout

Appelé par l'infrastructure pour initialiser une disposition dynamique d'une fenêtre.

void InitDynamicLayout();

Notes

N'appelez pas cette méthode directement.

CWnd::Invalidate

Invalide l’ensemble de la zone cliente de CWnd.

void Invalidate(BOOL bErase = TRUE);

Paramètres

bErase
Spécifie si l’arrière-plan de la région de mise à jour doit être effacé.

Notes

La zone cliente est marquée pour la peinture lorsque le message suivant WM_PAINT se produit. La région peut également être validée avant qu’un WM_PAINT message ne se produise par la fonction membre ou ValidateRgn la ValidateRect fonction membre.

Le bErase paramètre spécifie si l’arrière-plan de la zone de mise à jour doit être effacé lorsque la région de mise à jour est traitée. Si bErase c’est TRUEle cas, l’arrière-plan est effacé lorsque la BeginPaint fonction membre est appelée ; si bErase c’est FALSEle cas, l’arrière-plan reste inchangé. S’il bErase s’agit TRUE d’une partie de la région de mise à jour, l’arrière-plan de la région entière, et non seulement dans la partie donnée, est effacé.

Windows envoie un WM_PAINT message chaque fois que la CWnd région de mise à jour n’est pas vide et qu’il n’y a pas d’autres messages dans la file d’attente de l’application pour cette fenêtre.

Exemple

Consultez l’exemple pour CWnd::UpdateWindow.

CWnd::InvalidateRect

Invalide la zone cliente dans le rectangle donné en ajoutant ce rectangle à la CWnd région de mise à jour.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Paramètres

lpRect
Pointe vers un CRect objet ou une RECT structure qui contient le rectangle (dans les coordonnées du client) à ajouter à la région de mise à jour. Si lpRect c’est NULLle cas, la zone cliente entière est ajoutée à la région.

bErase
Spécifie si l’arrière-plan de la région de mise à jour doit être effacé.

Notes

Le rectangle invalidé, ainsi que toutes les autres zones de la région de mise à jour, est marqué pour la peinture lorsque le message suivant WM_PAINT est envoyé. Les zones invalidées s’accumulent dans la région de mise à jour jusqu’à ce que la région soit traitée lors de l’appel suivant WM_PAINT , ou jusqu’à ce que la région soit validée par la ValidateRect fonction ou ValidateRgn membre.

Le bErase paramètre spécifie si l’arrière-plan de la zone de mise à jour doit être effacé lorsque la région de mise à jour est traitée. Si bErase c’est TRUEle cas, l’arrière-plan est effacé lorsque la BeginPaint fonction membre est appelée ; si bErase c’est FALSEle cas, l’arrière-plan reste inchangé. S’il bErase s’agit TRUE d’une partie de la région de mise à jour, l’arrière-plan de la région entière est effacé, pas seulement dans la partie donnée.

Windows envoie un WM_PAINT message chaque fois que la CWnd région de mise à jour n’est pas vide et qu’il n’y a pas d’autres messages dans la file d’attente de l’application pour cette fenêtre.

CWnd::InvalidateRgn

Invalide la zone cliente dans la région donnée en l’ajoutant à la région de mise à jour actuelle de CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Paramètres

pRgn
Pointeur vers un CRgn objet qui identifie la région à ajouter à la région de mise à jour. La région est supposée avoir des coordonnées client. Si ce paramètre est NULLle cas, la zone cliente entière est ajoutée à la région de mise à jour.

bErase
Spécifie si l’arrière-plan de la région de mise à jour doit être effacé.

Notes

La région invalidée, ainsi que toutes les autres zones de la région de mise à jour, est marquée pour la peinture lorsque le WM_PAINT message est ensuite envoyé. Les zones invalidées s’accumulent dans la région de mise à jour jusqu’à ce que la région soit traitée lors de l’envoi d’un WM_PAINT message, ou jusqu’à ce que la région soit validée par la ValidateRect fonction ou ValidateRgn membre.

Le bErase paramètre spécifie si l’arrière-plan de la zone de mise à jour doit être effacé lorsque la région de mise à jour est traitée. Si bErase c’est TRUEle cas, l’arrière-plan est effacé lorsque la BeginPaint fonction membre est appelée ; si bErase c’est FALSEle cas, l’arrière-plan reste inchangé. S’il bErase s’agit TRUE d’une partie de la région de mise à jour, l’arrière-plan de la région entière, et non seulement dans la partie donnée, est effacé.

Windows envoie un WM_PAINT message chaque fois que la CWnd région de mise à jour n’est pas vide et qu’il n’y a pas d’autres messages dans la file d’attente de l’application pour cette fenêtre.

La région donnée doit avoir été créée précédemment par l’une des fonctions de région.

CWnd::InvokeHelper

Appelez cette fonction membre pour appeler la méthode ou la propriété ActiveX Control spécifiée par dwDispID, dans le contexte spécifié par wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Paramètres

dwDispID
Identifie la méthode ou propriété à appeler.

wFlags
Indicateurs décrivant le contexte de l’appel à IDispatch::Invoke.

vtRet
Spécifie le type de la valeur de retour. Pour connaître les valeurs possibles, consultez la section Remarques pour COleDispatchDriver::InvokeHelper.

pvRet
Adresse de la variable qui recevra la valeur de propriété ou la valeur de retour. Elle doit correspondre au type spécifié par vtRet.

pbParamInfo
Pointeur vers une chaîne d’octets terminée par un caractère Null qui spécifie les types des paramètres suivant pbParamInfo. Pour connaître les valeurs possibles, consultez la section Remarques pour COleDispatchDriver::InvokeHelper.

...
Liste des variables de paramètres, des types spécifiés dans pbParamInfo.

Notes

Le paramètre pbParamInfo spécifie les types des paramètres passés à la méthode ou propriété. La liste de variables d’arguments est représentée ... dans la déclaration de syntaxe.

Cette fonction convertit les paramètres en VARIANTARG valeurs, puis appelle la IDispatch::Invoke méthode sur le contrôle ActiveX. Si l’appel à IDispatch::Invoke échoue, cette fonction lève une exception. Si le SCODE (code d’état) retourné par IDispatch::Invoke est DISP_E_EXCEPTION, cette fonction lève un COleException objet, sinon elle lève un COleDispatchException.

Remarque

Cette fonction doit être appelée uniquement sur un CWnd objet qui représente un contrôle ActiveX.

Pour plus d’informations sur l’utilisation de cette fonction membre avec des conteneurs de contrôle ActiveX, consultez l’article Conteneurs de contrôle ActiveX : Programmation de contrôles ActiveX dans un conteneur de contrôle ActiveX.

CWnd::IsChild

Indique si la fenêtre spécifiée par pWnd est une fenêtre enfant ou un autre descendant direct de CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Paramètres

pWnd
Identifie la fenêtre à tester.

Valeur de retour

Spécifie le résultat de la fonction. La valeur est différente de zéro si la fenêtre identifiée par pWnd est une fenêtre enfant de CWnd; sinon 0.

Notes

Une fenêtre enfant est le descendant direct de CWnd si l’objet CWnd se trouve dans la chaîne de fenêtres parentes qui mène de la fenêtre contextuelle d’origine à la fenêtre enfant.

CWnd::IsD2DSupportEnabled

Détermine si la prise en charge D2D est activée.

BOOL IsD2DSupportEnabled();

Valeur de retour

TRUE si la fonctionnalité est activée ; sinon FALSE.

CWnd::IsDialogMessage

Appelez cette fonction membre pour déterminer si le message donné est destiné à une boîte de dialogue sans mode ; si c’est le cas, cette fonction traite le message.

BOOL IsDialogMessage(LPMSG lpMsg);

Paramètres

lpMsg
Pointe vers une MSG structure qui contient le message à case activée.

Valeur de retour

Spécifie si la fonction membre a traité le message donné. Il n’est pas différent de zéro si le message a été traité ; sinon 0. Si le retour est 0, appelez la CWnd::PreTranslateMessage fonction membre de la classe de base pour traiter le message. Dans un remplacement de la CWnd::PreTranslateMessage fonction membre, le code ressemble à ceci :

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Notes

Lorsque la IsDialogMessage fonction traite un message, elle case activée pour les messages clavier et les convertit en commandes de sélection pour la boîte de dialogue correspondante. Par exemple, la touche TAB sélectionne le contrôle ou le groupe de contrôles suivant, et la touche flèche bas sélectionne le contrôle suivant dans un groupe.

Vous ne devez pas transmettre un message traité par IsDialogMessage les TranslateMessage fonctions Windows, DispatchMessage car il a déjà été traité.

CWnd::IsDlgButtonChecked

Détermine si un contrôle de bouton a une marque case activée en regard de celui-ci.

UINT IsDlgButtonChecked(int nIDButton) const;

Paramètres

nIDButton
Spécifie l’identificateur entier du contrôle button.

Valeur de retour

Différent de zéro si le contrôle donné est case activée ed, et 0 s’il n’est pas case activée ed. Seules les cases d’option et les boîtes case activée peuvent être case activée. Pour les boutons à trois états, la valeur de retour peut être 2 si le bouton est indéterminé. Cette fonction membre retourne 0 pour un bouton push.

Notes

Si le bouton est un contrôle à trois états, la fonction membre détermine s’il est grisé, case activée ou aucun des deux.

CWnd::IsDynamicLayoutEnabled

Détermine si la disposition dynamique est activée dans cette fenêtre. Si la disposition dynamique est activée, la position et la taille des fenêtres enfants peuvent changer quand l'utilisateur redimensionne la fenêtre parente.

BOOL IsDynamicLayoutEnabled() const;

Valeur de retour

TRUE si la disposition dynamique est activée ; sinon FALSE.

Notes

CWnd::IsIconic

Spécifie s’il CWnd est réduit (iconique).

BOOL IsIconic() const;

Valeur de retour

Différent de zéro s’il CWnd est réduit ; sinon 0.

Exemple

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

Spécifie si CWnd intègre une prise en charge de l'interface tactile.

BOOL IsTouchWindow() const;

Valeur de retour

TRUE si CWnd la prise en charge tactile est prise en charge ; sinon FALSE.

Notes

CWnd::IsWindowEnabled

Spécifie si CWnd l’entrée de la souris et du clavier est activée.

BOOL IsWindowEnabled() const;

Valeur de retour

Valeur différente de zéro si CWnd elle est activée ; sinon, 0.

Exemple

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

Détermine l’état de visibilité de la fenêtre donnée.

BOOL IsWindowVisible() const;

Valeur de retour

Différent de zéro s’il CWnd est visible (a le jeu de bits de WS_VISIBLE style et la fenêtre parente est visible). Étant donné que la valeur de retour reflète l’état du bit de style, la valeur de retour peut être différente de WS_VISIBLE zéro, même si CWnd elle est totalement masquée par d’autres fenêtres.

Notes

Une fenêtre possède un état de visibilité indiqué par le bit de WS_VISIBLE style. Lorsque ce bit de style est défini avec un appel à la ShowWindow fonction membre, la fenêtre est affichée et le dessin ultérieur à la fenêtre s’affiche tant que la fenêtre a le jeu de bits de style.

Tout dessin vers une fenêtre dont le WS_VISIBLE style n’est pas affiché si la fenêtre est couverte par d’autres fenêtres ou est découpée par sa fenêtre parente.

Exemple

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

Détermine si CWnd elle a été agrandie.

BOOL IsZoomed() const;

Valeur de retour

Différent de zéro s’il CWnd est agrandi ; sinon 0.

CWnd::KillTimer

Tue l’événement du minuteur identifié par nIDEvent l’appel précédent à SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Paramètres

nIDEvent
Valeur de l’événement du minuteur passé à SetTimer.

Valeur de retour

Spécifie le résultat de la fonction. La valeur est différente de zéro si l’événement a été tué. Il est 0 si la KillTimer fonction membre n’a pas pu trouver l’événement de minuteur spécifié.

Notes

Les messages en attente WM_TIMER associés au minuteur ne sont pas supprimés de la file d’attente des messages.

Exemple

Consultez l’exemple pour CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Appelée par l'infrastructure pour charger les informations de disposition dynamique à partir du fichier de ressources.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Paramètres

lpszResourceName
Nom de la ressource qui contient les informations de disposition dynamique souhaitées pour cette fenêtre.

Valeur de retour

Valeur différente de zéro si la fonction aboutit. Elle est de 0 si une défaillance se produit.

Notes

N'appelez pas cette méthode directement.

CWnd::LockWindowUpdate

Désactive le dessin dans la fenêtre donnée.

BOOL LockWindowUpdate();

Valeur de retour

Valeur différente de zéro si la fonction aboutit. Il s’agit de 0 si une défaillance se produit ou si la LockWindowUpdate fonction a été utilisée pour verrouiller une autre fenêtre.

Notes

Impossible de déplacer une fenêtre verrouillée. Une seule fenêtre peut être verrouillée à la fois. Pour déverrouiller une fenêtre verrouillée avec LockWindowUpdate, appelez UnlockWindowUpdate.

Si une application avec une fenêtre verrouillée (ou une fenêtre enfant verrouillée) appelle la GetDCfonction , GetDCExou BeginPaint Windows, la fonction appelée retourne un contexte d’appareil dont la région visible est vide. Cela se produit jusqu’à ce que l’application déverrouille la fenêtre en appelant la UnlockWindowUpdate fonction membre.

Pendant que les mises à jour de fenêtre sont verrouillées, le système effectue le suivi du rectangle englobant de toutes les opérations de dessin aux contextes d’appareil associés à une fenêtre verrouillée. Lorsque le dessin est réenable, ce rectangle englobant est invalidé dans la fenêtre verrouillée et ses fenêtres enfants pour forcer un message final WM_PAINT à mettre à jour l’écran. Si aucun dessin n’a eu lieu pendant que les mises à jour de la fenêtre ont été verrouillées, aucune zone n’est invalidée.

La LockWindowUpdate fonction membre ne rend pas la fenêtre donnée invisible et ne efface pas le bit de WS_VISIBLE style.

CWnd::m_hWnd

Handle de la fenêtre Windows attachée à ce CWnd.

HWND m_hWnd;

Notes

Le m_hWnd membre de données est une variable publique de type HWND.

CWnd::MapWindowPoints

Convertit (mappe) un ensemble de points de l'espace de coordonnées de CWnd dans celui d'une autre fenêtre.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Paramètres

pwndTo
Identifie la fenêtre vers laquelle les points sont convertis. Si ce paramètre est NULLle cas, les points sont convertis en coordonnées d’écran.

lpRect
Spécifie le rectangle dont les points doivent être convertis. La première version de cette fonction est disponible uniquement pour Windows 3.1 et versions ultérieures.

lpPoint
Pointeur vers un tableau de POINT structure qui contient l’ensemble de points à convertir.

nCount
Spécifie le nombre de POINT structures dans le tableau pointé par lpPoint.

CWnd::MessageBox

Crée et affiche une fenêtre qui contient un message fourni par l’application et légende, ainsi qu’une combinaison des icônes prédéfinies et des boutons push décrits dans la liste Styles de boîte de message.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Paramètres

lpszText
Pointe vers un CString objet ou une chaîne terminée par null contenant le message à afficher.

lpszCaption
Pointe vers un CString objet ou une chaîne terminée par null à utiliser pour la zone de message légende. Si lpszCaption c’est NULLle cas, la légende par défaut « Erreur » est utilisée.

nType
Spécifie le contenu et le comportement de la zone de message.

Valeur de retour

Cette méthode utilise la MessageBox fonction telle que définie dans le Kit de développement logiciel (SDK) Windows. Cette méthode retourne le résultat de l’appel de cette fonction.

Notes

Utilisez la fonction globale au lieu de cette fonction AfxMessageBox membre pour implémenter une boîte de message dans votre application.

Voici les différentes icônes système qui peuvent être utilisées dans une boîte de message :

Icon Macro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOP et MB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. Mo_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. Mo_ICONEXCLAMATION et Mo_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. Mo_ICONASTERISK et Mo_ICONINFORMATION

Exemple

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

Appelez cette fonction membre pour modifier le style d’une fenêtre.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Paramètres

dwRemove
Spécifie les styles de fenêtre à supprimer lors de la modification du style.

dwAdd
Spécifie les styles de fenêtre à ajouter lors de la modification du style.

nFlags
Indicateurs à passer à SetWindowPos, ou zéro s’il SetWindowPos ne doit pas être appelé. La valeur par défaut est zéro. Consultez la section Remarques pour obtenir la liste des indicateurs prédéfinis.

Valeur de retour

Différent de zéro si le style a été modifié avec succès ; sinon, 0.

Notes

Les styles à ajouter ou à supprimer peuvent être combinés à l’aide de l’opérateur OR (|) au niveau du bit. Consultez les rubriques Styles de fenêtre et CreateWindow dans le Kit de développement logiciel (SDK) Windows pour plus d’informations sur les styles de fenêtre disponibles.

S’il nFlags n’est pas différent de zéro, ModifyStyle appelle la fonction SetWindowPos API Windows et redessine la fenêtre en combinant nFlags avec les quatre indicateurs prédéfinis suivants :

  • SWP_NOSIZE Conserve la taille actuelle.

  • SWP_NOMOVE Conserve la position actuelle.

  • SWP_NOZORDER Conserve l’ordre Z actuel.

  • SWP_NOACTIVATE N’active pas la fenêtre.

Pour modifier les styles étendus d’une fenêtre, consultez ModifyStyleEx.

Remarque

Pour certains styles dans certains contrôles (le ES_READONLY style dans le contrôle d’édition, par exemple), ModifyStyle peut ne pas modifier correctement le style, car le contrôle peut avoir besoin d’effectuer un traitement interne spécial. Dans ces cas, un message correspondant pour modifier le style sera disponible ( EM_SETREADONLY dans l’exemple mentionné).

Exemple

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

Appelez cette fonction membre pour modifier le style étendu d’une fenêtre.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Paramètres

dwRemove
Spécifie les styles étendus à supprimer lors de la modification du style.

dwAdd
Spécifie les styles étendus à ajouter lors de la modification du style.

nFlags
Indicateurs à passer à SetWindowPos, ou zéro s’il SetWindowPos ne doit pas être appelé. La valeur par défaut est zéro. Consultez la section Remarques pour obtenir la liste des indicateurs prédéfinis.

Valeur de retour

Différent de zéro si le style a été modifié avec succès ; sinon, 0.

Notes

Les styles à ajouter ou à supprimer peuvent être combinés à l’aide de l’opérateur OR (|) au niveau du bit. Consultez les rubriques Styles de fenêtre étendus dans ce livre et CreateWindowEx dans le Kit de développement logiciel (SDK) Windows pour plus d’informations sur les styles étendus disponibles

S’il nFlags n’est pas différent de zéro, ModifyStyleEx appelle la fonction SetWindowPos API Windows et redessine la fenêtre en combinant nFlags avec les quatre indicateurs prédéfinis suivants :

  • SWP_NOSIZE Conserve la taille actuelle.

  • SWP_NOMOVE Conserve la position actuelle.

  • SWP_NOZORDER Conserve l’ordre Z actuel.

  • SWP_NOACTIVATE N’active pas la fenêtre.

Pour modifier des fenêtres à l’aide de styles de fenêtre standard, consultez ModifyStyle.

Exemple

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

Modifie la position et les dimensions.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Paramètres

x
Spécifie la nouvelle position du côté gauche du CWnd.

y
Spécifie la nouvelle position du haut du CWnd.

nWidth
Spécifie la nouvelle largeur du CWnd.

nHeight
Spécifie la nouvelle hauteur du CWnd.

bRepaint
Spécifie s’il CWnd doit être repeint. Si TRUE, CWnd reçoit un WM_PAINT message dans son OnPaint gestionnaire de messages comme d’habitude. Si ce paramètre est FALSE, aucune peinture d’un type quelconque ne se produit. Cela s’applique à la zone cliente, à la zone non cliente (y compris les barres de titre et de défilement) et à n’importe quelle partie de la fenêtre parente découverte à la suite du déplacement.CWnd Lorsque ce paramètre est FALSEle cas, l’application doit invalider ou redessiner explicitement toutes les parties de CWnd la fenêtre parente qui doivent être redessinées.

lpRect
Objet CRect ou RECT structure qui spécifie la nouvelle taille et la position.

Notes

Pour un objet de niveau CWnd supérieur, les x paramètres sont y relatifs au coin supérieur gauche de l’écran. Pour un objet enfant CWnd , ils sont relatifs au coin supérieur gauche de la zone cliente de la fenêtre parente.

La MoveWindow fonction envoie le WM_GETMINMAXINFO message. La gestion de ce message offre CWnd la possibilité de modifier les valeurs par défaut pour les fenêtres les plus grandes et les plus petites possibles. Si les paramètres de la MoveWindow fonction membre dépassent ces valeurs, les valeurs peuvent être remplacées par les valeurs minimales ou maximales du WM_GETMINMAXINFO gestionnaire.

Exemple

Consultez l’exemple pour CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Signale au système qu'un événement prédéfini s'est produit. Si des applications clientes ont inscrit une fonction de hook pour l’événement, le système appelle la fonction de hook du client.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Paramètres

event
Spécifie l’événement qui s’est produit. Cette valeur doit être l’une des constantes d’événement.

idObjectType
Identifie le type d’objet qui a généré l’événement. Cette valeur est l’un des identificateurs d’objet prédéfinis ou une valeur d’ID d’objet personnalisé.

idObject
Identifie si l’événement a été généré par un objet ou un élément enfant de l’objet. Si cette valeur est CHILDID_SELF, l’événement a été généré par l’objet lui-même. Si ce n’est pas le cas, cette valeur est l’ID enfant de l’élément qui a généré l’événement.

Notes

Cette fonction membre émule les fonctionnalités de la fonction NotifyWinEvent, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::OnActivate

L’infrastructure appelle cette fonction membre lorsqu’un CWnd objet est activé ou désactivé.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Paramètres

nState
Spécifie si l’option CWnd est activée ou désactivée. Ce peut être l’une des valeurs suivantes :

  • WA_INACTIVE La fenêtre est désactivée.

  • WA_ACTIVE La fenêtre est activée par le biais d’une méthode autre qu’un clic de souris (par exemple, à l’aide de l’interface clavier pour sélectionner la fenêtre).

  • WA_CLICKACTIVE La fenêtre est activée par un clic de souris.

pWndOther
Pointeur vers l’activation CWnd ou la désactivation. Le pointeur peut être NULL, et il peut être temporaire.

bMinimized
Spécifie l’état réduit de l’activation ou de la CWnd désactivation. Une valeur indiquant TRUE que la fenêtre est réduite.

Si TRUE, il CWnd est activé ; sinon désactivé.

Notes

Si l’objet CWnd est activé avec un clic de souris, il reçoit également un appel de OnMouseActivate fonction membre.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnActivateApp

L’infrastructure appelle cette fonction membre à toutes les fenêtres de niveau supérieur de la tâche activée et pour toutes les fenêtres de niveau supérieur de la tâche en cours de désactivation.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Paramètres

bActive
Spécifie si l’option CWnd est activée ou désactivée. TRUE signifie que l’activation CWnd est en cours. FALSE signifie que le CWnd paramètre est désactivé.

dwThreadID
Spécifie la valeur de l’ID de thread. Si bActive c’est TRUEle cas, dwThreadID identifie le thread propriétaire de l’objet CWnd désactivé. Si bActive c’est FALSEle cas, dwThreadID identifie le thread propriétaire de l’activation CWnd .

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnAmbientProperty

L’infrastructure appelle cette fonction membre pour obtenir des valeurs de propriété ambiantes à partir d’une fenêtre qui contient des contrôles OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Paramètres

pSite
Pointeur vers le site du contrôle qui a demandé la propriété ambiante.

dispid
ID de répartition de la propriété ambiante demandée.

pvar
Pointeur vers une structure allouée VARIANT par l’appelant, via laquelle la valeur de la propriété ambiante sera retournée.

Valeur de retour

TRUE si la propriété ambiante est prise en charge ; FALSE si ce n’est pas le cas.

Notes

Remplacez cette fonction pour modifier les valeurs de propriété ambiante par défaut retournées par un conteneur de contrôle OLE à ses contrôles. Toutes les demandes de propriété ambiante non gérées par une fonction de substitution doivent être transférées à l’implémentation de classe de base.

CWnd::OnAppCommand

L’infrastructure appelle cette fonction membre lorsque l’utilisateur génère un événement de commande d’application. Un tel événement se produit lorsque l’utilisateur clique sur un bouton de commande d’application ou tape une clé de commande d’application.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Paramètres

pWnd
[in] Pointeur vers un CWnd objet qui représente la fenêtre où l’utilisateur a cliqué sur le bouton de commande ou appuyé sur la touche de commande. Cette fenêtre peut être une fenêtre enfant de la fenêtre qui reçoit le message.

nCmd
[in] Indique la commande application. Pour obtenir la liste des valeurs possibles, consultez les commandes sous la cmd section du lParam paramètre WM_APPCOMMAND.

nDevice
[in] Périphérique d’entrée qui a généré l’événement d’entrée. Pour obtenir la liste des valeurs possibles, consultez les appareils sous la uDevice section du lParam paramètre de WM_APPCOMMAND.

nKey
[in] Indique les touches virtuelles qui sont en panne, telles que la touche Ctrl ou le bouton gauche de la souris. Pour obtenir la liste des valeurs possibles, consultez les clés sous la dwKeys section du lParam paramètre WM_APPCOMMAND. Pour plus d’informations, consultez le sous-titre « Paramètres du message » dans À propos de l’entrée de la souris.

Notes

Cette méthode reçoit la WM_APPCOMMAND notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnAskCbFormatName

L’infrastructure appelle cette fonction membre lorsque le Presse-papiers contient un handle de données pour le CF_OWNERDISPLAY format (autrement dit, lorsque le propriétaire du Presse-papiers affiche le contenu du Presse-papiers).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Paramètres

nMaxCount
Spécifie le nombre maximal d’octets à copier.

lpszString
Pointe vers la mémoire tampon où la copie du nom de format doit être stockée.

Notes

Le propriétaire du Presse-papiers doit fournir un nom pour son format.

Remplacez cette fonction membre et copiez le nom du CF_OWNERDISPLAY format dans la mémoire tampon spécifiée, sans dépasser le nombre maximal d’octets spécifié.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCancelMode

L’infrastructure appelle cette fonction membre pour informer CWnd l’annulation d’un mode interne.

afx_msg void OnCancelMode();

Notes

Si l’objet CWnd a le focus, sa OnCancelMode fonction membre est appelée lorsqu’une boîte de dialogue ou une boîte de message s’affiche. Cela donne la CWnd possibilité d’annuler des modes tels que la capture de souris.

L’implémentation par défaut répond en appelant la ReleaseCapture fonction Windows. Remplacez cette fonction membre dans votre classe dérivée pour gérer d’autres modes.

CWnd::OnCaptureChanged

L’infrastructure appelle cette fonction membre pour notifier la fenêtre qui perd la capture de la souris.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Paramètres

pWnd
Pointeur vers la fenêtre pour obtenir la capture de la souris

Notes

Une fenêtre reçoit ce message même s’il s’appelle ReleaseCapture lui-même. Une application ne doit pas tenter de définir la capture de la souris en réponse à ce message. Lorsqu’elle reçoit ce message, une fenêtre doit se redessiner, si nécessaire, pour refléter le nouvel état de capture de la souris.

Pour plus d’informations sur la fonction Windows, consultez le ReleaseCapture Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnChangeCbChain

L’infrastructure appelle cette fonction membre pour chaque fenêtre de la chaîne Presse-papiers-visionneuse pour lui avertir qu’une fenêtre est supprimée de la chaîne.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Paramètres

hWndRemove
Spécifie le handle de fenêtre en cours de suppression de la chaîne de visionneuse du Presse-papiers.

hWndAfter
Spécifie le handle de fenêtre qui suit la fenêtre supprimée de la chaîne de visionneuse du Presse-papiers.

Notes

Chaque CWnd objet qui reçoit un OnChangeCbChain appel doit utiliser la SendMessage fonction Windows pour envoyer le WM_CHANGECBCHAIN message à la fenêtre suivante dans la chaîne de visionneuse du Presse-papiers (handle retourné par SetClipboardViewer). S’il hWndRemove s’agit de la fenêtre suivante de la chaîne, la fenêtre spécifiée devient hWndAfter la fenêtre suivante et les messages du Presse-papiers sont transmis à celui-ci.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnChangeUIState

Appelé quand l'état de l'interface utilisateur (IU) doit être modifié.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Paramètres

nAction
Spécifie l’action à entreprendre. Peut avoir l’une des valeurs suivantes :

  • UIS_CLEAR L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être masqué.

  • UIS_INITIALIZE L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être modifié en fonction du dernier événement d’entrée. Pour plus d’informations, consultez la section Remarques de WM_CHANGEUISTATE.

  • UIS_SET L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être visible.

nUIElement
Spécifie les éléments d’état de l’interface utilisateur affectés ou le style du contrôle. Peut avoir l’une des valeurs suivantes :

  • UISF_HIDEACCEL Raccourcis clavier.

  • UISF_HIDEFOCUS Indicateurs de focus.

  • UISF_ACTIVE Windows XP : un contrôle doit être dessiné dans le style utilisé pour les contrôles actifs.

Notes

Cette fonction membre émule les fonctionnalités du WM_CHANGEUISTATE message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::OnChar

L’infrastructure appelle cette fonction membre lorsqu’une séquence de touches se traduit par un caractère non système.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Contient la valeur du code caractère de la clé.

nRepCnt
Contient le nombre de répétitions, le nombre de fois où la séquence de touches est répétée lorsque l’utilisateur conserve la touche.

nFlags
Contient le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Signification
0-15 Spécifie le nombre de répétitions. La valeur est le nombre de fois où la séquence de touches est répétée en raison de la conservation de la touche par l’utilisateur.
16-23 Spécifie le code d’analyse. La valeur dépend du fabricant d’équipement d’origine (OEM)
24 Spécifie si la touche est une touche étendue, telle que la touche Alt de droite et les touches Ctrl qui apparaissent sur un clavier 101 ou 102 touches amélioré. La valeur est 1 s’il s’agit d’une clé étendue ; sinon, c’est 0.
25-28 Utilisé en interne par Windows.
29 Spécifie le code de contexte. La valeur est 1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, la valeur est 0.
30 Spécifie l’état de clé précédent. La valeur est 1 si la clé est en panne avant l’envoi du message, ou 0 si la clé est vers le haut.
31 Spécifie l’état de transition. La valeur est 1 si la touche est libérée ou si la touche est enfoncée.

Notes

Cette fonction est appelée avant la OnKeyUp fonction membre et après l’appel de la OnKeyDown fonction membre. OnChar contient la valeur de la touche clavier enfoncée ou libérée.

Étant donné qu’il n’existe pas nécessairement de correspondance un-à-un entre les touches enfoncées et OnChar les appels générés, les informations contenues dans nFlags ce document ne sont généralement pas utiles aux applications. Les informations contenues nFlags s’appliquent uniquement à l’appel le plus récent à la OnKeyUp fonction membre ou à la OnKeyDown fonction membre qui précède l’appel à OnChar.

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue en nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCharToItem

Appelé lorsqu’une zone de liste avec le LBS_WANTKEYBOARDINPUT style envoie son propriétaire un WM_CHARTOITEM message en réponse à un WM_CHAR message.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Paramètres

nChar
Spécifie la valeur de la touche enfoncée par l’utilisateur.

pListBox
Spécifie un pointeur vers la zone de liste. Il peut être temporaire.

nIndex
Spécifie la position de caret actuelle.

Valeur de retour

L’infrastructure appelle cette fonction membre pour spécifier l’action effectuée par l’application en réponse à l’appel. Une valeur de retour de -2 indique que l’application a géré tous les aspects de la sélection de l’élément et ne souhaite aucune action supplémentaire par la zone de liste. Une valeur de retour de -1 indique que la zone de liste doit effectuer l’action par défaut en réponse à la séquence de touches. Une valeur de retour de 0 ou supérieure spécifie l’index de base zéro d’un élément dans la zone de liste et indique que la zone de liste doit effectuer l’action par défaut pour la séquence de touches sur l’élément donné.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnChildActivate

Si l’objet CWnd est une fenêtre OnChildActivate enfant MDI (Multi Document Interface), est appelé par l’infrastructure lorsque l’utilisateur clique sur la barre de titre de la fenêtre ou lorsque la fenêtre est activée, déplacée ou dimensionnée.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Cette fonction membre est appelée par la fenêtre parente de cette fenêtre lorsqu’elle reçoit un message de notification qui s’applique à cette fenêtre.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paramètres

message
Numéro de message Windows envoyé à une fenêtre parente.

wParam
Wparam associé au message.

lParam
Lparam associé au message.

pLResult
Pointeur vers une valeur à retourner à partir de la procédure de fenêtre du parent. Ce pointeur sera NULL si aucune valeur de retour n’est attendue.

Valeur de retour

Différent de zéro si cette fenêtre est responsable de la gestion du message envoyé à son parent ; sinon 0.

Notes

N’appelez jamais directement cette fonction membre.

L’implémentation par défaut de cette fonction membre retourne 0, ce qui signifie que le parent doit gérer le message.

Remplacez cette fonction membre pour étendre la façon dont un contrôle répond aux messages de notification.

CWnd::OnClipboardUpdate

L’infrastructure appelle cette fonction membre lorsque le contenu du Presse-papiers a changé.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

L’infrastructure appelle cette fonction membre comme un signal indiquant que l’application ou l’application CWnd doit se terminer.

afx_msg void OnClose();

Notes

Appels d’implémentation DestroyWindowpar défaut .

CWnd::OnColorizationColorChanged

L’infrastructure appelle ce membre lorsque la stratégie de rendu pour la zone non cliente a changé.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Paramètres

dwColorizationColor
[in] Spécifie la nouvelle couleur de colorisation. Le format de couleur est un nombre hexadécimal de la forme 0xAARRGGBB, où chacun des quatre composants varie de 0x00 à 0xFF. Le composant AA est la valeur alpha, RR est le rouge de couleur, GG est vert et BB est bleu.

bOpacity
[in] TRUE si la nouvelle couleur est mélangée avec opacité ; FALSE si ce n’est pas le cas.

Notes

Cette méthode reçoit le WM_DWMNCRENDERINGCHANGED message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCommand

L’infrastructure appelle cette fonction membre lorsque l’utilisateur sélectionne un élément dans un menu, lorsqu’un contrôle enfant envoie un message de notification ou lorsqu’une séquence de touches d’accélérateur est traduite.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Paramètres

wParam
Mot de faible ordre d’identification de wParam l’ID de commande de l’élément de menu, du contrôle ou de l’accélérateur. Le mot de commande élevé de spécifie le message de wParam notification si le message provient d’un contrôle. Si le message provient d’un accélérateur, le mot de commande élevé est 1. Si le message provient d’un menu, le mot de commande élevé est 0.

lParam
Identifie le contrôle qui envoie le message si le message provient d’un contrôle. Sinon, lParam c’est 0.

Valeur de retour

Une application retourne une valeur différente de zéro si elle traite ce message ; sinon 0.

Notes

OnCommand traite le mappage de messages pour les entrées et ON_COMMAND les notifications de contrôle, et appelle la fonction membre appropriée.

Remplacez cette fonction membre dans votre classe dérivée pour gérer le WM_COMMAND message. Une substitution ne traite pas le mappage de messages, sauf si la classe OnCommand de base est appelée.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCompacting

L’infrastructure appelle cette fonction membre pour toutes les fenêtres de niveau supérieur lorsque Windows détecte que plus de 12,5 % du temps système sur un intervalle de 30 à 60 secondes est passé à compacter la mémoire.

afx_msg void OnCompacting(UINT nCpuTime);

Paramètres

nCpuTime
Spécifie le ratio de temps processeur actuellement passé par le compactage de la mémoire par windows et le temps processeur passé à effectuer d’autres opérations. Par exemple, 8000h représente 50 % du temps processeur passé à compacter la mémoire.

Notes

Cela indique que la mémoire système est faible.

Lorsqu’un CWnd objet reçoit cet appel, il doit libérer autant de mémoire que possible, en tenant compte du niveau actuel d’activité de l’application et du nombre total d’applications s’exécutant dans Windows. L’application peut appeler la fonction Windows pour déterminer le nombre d’applications en cours d’exécution.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCompareItem

L’infrastructure appelle cette fonction membre pour spécifier la position relative d’un nouvel élément dans une zone de liste déroulante ou de liste triée par le propriétaire enfant.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Paramètres

nIDCtl
Identificateur du contrôle qui a envoyé le WM_COMPAREITEM message.

lpCompareItemStruct
Contient un pointeur long vers une COMPAREITEMSTRUCT structure de données qui contient les identificateurs et les données fournies par l’application pour deux éléments dans la zone de liste déroulante ou de liste.

Valeur de retour

Indique la position relative des deux éléments. Il peut s’agir de l’une des valeurs suivantes :

Value Signification
-1 L’élément 1 trie avant l’élément 2.
0 L’élément 1 et l’élément 2 trient de la même façon.
1 L’élément 1 trie après l’élément 2.

Notes

Si une zone de liste modifiable ou de liste est créée avec le ou LBS_SORT le CBS_SORT style, Windows envoie la zone de liste modifiable ou le propriétaire de zone de liste à un WM_COMPAREITEM message chaque fois que l’application ajoute un nouvel élément.

Deux éléments de la zone de liste modifiable ou de liste sont reformés dans une COMPAREITEMSTRUCT structure pointée par lpCompareItemStruct. OnCompareItem doit retourner une valeur qui indique quels éléments doivent apparaître avant l’autre. En règle générale, Windows effectue cet appel plusieurs fois jusqu’à ce qu’il détermine la position exacte du nouvel élément.

Si le hwndItem membre de la COMPAREITEMSTRUCT structure appartient à un ou CComboBox un CListBox objet, la CompareItem fonction virtuelle de la classe appropriée est appelée. Remplacez CComboBox::CompareItem ou CListBox::CompareItem dans votre classe dérivée CListBox ou CComboBox classe pour effectuer la comparaison d’éléments.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCompositionChanged

L’infrastructure appelle cette fonction membre pour toutes les fenêtres de niveau supérieur lorsque la composition du Gestionnaire de fenêtres de bureau (DWM) est activée ou désactivée.

afx_msg void OnCompositionChanged();

Notes

Cette méthode reçoit la WM_DWMCOMPOSITIONCHANGED notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnContextMenu

Appelé par l’infrastructure lorsque l’utilisateur a cliqué sur le bouton droit de la souris (cliqué avec le bouton droit) dans la fenêtre.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Paramètres

pWnd
Gérez la fenêtre dans laquelle l’utilisateur a cliqué avec le bouton droit sur la souris. Il peut s’agir d’une fenêtre enfant de la fenêtre qui reçoit le message. Pour plus d’informations sur le traitement de ce message, consultez la section Remarques.

pos
Position du curseur, en coordonnées d’écran, au moment du clic de la souris.

Notes

Vous pouvez traiter ce message en affichant un menu contextuel à l’aide du TrackPopupMenu.

Si vous n’affichez pas de menu contextuel, vous devez transmettre ce message à la DefWindowProc fonction. Si votre fenêtre est une fenêtre enfant, DefWindowProc envoie le message au parent. Sinon, DefWindowProc affiche un menu contextuel par défaut si la position spécifiée se trouve dans la légende de la fenêtre.

CWnd::OnCopyData

Cette fonction membre est appelée par l’infrastructure pour copier des données d’une application vers une autre.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Paramètres

pWnd
Pointeur vers un CWnd objet qui envoie les données.

pCopyDataStruct
Pointeur vers une COPYDATASTRUCT structure qui contient les données envoyées.

Valeur de retour

Retourne TRUE si l’application de réception accepte correctement les données. Sinon, retourne FALSE.

Notes

Les données transmises ne doivent pas contenir de pointeurs ou d’autres références à des objets non accessibles à l’application recevant les données.

Bien que les données soient copiées, elles ne doivent pas être modifiées par un autre thread du processus d’envoi.

L’application de réception doit prendre en compte les données en lecture seule. La structure pointée par le paramètre pCopyDataStruct est valide uniquement pendant le transfert de données . Toutefois, l’application de réception ne doit pas libérer la mémoire associée à la structure.

Si l’application de réception a besoin d’accéder aux données une fois cette fonction retournée, elle doit copier les données reçues dans une mémoire tampon locale.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCreate

L’infrastructure appelle cette fonction membre lorsqu’une application demande la création de la fenêtre Windows en appelant la fonction membre ou CreateEx la Create fonction membre.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Paramètres

lpCreateStruct
Pointe vers une CREATESTRUCT structure qui contient des informations sur l’objet CWnd en cours de création.

Valeur de retour

OnCreate doit retourner 0 pour continuer la création de l’objet CWnd . Si l’application retourne -1, la fenêtre est détruite.

Notes

L’objet CWnd reçoit cet appel une fois la fenêtre créée, mais avant qu’elle ne devienne visible. OnCreateest appelé avant que la fonction ou CreateEx la Create fonction membre ne retourne.

Remplacez cette fonction membre pour effectuer toute initialisation nécessaire d’une classe dérivée.

La CREATESTRUCT structure contient des copies des paramètres utilisés pour créer la fenêtre.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnCtlColor

L’infrastructure appelle cette fonction membre lorsqu’un contrôle enfant est sur le point d’être dessiné.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Paramètres

pDC
Contient un pointeur vers le contexte d’affichage de la fenêtre enfant. Peut être temporaire.

pWnd
Contient un pointeur vers le contrôle qui demande la couleur. Peut être temporaire.

nCtlColor
Contient l’une des valeurs suivantes, en spécifiant le type de contrôle :

  • CTLCOLOR_BTN Contrôle bouton

  • CTLCOLOR_DLG Boîte de dialogue

  • CTLCOLOR_EDIT Modifier le contrôle

  • CTLCOLOR_LISTBOX Contrôle de zone de liste

  • CTLCOLOR_MSGBOX Boîte de message

  • CTLCOLOR_SCROLLBAR Contrôle de barre de défilement

  • CTLCOLOR_STATIC Contrôle statique

Valeur de retour

OnCtlColor doit retourner une poignée au pinceau à utiliser pour peindre l’arrière-plan du contrôle.

Notes

La plupart des contrôles envoient ce message à leur parent (généralement une boîte de dialogue) pour préparer le pDC dessin du contrôle à l’aide des couleurs correctes.

Pour modifier la couleur du texte, appelez la SetTextColor fonction membre avec les valeurs rouge, vert et bleu (RVB) souhaitées.

Pour modifier la couleur d’arrière-plan d’un contrôle d’édition à ligne unique, définissez le handle de pinceau dans les CTLCOLOR_EDIT codes de message et CTLCOLOR_MSGBOX appelez la CDC::SetBkColor fonction en réponse au CTLCOLOR_EDIT code.

OnCtlColor ne sera pas appelé pour la zone de liste d’une zone de liste déroulante, car la zone de liste déroulante est en fait un enfant de la zone de liste déroulante et non pas un enfant de la fenêtre. Pour modifier la couleur de la zone de liste déroulante, créez un CComboBox remplacement de OnCtlColor cette case activée s dans CTLCOLOR_LISTBOX le nCtlColor paramètre. Dans ce gestionnaire, la SetBkColor fonction membre doit être utilisée pour définir la couleur d’arrière-plan du texte.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction. Pour ajouter la méthode suivante à votre classe de dialogue, utilisez le volet propriétés de Visual Studio pour ajouter un gestionnaire de messages pour WM_CTLCOLOR. Vous pouvez également ajouter manuellement une ON_WM_CTLCOLOR() entrée à la carte de messages.

Exemple

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

L’infrastructure appelle cette fonction membre lorsque la OnKeyUp fonction membre et les OnKeyDown fonctions membres sont appelées.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie la valeur du caractère de clé morte.

nRepCnt
Spécifie le nombre de répétitions.

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Description
0-7 Code d’analyse (valeur dépendante d’OEM). Octet faible du mot de haut ordre.
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue ; sinon, 0).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, 0).
14 État de clé précédent (1 si la clé est en panne avant l’appel, 0 si la clé est vers le haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Notes

Cette fonction membre peut être utilisée pour spécifier la valeur de caractère d’une clé morte. Une clé morte est une clé, telle que le caractère umlaut (point double), qui est combiné avec d’autres caractères pour former un caractère composite. Par exemple, le caractère umlaut-O se compose de la clé morte, de l’umlaut et de la clé O.

Une application utilise OnDeadChar généralement pour donner des commentaires à l’utilisateur sur chaque touche enfoncée. Par exemple, une application peut afficher l’accentuation dans la position du caractère actuel sans déplacer le pointage.

Étant donné qu’il n’existe pas nécessairement de correspondance un-à-un entre les touches enfoncées et OnDeadChar les appels, les informations contenues dans nFlags ce document ne sont généralement pas utiles aux applications. Les informations contenues nFlags s’appliquent uniquement à l’appel le plus récent à la OnKeyUp fonction membre ou à la OnKeyDown fonction membre qui précède l’appel OnDeadChar .

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue en nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnDeleteItem

L’infrastructure appelle cette fonction membre pour informer le propriétaire d’une zone de liste de dessin propriétaire ou d’une zone de liste modifiable que la zone de liste ou la zone de liste modifiable est détruite ou que les éléments ont été supprimés par CComboBox::DeleteString, CListBox::DeleteString, ou CComboBox::ResetContentCListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Paramètres

nIDCtl
Identificateur du contrôle qui a envoyé le WM_DELETEITEM message.

lpDeleteItemStruct
Spécifie un pointeur long vers une DELETEITEMSTRUCT structure de données qui contient des informations sur l’élément de zone de liste supprimé.

Notes

Si le hwndItem membre de la DELETEITEMSTRUCT structure appartient à une zone de liste modifiable ou à une zone de liste, la DeleteItem fonction virtuelle de la classe appropriée est appelée. Remplacez la DeleteItem fonction membre de la classe du contrôle approprié pour supprimer des données spécifiques à l’élément.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnDestroy

L’infrastructure appelle cette fonction membre pour informer l’objet CWnd qu’il est détruit.

afx_msg void OnDestroy();

Notes

OnDestroy est appelé une fois l’objet CWnd supprimé de l’écran.

OnDestroy est appelé d’abord pour l’être CWnd détruit, puis pour les fenêtres enfants de CWnd comme ils sont détruits. Il peut être supposé que toutes les fenêtres enfants existent toujours pendant les OnDestroy exécutions.

Si l’objet CWnd détruit fait partie de la chaîne de visionneuse du Presse-papiers (défini en appelant la SetClipboardViewer fonction membre), il CWnd doit se supprimer de la chaîne presse-papiers en appelant la ChangeClipboardChain fonction membre avant de revenir de la OnDestroy fonction.

CWnd::OnDestroyClipboard

L’infrastructure appelle cette fonction membre pour le propriétaire du Presse-papiers lorsque le Presse-papiers est vidé par le biais d’un appel à la EmptyClipboard fonction Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

L’infrastructure appelle cette fonction membre pour informer une application ou un pilote de périphérique d’une modification de la configuration matérielle d’un appareil ou de l’ordinateur.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Paramètres

nEventType
Type d’événement. Consultez la section Remarques pour obtenir une description des valeurs disponibles

dwData
Adresse d’une structure qui contient des données spécifiques à l’événement. Sa signification dépend de l’événement donné.

Notes

Pour les appareils qui offrent des fonctionnalités contrôlables par logiciel, telles que l’éjection et le verrouillage, le système d’exploitation envoie généralement un DBT_DEVICEREMOVEPENDING message pour permettre aux applications et aux pilotes de périphériques de mettre fin à leur utilisation de l’appareil correctement.

Si le système d’exploitation supprime avec force un appareil, il peut ne pas envoyer de DBT_DEVICEQUERYREMOVE message avant de le faire.

Le nEvent paramètre peut être l’une des valeurs suivantes :

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnDevModeChange

L’infrastructure appelle cette fonction membre pour tous les objets de niveau CWnd supérieur lorsque l’utilisateur modifie les paramètres du mode appareil.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Paramètres

lpDeviceName
Pointe vers le nom de l’appareil spécifié dans le fichier d’initialisation Windows. WIN.INI

Notes

Les applications qui gèrent le WM_DEVMODECHANGE message peuvent réinitialiser leurs paramètres en mode appareil. Les applications qui utilisent la fonction Windows ExtDeviceMode pour enregistrer et restaurer les paramètres de l’appareil ne traitent généralement pas cette fonction.

Cette fonction n’est pas appelée lorsque l’utilisateur modifie l’imprimante par défaut de Panneau de configuration. Dans ce cas, la OnWinIniChange fonction est appelée.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnDrawClipboard

L’infrastructure appelle cette fonction membre pour chaque fenêtre de la chaîne de visionneuse du Presse-papiers lorsque le contenu du Presse-papiers change.

afx_msg void OnDrawClipboard();

Notes

Seules les applications qui ont rejoint la chaîne de visionneuse du Presse-papiers en appelant la SetClipboardViewer fonction membre doivent répondre à cet appel.

Chaque fenêtre qui reçoit un OnDrawClipboard appel doit appeler la SendMessage fonction Windows pour transmettre un WM_DRAWCLIPBOARD message à la fenêtre suivante de la chaîne de visionneuse du Presse-papiers. Le handle de la fenêtre suivante est retourné par la SetClipboardViewer fonction membre ; il peut être modifié en réponse à un OnChangeCbChain appel de fonction membre.

CWnd::OnDrawIconicThumbnailOrLivePreview

Appelé par l'infrastructure quand elle a besoin d'obtenir une image bitmap à afficher sur une miniature d'onglet Windows 7 ou sur le client pour l'aperçu de l'application.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Paramètres

dc
Spécifie le contexte de l’appareil.

rect
Spécifie le rectangle englobant de la zone à afficher.

szRequiredThumbnailSize
Spécifie la taille de la miniature cible. Doit être ignoré si bIsThumbnail c’est FALSEle cas.

bIsThumbnail
Spécifie si cette méthode est appelée pour les miniatures emblématiques ou l’aperçu en direct (aperçu).

bAlphaChannelSet
[out] Définissez-le TRUE si votre implémentation initialise le canal alpha d’une bitmap sélectionnée dans dc.

Notes

Remplacez cette méthode dans une classe dérivée et dessinez sur le contexte d’appareil spécifié afin de personnaliser la miniature et l’aperçu. Si bThumbnail c’est TRUEle cas, szRequiredThumbnailSize peut être ignoré. Dans ce cas, vous devez savoir que vous dessinez une bitmap de taille complète (autrement dit, une bitmap qui couvre l’ensemble de la zone cliente). Le contexte de l’appareil (dc) est fourni avec une bitmap de 32 bits sélectionnée. L’implémentation par défaut envoie WM_PRINT à cette fenêtre avec PRF_CLIENTdes indicateurs et PRF_NONCLIENT des indicateursPRF_CHILDREN.

CWnd::OnDrawItem

L’infrastructure appelle cette fonction membre pour le propriétaire d’un contrôle de bouton de dessin propriétaire, de contrôle de zone de liste modifiable, de contrôle de zone de liste ou de menu lorsqu’un aspect visuel du contrôle ou du menu a changé.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Paramètres

nIDCtl
Contient l’identificateur du contrôle qui a envoyé le WM_DRAWITEM message. Si un menu a envoyé le message, nIDCtl contient 0.

lpDrawItemStruct
Spécifie un pointeur long vers une DRAWITEMSTRUCT structure de données qui contient des informations sur l’élément à dessiner et le type de dessin requis.

Notes

Le itemAction membre de la DRAWITEMSTRUCT structure définit l’opération de dessin à effectuer. Les données de ce membre permettent au propriétaire du contrôle de déterminer l’action de dessin requise.

Avant de retourner à partir du traitement de ce message, une application doit s’assurer que le contexte de l’appareil identifié par le hDC membre de la DRAWITEMSTRUCT structure est restauré à l’état par défaut.

Si le hwndItem membre appartient à un CButtonobjet , ou CMenuCListBoxCComboBox, la DrawItem fonction virtuelle de la classe appropriée est appelée. Remplacez la DrawItem fonction membre de la classe du contrôle approprié pour dessiner l’élément.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnDropFiles

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton gauche de la souris sur une fenêtre qui s’est inscrite en tant que destinataire des fichiers supprimés.

afx_msg void OnDropFiles(HDROP hDropInfo);

Paramètres

hDropInfo
Pointeur vers une structure de données interne qui décrit les fichiers supprimés. Ce handle est utilisé par les DragFinishfonctions , DragQueryFileet DragQueryPoint Windows pour récupérer des informations sur les fichiers supprimés.

Notes

En règle générale, une classe dérivée est conçue pour prendre en charge les fichiers supprimés et elle s’inscrit lors de la construction de fenêtres.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEnable

L’infrastructure appelle cette fonction membre lorsqu’une application modifie l’état activé de l’objet CWnd .

afx_msg void OnEnable(BOOL bEnable);

Paramètres

bEnable
Spécifie si l’objet CWnd a été activé ou désactivé. Ce paramètre est TRUE si le CWnd paramètre a été activé ; il s’agit FALSE du paramètre si celui-ci CWnd a été désactivé.

Notes

OnEnable est appelé avant que la fonction membre ne retourne, mais une fois que l’état activé par la EnableWindow fenêtre (WS_DISABLED bit de style) a changé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEndSession

L’infrastructure appelle cette fonction membre une fois que l’objet CWnd a retourné une valeur différente de zéro d’un OnQueryEndSession appel de fonction membre.

afx_msg void OnEndSession(BOOL bEnding);

Paramètres

bEnding
Spécifie si la session est terminée ou non. C’est TRUE si la session est terminée ; sinon FALSE.

Notes

L’appel OnEndSession informe l’objet CWnd si la session se termine réellement.

Si bEnding c’est TRUEle cas, Windows peut se terminer à tout moment une fois que toutes les applications sont retournées à partir du traitement de cet appel. Par conséquent, une application effectue toutes les tâches requises pour l’arrêt dans OnEndSession.

Vous n’avez pas besoin d’appeler la DestroyWindow fonction membre ou PostQuitMessage la fonction Windows lorsque la session se termine.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEnterIdle

L’infrastructure appelle cette fonction membre pour informer la procédure principale d’une application qu’une boîte de dialogue modale ou un menu entre dans un état inactif.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Paramètres

nWhy
Spécifie si le message est le résultat d’une boîte de dialogue ou d’un menu affiché. Ce paramètre peut avoir l'une des valeurs suivantes :

  • MSGF_DIALOGBOX Le système est inactif, car une boîte de dialogue s’affiche.

  • MSGF_MENU Le système est inactif, car un menu s’affiche.

pWho
Spécifie un pointeur vers la boîte de dialogue (le cas nWhyMSGF_DIALOGBOXéchéant) ou la fenêtre qui contient le menu affiché (le cas échéant nWhyMSGF_MENU). Ce pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Une boîte de dialogue modale ou un menu entre dans un état inactif lorsqu’aucun message n’attend dans sa file d’attente une fois qu’il a traité un ou plusieurs messages précédents.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEnterMenuLoop

L’infrastructure appelle cette fonction membre lorsqu’une boucle modale de menu a été entrée.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Paramètres

bIsTrackPopupMenu
Spécifie si le menu impliqué est un menu contextuel. A une valeur différente de zéro si la fonction réussit ; sinon 0.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEnterSizeMove

L’infrastructure appelle cette fonction membre une fois après que la fenêtre affectée entre une boucle modale de déplacement ou de dimensionnement.

afx_msg void OnEnterSizeMove();

Notes

Cette méthode reçoit la WM_ENTERSIZEMOVE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Une fenêtre entre une boucle modale de déplacement ou de dimensionnement lorsque l’utilisateur clique sur la barre de titre ou la bordure de dimensionnement de la fenêtre, ou lorsque la fenêtre transmet le WM_SYSCOMMAND message à la CWnd::DefWindowProc fonction et au paramètre wParam de ce message spécifie SC_MOVE ou SC_SIZE.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnEraseBkgnd

L’infrastructure appelle cette fonction membre lorsque l’arrière-plan de l’objet CWnd a besoin d’un effacement (par exemple, lorsqu’il est redimensionné).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Paramètres

pDC
Spécifie l’objet de contexte d’appareil.

Valeur de retour

Différent de zéro s’il efface l’arrière-plan ; sinon 0.

Notes

Il est appelé à préparer une région invalidée pour la peinture.

L’implémentation par défaut efface l’arrière-plan à l’aide du pinceau d’arrière-plan de classe de fenêtre spécifié par le hbrBackground membre de la structure de classe de fenêtre.

Si le hbrBackground membre est NULL, votre version OnEraseBkgnd substituée de doit effacer la couleur d’arrière-plan. Votre version doit également aligner l’origine du pinceau prévu avec les CWnd coordonnées en appelant UnrealizeObject d’abord le pinceau, puis en sélectionnant le pinceau.

Une substitution OnEraseBkgnd doit retourner non nulle en réponse si WM_ERASEBKGND elle traite le message et efface l’arrière-plan ; cela indique qu’aucune autre effacement n’est nécessaire. Si elle retourne 0, la fenêtre reste marquée comme nécessitant l’effacement. (En règle générale, cela signifie que le fErase membre de la PAINTSTRUCT structure sera TRUE.)

Windows part du principe que l’arrière-plan est calculé avec le MM_TEXT mode de mappage. Si le contexte de l’appareil utilise un autre mode de mappage, la zone effacée peut ne pas se trouver dans la partie visible de la zone cliente.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnExitMenuLoop

L’infrastructure appelle cette fonction membre lorsqu’une boucle modale de menu a été supprimée.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Paramètres

bIsTrackPopupMenu
Spécifie si le menu impliqué est un menu contextuel. A une valeur différente de zéro si la fonction réussit ; sinon 0.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnExitSizeMove

L’infrastructure appelle cette fonction membre une fois après que la fenêtre affectée quitte une boucle modale de déplacement ou de dimensionnement.

afx_msg void OnExitSizeMove();

Notes

Cette méthode reçoit la WM_EXITSIZEMOVE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Une fenêtre entre une boucle modale de déplacement ou de dimensionnement lorsque l’utilisateur clique sur la barre de titre ou la bordure de dimensionnement de la fenêtre, ou lorsque la fenêtre transmet le WM_SYSCOMMAND message à la CWnd::DefWindowProc fonction et au wParam paramètre de ce message spécifie SC_MOVE ou SC_SIZE.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnFontChange

Toutes les fenêtres de niveau supérieur du système reçoivent un OnFontChange appel de l’infrastructure après que l’application a modifié le pool de ressources de police.

afx_msg void OnFontChange();

Notes

Une application qui ajoute ou supprime des polices du système (par exemple, via la AddFontResource fonction ou RemoveFontResource Windows) doit envoyer le WM_FONTCHANGE message à toutes les fenêtres de niveau supérieur.

Pour envoyer ce message, utilisez la SendMessage fonction Windows avec le hWnd paramètre défini sur HWND_BROADCAST.

CWnd::OnGetDlgCode

Appelé pour un contrôle afin de lui permettre de traiter lui-même une entrée de touche de direction et de touche TAB.

afx_msg UINT OnGetDlgCode();

Valeur de retour

Une ou plusieurs des valeurs suivantes, indiquant le type d’entrée que l’application traite :

  • DLGC_BUTTON Bouton (générique).

  • DLGC_DEFPUSHBUTTON Bouton push par défaut.

  • DLGC_HASSETSELEM_SETSEL Messages.

  • DLGC_UNDEFPUSHBUTTON Aucun traitement pushbutton par défaut. (Une application peut utiliser cet indicateur DLGC_BUTTON pour indiquer qu’il traite l’entrée du bouton, mais s’appuie sur le système pour le traitement par défaut du bouton pushbutton.)

  • DLGC_RADIOBUTTON Case d’option.

  • DLGC_STATIC Contrôle statique.

  • DLGC_WANTALLKEYS Toutes les entrées au clavier.

  • DLGC_WANTARROWS Flèches.

  • DLGC_WANTCHARSWM_CHAR Messages.

  • DLGC_WANTMESSAGE Toutes les entrées au clavier. L’application transmet ce message au contrôle.

  • DLGC_WANTTAB Touche TAB.

Notes

Normalement, Windows gère toutes les entrées de touches de direction et de touche tabulation dans un CWnd contrôle. En remplaçant OnGetDlgCode, un CWnd contrôle peut choisir un type particulier d’entrée à traiter lui-même.

Les fonctions par défaut OnGetDlgCode des classes de contrôle prédéfinies retournent un code approprié pour chaque classe.

CWnd::OnGetMinMaxInfo

L’infrastructure appelle cette fonction membre chaque fois que Windows doit connaître la position ou les dimensions agrandies, ou la taille minimale ou maximale de suivi.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Paramètres

lpMMI
Pointe vers une structure qui contient des informations sur la taille et la position agrandies d’une MINMAXINFO fenêtre, ainsi que sa taille minimale et maximale de suivi. Pour plus d’informations sur cette structure, consultez la MINMAXINFO structure.

Notes

La taille agrandie est la taille de la fenêtre lorsque ses bordures sont entièrement étendues. La taille maximale de suivi de la fenêtre est la plus grande taille de fenêtre qui peut être obtenue à l’aide des bordures pour dimensionner la fenêtre. La taille minimale de suivi de la fenêtre est la plus petite taille de fenêtre qui peut être obtenue à l’aide des bordures pour dimensionner la fenêtre.

Windows remplit un tableau de points spécifiant les valeurs par défaut pour les différentes positions et dimensions. L’application peut modifier ces valeurs en OnGetMinMaxInfo.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnHelp

Gère l'aide F1 dans l'application (en utilisant le contexte actuel).

afx_msg void OnHelp();

Notes

Consultez la rubrique CWinApp::OnHelp (éventuellement en anglais) pour plus d'informations.

CWnd::OnHelpFinder

Gère les commandes et ID_DEFAULT_HELP les ID_HELP_FINDER commandes.

afx_msg void OnHelpFinder();

Notes

Consultez la rubrique CWinApp::OnHelpFinder (éventuellement en anglais) pour plus d'informations.

CWnd::OnHelpIndex

Gère la commande et fournit une rubrique d’aide ID_HELP_INDEX par défaut.

afx_msg void OnHelpIndex();

Notes

Consultez la rubrique CWinApp::OnHelpIndex (éventuellement en anglais) pour plus d'informations.

CWnd::OnHelpInfo

Appelé par l'infrastructure quand l'utilisateur appuie sur la touche F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Paramètres

lpHelpInfo
Pointeur vers une HELPINFO structure qui contient des informations sur l’élément de menu, le contrôle, la boîte de dialogue ou la fenêtre pour laquelle l’aide est demandée.

Valeur de retour

Retourne TRUE si une fenêtre a le focus clavier ou si un menu est actif dans une fenêtre. Si aucune fenêtre n’a le focus clavier, retourne FALSE.

Notes

Si un menu est actif lorsque la touche F1 est enfoncée, WM_HELP elle est envoyée à la fenêtre associée au menu ; sinon, WM_HELP elle est envoyée à la fenêtre qui a le focus clavier. Si aucune fenêtre n’a le focus clavier, WM_HELP elle est envoyée à la fenêtre active.

CWnd::OnHelpUsing

Gère la commande ID_HELP_USING.

afx_msg void OnHelpUsing();

Notes

Consultez la rubrique CWinApp::OnHelpUsing (éventuellement en anglais) pour plus d'informations.

CWnd::OnHotKey

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur une touche chaude à l’échelle du système.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Paramètres

nHotKeyId
[in] Identificateur de la clé chaude qui a généré le message. Si le message a été généré par une clé chaude définie par le système, ce paramètre est l’une des valeurs suivantes :

  • IDHOT_SNAPDESKTOP - La touche d’accès rapide du bureau enfichable a été enfoncée.
  • IDHOT_SNAPWINDOW - La touche active de la fenêtre d’ancrage a été enfoncée.

nKey1
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches qui ont été enfoncées en combinaison avec la touche spécifiée par le nKey2 paramètre. Les valeurs possibles sont les suivantes :

  • MOD_ALT - L’une ou l’autre touche ALT a été maintenue enfoncée.
  • MOD_CONTROL - L’une ou l’autre touche Ctrl a été enfoncée.
  • MOD_SHIFT - L’une ou l’autre touche Maj a été maintenue en panne.
  • MOD_WIN - L’une ou l’autre clé WINDOWS a été arrêtée. Ces clés sont étiquetées avec le logo Microsoft Windows.

nKey2
[in] Code de clé virtuelle de la clé chaude.

Notes

Cette méthode reçoit la WM_HOTKEY notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Ce message est placé en haut de la file d’attente de messages associée au thread qui a inscrit la clé chaude. Utilisez la RegisterHotKey fonction pour inscrire une clé chaude à l’échelle du système.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnHScroll

L’infrastructure appelle cette fonction membre lorsque l’utilisateur clique sur la barre de défilement horizontale d’une fenêtre.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Paramètres

nSBCode
Spécifie un code de barre de défilement qui indique la demande de défilement de l’utilisateur. Ce paramètre peut avoir l’une des valeurs suivantes :

  • SB_LEFT Faites défiler jusqu’à l’extrême gauche.

  • SB_ENDSCROLL Fin du défilement.

  • SB_LINELEFT Faites défiler vers la gauche.

  • SB_LINERIGHT Faites défiler vers la droite.

  • SB_PAGELEFT Faites défiler une page vers la gauche.

  • SB_PAGERIGHT Faites défiler une page vers la droite.

  • SB_RIGHT Faites défiler jusqu’à l’extrême droite.

  • SB_THUMBPOSITION Faites défiler jusqu’à la position absolue. La position actuelle est spécifiée par le nPos paramètre.

  • SB_THUMBTRACK Faites glisser la zone de défilement vers la position spécifiée. La position actuelle est spécifiée par le nPos paramètre.

nPos
Spécifie la position de la zone de défilement si le code de barre de défilement est ou SB_THUMBTRACK; sinon, n’est SB_THUMBPOSITION pas utilisé. Selon la plage de défilement initiale, nPos peut être négative et doit être castée en cas int de besoin.

pScrollBar
Si le message de défilement provient d’un contrôle de barre de défilement, contient un pointeur vers le contrôle. Si l’utilisateur a cliqué sur la barre de défilement d’une fenêtre, ce paramètre est NULL. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Le SB_THUMBTRACK code à barres de défilement est généralement utilisé par les applications qui fournissent des commentaires pendant que la zone de défilement est déplacée.

Si une application fait défiler le contenu contrôlé par la barre de défilement, elle doit également réinitialiser la position de la zone de défilement avec la SetScrollPos fonction membre.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

Exemple

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos);
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT: // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT: // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL: // End scroll.
      break;

   case SB_LINELEFT: // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT: // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT: // Scroll one page left.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
         curpos = max(minpos, curpos - (int)info.nPage);
   }
   break;

   case SB_PAGERIGHT: // Scroll one page right.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int)info.nPage);
   }
   break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
      curpos = nPos;   // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

CWnd::OnHScrollClipboard

La fonction membre du propriétaire du OnHScrollClipboard Presse-papiers est appelée par la visionneuse du Presse-papiers lorsque les données du Presse-papiers ont le CF_OWNERDISPLAY format et qu’il existe un événement dans la barre de défilement horizontale de la visionneuse du Presse-papiers.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Paramètres

pClipAppWnd
Spécifie un pointeur vers une fenêtre De presse-papiers. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

nSBCode
Spécifie l’un des codes de barre de défilement suivants dans le mot de bas ordre :

  • SB_BOTTOM Faites défiler jusqu’en bas à droite.

  • SB_ENDSCROLL Fin du défilement.

  • SB_LINEDOWN Faites défiler une ligne vers le bas.

  • SB_LINEUP Faites défiler une ligne vers le haut.

  • SB_PAGEDOWN Faites défiler une page vers le bas.

  • SB_PAGEUP Faites défiler une page vers le haut.

  • SB_THUMBPOSITION Faites défiler jusqu’à la position absolue. La position actuelle est fournie dans nPos.

  • SB_TOP Faites défiler jusqu’en haut à gauche.

nPos
Contient la position de la zone de défilement si le code de barre de défilement est ; sinon, il n’est SB_THUMBPOSITIONpas utilisé.

Notes

Le propriétaire doit faire défiler l’image du Presse-papiers, invalider la section appropriée et mettre à jour les valeurs de la barre de défilement.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnIconEraseBkgnd

L’infrastructure appelle cette fonction membre pour un objet réduit (emblématique) CWnd lorsque l’arrière-plan de l’icône doit être rempli avant de peindre l’icône.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Paramètres

pDC
Spécifie l’objet de contexte d’appareil de l’icône. Peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

CWnd reçoit cet appel uniquement si une icône de classe est définie pour l’implémentation par défaut de la fenêtre ; sinon OnEraseBkgnd , on appelle.

La DefWindowProc fonction membre remplit l’arrière-plan de l’icône avec le pinceau d’arrière-plan de la fenêtre parente.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnInitMenu

L’infrastructure appelle cette fonction membre lorsqu’un menu est sur le point de devenir actif.

afx_msg void OnInitMenu(CMenu* pMenu);

Paramètres

pMenu
Spécifie le menu à initialiser. Peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

OnInitMenu est appelé lorsque l’utilisateur clique sur un élément dans la barre de menus ou appuie sur une touche de menu. Remplacez cette fonction membre pour modifier le menu avant qu’il ne soit affiché.

OnInitMenu est appelé une seule fois, lorsqu’un menu est utilisé pour la première fois (par exemple, lorsqu’un utilisateur clique sur un élément dans la barre de menus). Cette méthode ne fournit pas d’informations sur les éléments de menu. Lorsque l’utilisateur passe à des éléments dans le menu (par exemple, en déplaçant la souris sur plusieurs éléments de menu), la fonction n’est pas appelée à nouveau. Une fois que l’utilisateur quitte le menu (par exemple, en cliquant sur la zone cliente de l’application), puis clique sur un élément dans la barre de menus, la fonction est appelée à nouveau.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnInitMenuPopup

L’infrastructure appelle cette fonction membre lorsqu’un menu contextuel est sur le point de devenir actif.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Paramètres

pPopupMenu
Spécifie l’objet de menu du menu contextuel. Peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

nIndex
Spécifie l’index du menu contextuel dans le menu principal.

bSysMenu
TRUE si le menu contextuel est le menu Contrôle ; sinon FALSE.

Notes

Cela permet à une application de modifier le menu contextuel avant qu’elle ne s’affiche sans modifier l’intégralité du menu.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnInputDeviceChange

L’infrastructure appelle cette fonction membre lorsqu’un appareil d’E/S est ajouté ou supprimé du système.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Paramètres

uFlag
[in] Cet indicateur peut contenir les valeurs suivantes :

  • GIDC_ARRIVAL - Un nouvel appareil a été ajouté au système.
  • GIDC_REMOVAL - Un appareil a été supprimé du système.

Notes

Cette méthode reçoit la WM_INPUT_DEVICE_CHANGE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Il s’agit d’un message générique d’appareil d’entrée.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnInputLangChange

L’infrastructure appelle ce membre pour la fenêtre la plus affectée après la modification du langage d’entrée d’une application.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Paramètres

nCharSet
[in] Jeu de caractères des nouveaux paramètres régionaux. Pour plus d’informations, consultez le lfCharSet paramètre de la LOGFONT structure.

nLocaleId
[in] Identificateur des paramètres régionaux d’entrée. Pour plus d’informations, consultez Constantes et chaînes d’identificateur de langue.

Notes

Cette méthode reçoit le WM_INPUTLANGCHANGE message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnInputLangChangeRequest

L’infrastructure appelle ce membre pour la fenêtre avec le focus lorsque l’utilisateur choisit une nouvelle langue d’entrée.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent que les nouveaux paramètres régionaux ont été sélectionnés à partir des paramètres régionaux précédents ou suivants dans la liste installée des paramètres régionaux, ou que la disposition du clavier des nouveaux paramètres régionaux d’entrée peut être utilisée avec le jeu de caractères système. Les valeurs possibles sont : INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARD et INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[in] Identificateur des paramètres régionaux d’entrée. Pour plus d’informations, consultez Constantes et chaînes d’identificateur de langue.

Notes

Cette méthode reçoit le WM_INPUTLANGCHANGEREQUEST message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Ce message est publié lorsque l’utilisateur choisit une nouvelle langue d’entrée avec une touche d’accès rapide spécifiée dans l’application du panneau de configuration du clavier ou à partir de l’indicateur dans la barre des tâches système.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnKeyDown

L’infrastructure appelle cette fonction membre lorsqu’une touche non système est enfoncée.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie le code de clé virtuelle de la clé donnée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h

nRepCnt
Nombre de répétitions (nombre de fois où la séquence de touches est répétée en raison de la conservation de la touche par l’utilisateur).

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Description
0-7 Code d’analyse (valeur dépendante d’OEM).
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, 0).
14 État de clé précédent (1 si la clé est en panne avant l’appel, 0 si la clé est vers le haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Pour un WM_KEYDOWN message, le bit de transition de clé (bit 15) est 0 et le bit de code de contexte (bit 13) est 0.

Notes

Une touche non système est une touche de clavier qui est enfoncée lorsque la touche Alt n’est pas enfoncée ou une touche clavier enfoncée lorsqu’elle CWnd a le focus d’entrée.

En raison de la répétition automatique, plusieurs appels peuvent se produire avant l’exécution d’un OnKeyDownOnKeyUp appel de fonction membre. Le bit qui indique l’état de clé précédent peut être utilisé pour déterminer si l’appel est la première transition vers le OnKeyDown bas ou une transition répétée vers le bas.

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue en nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnKeyUp

L’infrastructure appelle cette fonction membre lorsqu’une clé non système est libérée.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie le code de clé virtuelle de la clé donnée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h

nRepCnt
Nombre de répétitions (nombre de fois où la séquence de touches est répétée en raison de la conservation de la touche par l’utilisateur).

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Description
0-7 Code d’analyse (valeur dépendante d’OEM). Octet faible du mot de haut ordre.
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue ; sinon, 0).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, 0).
14 État de clé précédent (1 si la clé est en panne avant l’appel, 0 si la clé est vers le haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Pour un WM_KEYUP message, le bit de transition de clé (bit 15) est 1 et le bit de code de contexte (bit 13) est 0.

Notes

Une touche non système est une touche de clavier qui est enfoncée lorsque la touche Alt n’est pas enfoncée ou une touche clavier enfoncée lorsque le CWnd focus d’entrée est activé.

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. Certains autres claviers peuvent prendre en charge le bit de touche étendue dans nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnKillFocus

L’infrastructure appelle cette fonction membre immédiatement avant de perdre le focus d’entrée.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Paramètres

pNewWnd
Spécifie un pointeur vers la fenêtre qui reçoit le focus d’entrée (peut être NULL ou peut être temporaire).

Notes

Si l’objet CWnd affiche un caret, le pointage doit être détruit à ce stade.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnLButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton gauche de la souris.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Seules les fenêtres qui ont le CS_DBLCLKSWNDCLASS style reçoivent OnLButtonDblClk des appels. Il s’agit de la valeur par défaut pour les fenêtres de classe Microsoft Foundation. Windows appelle OnLButtonDblClk lorsque l’utilisateur appuie, relâche, puis appuie de nouveau sur le bouton gauche de la souris dans la limite de temps double-clic du système. Double-cliquez sur le bouton gauche de la souris génère en fait quatre événements : WM_LBUTTONDOWN, messages, WM_LBUTTONDBLCLK appel et un autre WM_LBUTTONUP message lorsque le WM_LBUTTONUP bouton est libéré.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnLButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton gauche de la souris.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnLButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur relâche le bouton gauche de la souris.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton central de la souris.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Seules les fenêtres qui ont le CS_DBLCLKSWNDCLASS style reçoivent OnMButtonDblClk des appels. Il s’agit de la valeur par défaut pour toutes les fenêtres de classe Microsoft Foundation. Windows génère un OnMButtonDblClk appel lorsque l’utilisateur appuie, relâche, puis appuie de nouveau sur le bouton de la souris centrale dans la limite de temps double-clic du système. Double-cliquez sur le bouton de la souris centrale génère en fait quatre événements : WM_MBUTTONDOWN et WM_MBUTTONUP les messages, l’appel WM_MBUTTONDBLCLK et un autre WM_MBUTTONUP message.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton central de la souris.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton central de la souris.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMDIActivate

L’infrastructure appelle cette fonction membre pour la fenêtre enfant désactivée et la fenêtre enfant activée.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Paramètres

bActivate
TRUE si l’enfant est activé et FALSE s’il est désactivé.

pActivateWnd
Contient un pointeur vers la fenêtre enfant MDI à activer. Lorsqu’elle est reçue par une fenêtre enfant MDI, pActivateWnd contient un pointeur vers la fenêtre enfant activée. Ce pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

pDeactivateWnd
Contient un pointeur vers la fenêtre enfant MDI désactivée. Ce pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Une fenêtre enfant MDI est activée indépendamment de la fenêtre frame MDI. Lorsque le cadre devient actif, la fenêtre enfant qui a été activée pour la dernière fois avec un appel reçoit un OnMDIActivateWM_NCACTIVATE message pour dessiner un cadre de fenêtre actif et légende barre, mais elle ne reçoit pas d’autre OnMDIActivate appel.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMeasureItem

L’infrastructure appelle cette fonction membre par l’infrastructure pour le propriétaire d’un bouton de dessin propriétaire, d’une zone de liste modifiable, d’une zone de liste ou d’un élément de menu lorsque le contrôle est créé.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Paramètres

nIDCtl
ID du contrôle.

lpMeasureItemStruct
Pointe vers une MEASUREITEMSTRUCT structure de données qui contient les dimensions du contrôle de dessin propriétaire.

Notes

Remplacez cette fonction membre et renseignez la MEASUREITEMSTRUCT structure de données pointée vers lpMeasureItemStruct laquelle et retournez ; cela informe Windows des dimensions du contrôle et permet à Windows de traiter correctement l’interaction de l’utilisateur avec le contrôle.

Si une zone de liste ou une zone de liste modifiable est créée avec le ou CBS_OWNERDRAWVARIABLE le LBS_OWNERDRAWVARIABLE style, l’infrastructure appelle cette fonction pour le propriétaire de chaque élément du contrôle ; sinon, cette fonction est appelée une seule fois.

Windows lance l’appel pour OnMeasureItem le propriétaire des zones de liste modifiables et des zones de liste créées avec le OWNERDRAWFIXED style avant d’envoyer le WM_INITDIALOG message. Par conséquent, lorsque le propriétaire reçoit cet appel, Windows n’a pas encore déterminé la hauteur et la largeur de la police utilisée dans le contrôle ; les appels de fonction et les calculs qui nécessitent ces valeurs doivent se produire dans la fonction principale de l’application ou de la bibliothèque.

Si l’élément mesuré est un ou CListBoxCComboBox un CMenuobjet, la MeasureItem fonction virtuelle de la classe appropriée est appelée. Remplacez la MeasureItem fonction membre de la classe du contrôle approprié pour calculer et définir la taille de chaque élément.

OnMeasureItemsera appelé uniquement si la classe du contrôle est créée au moment de l’exécution, ou si elle est créée avec le ou CBS_OWNERDRAWVARIABLE le LBS_OWNERDRAWVARIABLE style. Si le contrôle est créé par l’éditeur de boîte de dialogue, OnMeasureItem il n’est pas appelé. Cela est dû au fait que le WM_MEASUREITEM message est envoyé tôt dans le processus de création du contrôle. Si vous sous-classez en utilisant DDX_Control, SubclassDlgItemou SubclassWindow, la sous-classe se produit généralement après le processus de création. Par conséquent, il n’existe aucun moyen de gérer le WM_MEASUREITEM message dans la fonction du OnChildNotify contrôle, qui est le mécanisme utilisé par MFC pour implémenter ON_WM_MEASUREITEM_REFLECT.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMenuChar

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur un caractère mnémonique de menu qui ne correspond à aucun des mnémoniques prédéfinis dans le menu actif.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Paramètres

nChar
Selon les paramètres de build, spécifie le caractère ANSI ou Unicode que l’utilisateur a appuyé.

nFlags
Contient l’indicateur MF_POPUP si le menu est un menu contextuel. Il contient l’indicateur MF_SYSMENU si le menu est un menu Contrôle.

pMenu
Contient un pointeur vers l’élément sélectionné CMenu. Le pointeur peut être temporaire et ne doit pas être stocké.

Valeur de retour

Le mot à ordre élevé de la valeur de retour doit contenir l’un des codes de commande suivants :

Value Description
0 Indique à Windows de dis carte le caractère appuyé par l’utilisateur et crée un bref bip sur le haut-parleur système.
1 Indique à Windows de fermer le menu actif.
2 Informe Windows que le mot de bas ordre de la valeur de retour contient le numéro d’élément d’un élément spécifique. Cet élément est sélectionné par Windows.

Le mot de bas ordre est ignoré si le mot de classement élevé contient 0 ou 1. Les applications doivent traiter ce message lorsque les touches d’accélérateur (raccourci) sont utilisées pour sélectionner des bitmaps placées dans un menu.

Notes

Il est envoyé au CWnd menu propriétaire du menu. OnMenuChar est également appelé lorsque l’utilisateur appuie sur Alt et toute autre touche, même si la touche ne correspond pas à un caractère mnémonique. Dans ce cas, pMenu pointe vers le menu appartenant au CWnd, et nFlags est 0.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMenuDrag

L’infrastructure appelle cette fonction membre du menu glisser-déplacer actuel lorsque l’utilisateur commence à faire glisser un élément de menu.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Paramètres

nPos
[in] Position d’index de l’élément de menu au début de l’opération de glissement.

pMenu
[in] Pointeur vers l’objet CMenu qui contient l’élément de menu.

Valeur de retour

Valeur de retour Signification
MND_CONTINUE Le menu doit rester actif. Si la souris est libérée, elle doit être ignorée.
MND_ENDMENU Le menu doit être terminé.

Notes

Cette méthode reçoit la WM_MENUDRAG notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMenuGetObject

L’infrastructure appelle cette fonction membre du menu glisser-déplacer actuel lorsque le curseur de la souris entre un élément de menu ou se déplace du centre de l’élément vers le haut ou le bas de l’élément.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Paramètres

pMenu
[in] Pointeur vers une MENUGETOBJECTINFO structure qui contient des informations sur le menu glisser-déplacer sur lequel se trouve le curseur de la souris.

Valeur de retour

Valeur de retour Signification
MNGO_NOERROR Un pointeur d’interface qui prend en charge les opérations drop-and-drag est retourné dans le pvObj membre de la MENUGETOBJECTINFO structure. Actuellement, seule l’interface IDropTarget est prise en charge.
MNGO_NOINTERFACE Aucune interface drop-and-drag n’est prise en charge.

Notes

Cette méthode reçoit la WM_MENUGETOBJECT notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMenuRButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton droit de la souris pendant que le curseur se trouve sur un élément de menu.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Paramètres

nPos
[in] Position d’index de l’élément de menu lorsque le bouton droit de la souris a été libéré.

pMenu
[in] Pointeur vers l’objet CMenu qui contient l’élément de menu.

Notes

Cette méthode reçoit la WM_MENURBUTTONUP notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Le WM_MENURBUTTONUP message permet à une application de fournir un menu contextuel pour l’élément de menu spécifié dans le message.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMenuSelect

Si l’objet CWnd est associé à un menu, OnMenuSelect est appelé par l’infrastructure lorsque l’utilisateur sélectionne un élément de menu.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Paramètres

nItemID
Identifie l’élément sélectionné. Si l’élément sélectionné est un élément de menu, nItemID contient l’ID d’élément de menu. Si l’élément sélectionné contient un menu contextuel, nItemID contient l’index du menu contextuel et hSysMenu contient le handle du menu principal (cliqué sur).

nFlags
Contient une combinaison des indicateurs de menu suivants :

  • MF_BITMAP L’élément est une bitmap.

  • MF_CHECKEDL’élément est case activée ed.

  • MF_DISABLED L’élément est désactivé.

  • MF_GRAYED L’élément est grisé.

  • MF_MOUSESELECT L’élément a été sélectionné avec une souris.

  • MF_OWNERDRAW L’élément est un élément de dessin propriétaire.

  • MF_POPUP L’élément contient un menu contextuel.

  • MF_SEPARATOR L’élément est un séparateur d’éléments de menu.

  • MF_SYSMENU L’élément est contenu dans le menu Contrôle.

hSysMenu
Si nFlags elle contient MF_SYSMENU, identifie le menu associé au message. Si nFlags elle contient MF_POPUP, identifie le handle du menu principal. S’il nFlags ne contient ni ni MF_SYSMENU ni MF_POPUP, il n’est pas utilisé.

Notes

Si nFlags contient 0xFFFF et hSysMenu contient 0, Windows a fermé le menu, car l’utilisateur a appuyé sur la touche Échap ou cliqué en dehors du menu.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMouseActivate

L’infrastructure appelle cette fonction membre lorsque le curseur se trouve dans une fenêtre inactive et que l’utilisateur appuie sur un bouton de souris.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Paramètres

pDesktopWnd
Spécifie un pointeur vers la fenêtre parente de niveau supérieur de la fenêtre activée. Le pointeur peut être temporaire et ne doit pas être stocké.

nHitTest
Spécifie le code de zone de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

message
Spécifie le numéro de message de la souris.

Valeur de retour

Spécifie s’il faut activer ou non carte CWnd l’événement de souris. Il doit s’agir de l’une des valeurs suivantes :

  • MA_ACTIVATE Activez l’objet CWnd .

  • MA_NOACTIVATE N’activez CWnd pas l’objet.

  • MA_ACTIVATEANDEATActivez l’objet CWnd et dis carte l’événement de souris.

  • MA_NOACTIVATEANDEATN’activez CWnd pas l’objet et dis carte l’événement de souris.

Notes

L’implémentation par défaut transmet ce message à la fenêtre parente avant tout traitement. Si la fenêtre parente retourne TRUE, le traitement est arrêté.

Pour obtenir une description des codes de zone de test d’accès individuels, consultez la OnNcHitTest fonction membre

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

Exemple

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

L’infrastructure appelle cette fonction membre lorsque le curseur pointe sur la zone cliente de la fenêtre pendant la période spécifiée dans un appel antérieur à TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modification enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit la WM_MOUSEHOVER notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Le nFlags paramètre peut être une combinaison de touches de modificateur répertoriées dans le tableau suivant. Pour plus d’informations, consultez À propos de l’entrée de la souris.

Touche de modificateur Description
MK_CONTROL La touche Ctrl est enfoncée.
MK_LBUTTON Le bouton gauche de la souris est enfoncé.
MK_MBUTTON Le bouton central de la souris est enfoncé.
MK_RBUTTON Le bouton droit de la souris est enfoncé.
MK_SHIFT La touche Maj est enfoncée.
MK_XBUTTON1 Le XBUTTON1 bouton de la souris de Microsoft IntelliMouse est enfoncé.
MK_XBUTTON2 Le XBUTTON2 bouton de la souris de Microsoft IntelliMouse est enfoncé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMouseHWheel

Le framework appelle ce membre lorsque la roulette de défilement horizontale de la souris est inclinée ou pivotée.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modification enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée. Pour obtenir la liste des indicateurs, consultez le sous-titre « Paramètres du message » dans À propos de l’entrée de la souris.

zDelta
[in] Indique la distance à laquelle la roue est pivotée, exprimée en multiples ou divisions de WHEEL_DELTA, qui est de 120. Une valeur positive indique que la roue a été pivotée vers la droite ; une valeur négative indique que la roue a été pivotée vers la gauche.

pt
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit le WM_MOUSEHWHEEL message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Ce message est envoyé à la fenêtre qui a le focus lorsque la roulette de défilement horizontale de la souris est inclinée ou pivotée.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMouseLeave

L’infrastructure appelle cette fonction membre lorsque le curseur quitte la zone cliente de la fenêtre spécifiée dans un appel antérieur à TrackMouseEvent.

afx_msg void OnMouseLeave();

Notes

Cette méthode reçoit la WM_MOUSELEAVE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMouseMove

L’infrastructure appelle cette fonction membre lorsque le curseur de la souris se déplace.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Si la souris n’est pas capturée, le WM_MOUSEMOVE message est reçu par l’objet sous le CWnd curseur de la souris ; sinon, le message accède à la fenêtre qui a capturé la souris.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMouseWheel

L’infrastructure appelle cette fonction membre en tant qu’utilisateur pivote la roulette de la souris et rencontre le prochain notch de la roue.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

zDelta
Indique la distance pivotée. La zDelta valeur est exprimée en multiples ou divisions de WHEEL_DELTA, qui est 120. Une valeur inférieure à zéro indique la rotation vers l’arrière (vers l’utilisateur) tandis qu’une valeur supérieure à zéro indique la rotation vers l’avant (loin de l’utilisateur). L’utilisateur peut inverser cette réponse en modifiant le paramètre Wheel dans le logiciel de la souris. Pour plus d’informations sur ce paramètre, consultez les remarques.

pt
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Valeur de retour

Différent de zéro si le défilement de la roulette de la souris est activé ; sinon 0.

Notes

Sauf substitution, OnMouseWheel appelle la valeur par défaut .WM_MOUSEWHEEL Windows achemine automatiquement le message vers le contrôle ou la fenêtre enfant qui a le focus. La fonction DefWindowProc Win32 propage le message vers la chaîne parente vers la fenêtre qui le traite.

Le zDelta paramètre est un multiple de WHEEL_DELTA, qui est défini à 120. Cette valeur est le seuil d’une action à entreprendre, et une action de ce type (par exemple, le défilement vers l’avant un notch) doit se produire pour chaque delta.

WHEEL_DELTA a été fixé à 120 pour permettre des roues de résolution plus fine, comme une roue à rotation libre sans pouces. Une roue de résolution plus fine envoie plus de messages par rotation, mais chaque message a une valeur delta plus petite. Pour utiliser une telle roue, ajoutez les valeurs entrantes jusqu’à WHEEL_DELTA ce qu’elles soient atteintes zDelta (de sorte que vous obteniez la même réponse pour une rotation delta donnée) ou faites défiler les lignes partielles en réponse aux messages les plus fréquents. Vous pouvez également choisir une granularité de défilement et accumuler des deltas jusqu’à ce qu’elle WHEEL_DELTA soit atteinte.

Remplacez cette fonction membre pour fournir votre propre comportement de défilement de la roulette de la souris.

Remarque

OnMouseWheel gère les messages pour Windows NT 4.0 et versions ultérieures. Pour la gestion des messages Windows 95/98 ou Windows NT 3.51, utilisez OnRegisteredMouseWheel.

CWnd::OnMove

L’infrastructure appelle cette fonction membre une fois l’objet CWnd déplacé.

afx_msg void OnMove(
    int x,
    int y);

Paramètres

x
Spécifie le nouvel emplacement de coordonnées x du coin supérieur gauche de la zone cliente. Ce nouvel emplacement est fourni dans les coordonnées d’écran pour les fenêtres superposées et contextuelles et les coordonnées parent-client pour les fenêtres enfants.

y
Spécifie le nouvel emplacement de coordonnées y du coin supérieur gauche de la zone cliente. Ce nouvel emplacement est fourni dans les coordonnées d’écran pour les fenêtres superposées et contextuelles et les coordonnées parent-client pour les fenêtres enfants.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnMoving

L’infrastructure appelle cette fonction membre lorsqu’un utilisateur déplace un CWnd objet.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Paramètres

nSide
Bord de la fenêtre à déplacer.

lpRect
Adresse de la ou RECT de la CRect structure qui contiendra les coordonnées de l’élément.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcActivate

L’infrastructure appelle cette fonction membre lorsque la zone non cliente doit être modifiée pour indiquer un état actif ou inactif.

afx_msg BOOL OnNcActivate(BOOL bActive);

Paramètres

bActive
Spécifie quand une barre ou une icône légende doit être modifiée pour indiquer un état actif ou inactif. Le bActive paramètre est TRUE si une légende ou une icône active doit être dessinée. Il s’agit FALSE d’une légende inactive ou d’une icône.

Valeur de retour

Différent de zéro si Windows doit poursuivre le traitement par défaut ; 0 pour empêcher la désactivation de la barre ou de l’icône légende.

Notes

L’implémentation par défaut dessine la barre de titre et le texte de la barre de titre dans leurs couleurs actives si bActive c’est TRUE et dans leurs couleurs inactives.bActiveFALSE

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcCalcSize

L’infrastructure appelle cette fonction membre lorsque la taille et la position de la zone cliente doivent être calculées.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Paramètres

bCalcValidRects
Spécifie si l’application doit spécifier quelle partie de la zone cliente contient des informations valides. Windows copie les informations valides dans la zone spécifiée dans la nouvelle zone cliente. Si ce paramètre est TRUE, l’application doit spécifier la partie de la zone cliente valide.

lpncsp
Pointe vers une NCCALCSIZE_PARAMS structure de données qui contient des informations qu’une application peut utiliser pour calculer la nouvelle taille et la position du CWnd rectangle (y compris la zone cliente, les bordures, les légende, les barres de défilement, etc.).

Notes

En traitant ce message, une application peut contrôler le contenu de la zone cliente de la fenêtre lorsque la taille ou la position de la fenêtre change.

Quelle que soit la valeur de bCalcValidRects, le premier rectangle du tableau spécifié par le rgrc membre de structure de la NCCALCSIZE_PARAMS structure contient les coordonnées de la fenêtre. Pour une fenêtre enfant, les coordonnées sont relatives à la zone cliente de la fenêtre parente. Pour les fenêtres de niveau supérieur, les coordonnées sont des coordonnées d’écran. Une application doit modifier le rgrc[0] rectangle pour refléter la taille et la position de la zone cliente.

Les rgrc[1] rectangles et rgrc[2] les rectangles sont valides uniquement si bCalcValidRects c’est TRUE. Dans ce cas, le rgrc[1] rectangle contient les coordonnées de la fenêtre avant son déplacement ou son redimensionnement. Le rgrc[2] rectangle contient les coordonnées de la zone cliente de la fenêtre avant le déplacement de la fenêtre. Toutes les coordonnées sont relatives à la fenêtre parente ou à l’écran.

L’implémentation par défaut calcule la taille de la zone cliente en fonction des caractéristiques de la fenêtre (présence de barres de défilement, de menu, et ainsi de suite) et place le résultat .lpncsp

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcCreate

L’infrastructure appelle cette fonction membre avant le WM_CREATE message lors de la création de l’objet CWnd .

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Paramètres

lpCreateStruct
Pointe vers la structure de CREATESTRUCT données pour CWnd.

Valeur de retour

Différent de zéro si la zone non cliente est créée. Il s’agit de 0 si une erreur se produit ; la Create fonction retourne failure dans ce cas.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcDestroy

Appelée par l’infrastructure lorsque la zone non cliente est détruite et est la dernière fonction membre appelée lorsque la fenêtre Windows est détruite.

afx_msg void OnNcDestroy();

Notes

L’implémentation par défaut effectue une propre up, puis appelle la fonction PostNcDestroymembre virtuelle.

Remplacez PostNcDestroy si vous souhaitez effectuer votre propre propre up, par exemple une delete this opération. Si vous remplacez OnNcDestroy, vous devez appeler OnNcDestroy dans votre classe de base pour vous assurer que toute mémoire allouée en interne pour la fenêtre est libérée.

CWnd::OnNcHitTest

L’infrastructure appelle cette fonction membre pour l’objet CWnd qui contient le curseur (ou l’objet CWnd qui a utilisé la SetCapture fonction membre pour capturer l’entrée de la souris) chaque fois que la souris est déplacée.

afx_msg LRESULT OnNcHitTest(CPoint point);

Paramètres

point
Contient les coordonnées x et y du curseur. Ces coordonnées sont toujours des coordonnées d’écran.

Valeur de retour

Une des valeurs énumérées du test de positionnement de la souris. Consultez WM_NCHITTEST la liste des valeurs.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcLButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur. Consultez WM_NCHITTEST la liste des valeurs.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Le cas échéant, le WM_SYSCOMMAND message est envoyé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcLButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente de l’objet CWnd .

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur. Consultez WM_NCHITTEST la liste des valeurs.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Le cas échéant, il WM_SYSCOMMAND est envoyé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure lorsque le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres transmis à l’origine avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcLButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton gauche de la souris pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur. Consultez WM_NCHITTEST la liste des valeurs.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Le cas échéant, WM_SYSCOMMAND est envoyé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton de la souris centrale pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton de la souris du milieu pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton de la souris centrale pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMouseHover

L’infrastructure appelle cette fonction membre lorsque le curseur pointe sur la zone non cliente de la fenêtre pendant la période spécifiée dans un appel antérieur à TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
[in] Valeur de test d’accès retournée par la CWnd::DefWindowProc fonction en raison du traitement du WM_NCHITTEST message.

point
[in] Objet CPoint qui spécifie les coordonnées x et y du curseur par rapport au coin supérieur gauche de l’écran.

Notes

Cette méthode reçoit la WM_NCMOUSEHOVER notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMouseLeave

L’infrastructure appelle cette fonction membre lorsque le curseur quitte la zone non cliente de la fenêtre spécifiée dans un appel antérieur à TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Notes

Cette méthode reçoit la WM_NCMOUSELEAVE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcMouseMove

L’infrastructure appelle cette fonction membre lorsque le curseur est déplacé dans une zone non cliente.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Le cas échéant, le WM_SYSCOMMAND message est envoyé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcPaint

L’infrastructure appelle cette fonction membre lorsque la zone non cliente doit être peinte.

afx_msg void OnNcPaint();

Notes

L’implémentation par défaut peint le cadre de la fenêtre.

Une application peut remplacer cet appel et peindre son propre cadre de fenêtre personnalisé. La zone de découpage est toujours rectangulaire, même si la forme du cadre est modifiée.

CWnd::OnNcRButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente de CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcRButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcRButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton droit de la souris pendant que le curseur se trouve dans une zone non cliente.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Paramètres

nHitTest
Spécifie le code de test de positionnement. Un test de positionnement est un test qui détermine l’emplacement du curseur.

point
Spécifie un CPoint objet qui contient les coordonnées de l’écran x et y de la position du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de l’écran.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcRenderingChanged

L’infrastructure appelle ce membre lorsque la stratégie de rendu pour la zone non cliente a changé.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Paramètres

bIsRendering
[in] TRUE si le rendu du Gestionnaire de fenêtres de bureau (DWM) est activé pour la zone non cliente de la fenêtre ; FALSE si le rendu est désactivé.

Notes

Cette méthode reçoit la WM_DWMNCRENDERINGCHANGED notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcXButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone non cliente d’une fenêtre.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paramètres

nHitTest
[in] Valeur de test d’accès retournée par la CWnd::DefWindowProc fonction en raison du traitement du WM_NCHITTEST message.

nButton
[in] Valeur de XBUTTON1 si le premier bouton Microsoft Intellimouse X est double-cliqué ou XBUTTON2 si le deuxième bouton X est double-cliqué.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit la WM_XBUTTONDBLCLK notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcXButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie XBUTTON1 ou XBUTTON2 de la souris pendant que le curseur se trouve dans la zone non cliente d’une fenêtre.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paramètres

nHitTest
[in] Valeur de test d’accès retournée par la CWnd::DefWindowProc fonction en raison du traitement du WM_NCHITTEST message.

nButton
[in] Valeur de XBUTTON1 si le premier bouton X de la souris est enfoncé ou XBUTTON2 si le deuxième bouton X est enfoncé.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de l’écran.

Notes

Cette méthode reçoit la WM_NCXBUTTONDOWN notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNcXButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère XBUTTON1 ou XBUTTON2 de la souris pendant que le curseur se trouve dans la zone non cliente d’une fenêtre.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Paramètres

nHitTest
[in] Valeur de test d’accès retournée par la CWnd::DefWindowProc fonction en raison du traitement du WM_NCHITTEST message.

nButton
[in] Valeur de XBUTTON1 si le premier bouton X de la souris est libéré ou XBUTTON2 si le deuxième bouton X est libéré.

point
[in] Objet CPoint qui spécifie les coordonnées x et y du curseur par rapport au coin supérieur gauche de l’écran.

Notes

Cette méthode reçoit la WM_NCXBUTTONUP notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNextMenu

L’infrastructure appelle cette fonction membre lorsque la flèche droite ou gauche est utilisée pour basculer entre la barre de menus et le menu système.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Paramètres

nKey
[in] Combinaison de bits (OR) d’indicateurs qui indiquent quelles touches de modificateur sont enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée. Pour obtenir la liste des indicateurs, consultez le sous-titre « Paramètres du message » dans À propos de l’entrée de la souris.

lpMdiNextMenu
[in] Pointeur vers une MDINEXTMENU structure qui contient des informations sur le menu à activer.

Notes

Cette méthode reçoit la WM_UNINITMENUPOPUP notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. En réponse à ce message, votre application peut définir le hmenuNext membre de la MDINEXTMENU structure pour spécifier le menu vers lequel basculer et le hwndNext membre pour spécifier la fenêtre pour recevoir des messages de notification de menu.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnNotify

L’infrastructure appelle cette fonction membre pour informer la fenêtre parente d’un contrôle qu’un événement s’est produit dans le contrôle ou que le contrôle nécessite un certain type d’informations.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paramètres

wParam
Identifie le contrôle qui envoie le message si le message provient d’un contrôle. Sinon, wParam c’est 0.

lParam
Pointeur vers une structure de message de notification (NMHDR) qui contient le code de notification et des informations supplémentaires. Pour certains messages de notification, ce paramètre pointe vers une structure plus grande qui a la NMHDR structure en tant que premier membre.

pResult
Pointeur vers une LRESULT variable dans laquelle stocker le code de résultat si le message est géré.

Valeur de retour

Une application retourne une valeur différente de zéro si elle traite ce message ; sinon 0.

Notes

OnNotify traite le mappage de messages pour la notification de contrôle.

Remplacez cette fonction membre dans votre classe dérivée pour gérer le WM_NOTIFY message. Une substitution ne traite pas le mappage de messages, sauf si la classe OnNotify de base est appelée.

Pour plus d’informations sur le WM_NOTIFY message, consultez la note technique 61 (TN061) ON_NOTIFY et WM_NOTIFY les messages. Vous serez peut-être également intéressé par les rubriques connexes décrites dans Les rubriques de contrôle et TN062, Message Réflexions ion pour les contrôles Windows.

CWnd::OnNotifyFormat

L’infrastructure appelle cette fonction membre pour déterminer si la fenêtre active accepte les structures ANSI ou Unicode dans le message de WM_NOTIFY notification.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Paramètres

pWnd
[in] Pointeur vers un CWnd objet qui représente la fenêtre envoyant le WM_NOTIFY message. Ce paramètre est le pointeur vers un contrôle si le nCommand paramètre est NF_QUERY, ou le pointeur vers la fenêtre parente d’un contrôle si c’est nCommandNF_REQUERY.

nCommand
[in] Valeur de commande spécialisée dans le WM_NOTIFY message. Les valeurs possibles sont les suivantes :

  • NF_QUERY - Le message est une requête pour déterminer si les structures ANSI ou Unicode doivent être utilisées dans WM_NOTIFY les messages. Ce message est envoyé d’un contrôle à sa fenêtre parente lors de la création d’un contrôle et en réponse à la NF_REQUERY forme de ce message.
  • NF_REQUERY - Le message est une demande de contrôle pour envoyer le NF_QUERY formulaire de ce message à sa fenêtre parente. Cette demande est envoyée à partir de la fenêtre parente et demande au contrôle de demander à nouveau le parent sur le type de structure à utiliser dans WM_NOTIFY les messages. Si le nCommand paramètre est NF_REQUERY, la valeur de retour est le résultat de l’opération de nouvelle requête.

Valeur de retour

Valeur retournée Signification
NFR_ANSI Les structures ANSI doivent être utilisées dans WM_NOTIFY les messages envoyés par le contrôle.
NFR_UNICODE Les structures Unicode doivent être utilisées dans les WM_NOTIFY messages envoyés par le contrôle.
0 Une erreur est survenue.

Notes

Cette méthode reçoit la WM_NOTIFYFORMAT notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. WM_NOTIFY les messages sont envoyés d’un contrôle commun à sa fenêtre parente et de la fenêtre parente au contrôle commun.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnPaint

L’infrastructure appelle cette fonction membre lorsque Windows ou une application effectue une demande de repeindre une partie de la fenêtre d’une application.

afx_msg void OnPaint();

Notes

Le WM_PAINT message est envoyé lorsque la UpdateWindow fonction ou RedrawWindow membre est appelée.

Une fenêtre peut recevoir des messages de peinture interne suite à l’appel de la RedrawWindow fonction membre avec l’indicateur RDW_INTERNALPAINT défini. Dans ce cas, la fenêtre peut ne pas avoir de région de mise à jour. Une application doit appeler la GetUpdateRect fonction membre pour déterminer si la fenêtre a une région de mise à jour. Si GetUpdateRect elle retourne 0, l’application ne doit pas appeler les fonctions membres et EndPaint les BeginPaint fonctions membres.

Il incombe à une application d’case activée pour une réinitialisation interne ou une mise à jour nécessaires en examinant ses structures de données internes pour chaque WM_PAINT message, car un WM_PAINT message peut avoir été causé par une zone non valide et un appel à la RedrawWindow fonction membre avec l’indicateur RDW_INTERNALPAINT défini.

Un message interne WM_PAINT n’est envoyé qu’une seule fois par Windows. Une fois qu’un message interne WM_PAINT est envoyé à une fenêtre par la UpdateWindow fonction membre, aucun autre WM_PAINT message n’est envoyé ou publié tant que la fenêtre n’est pas invalidée ou jusqu’à ce que la RedrawWindow fonction membre soit appelée à nouveau avec l’indicateur RDW_INTERNALPAINT défini.

Pour plus d’informations sur le rendu d’une image dans les applications de document/vue, consultez CView::OnDraw.

Pour plus d’informations sur l’utilisation WM_Paint, consultez les rubriques suivantes dans le Kit de développement logiciel (SDK) Windows :

CWnd::OnPaintClipboard

La fonction membre OnPaintClipboard d’un propriétaire du Presse-papiers est appelée par un Presse-papiers quand le propriétaire du Presse-papiers a placé des données dans le Presse-papiers au format CF_OWNERDISPLAY et que la zone cliente du Presse-papiers doit être redessinée.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Paramètres

pClipAppWnd
Spécifie un pointeur vers la fenêtre d’application du Presse-papiers. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

hPaintStruct
Identifie une PAINTSTRUCT structure de données qui définit la partie de la zone cliente à peindre.

Notes

Pour déterminer si l’ensemble de la zone cliente ou simplement une partie de celle-ci doit être repeinte, le propriétaire du Presse-papiers doit comparer les dimensions de la zone de dessin donnée dans le rcpaint membre de la PAINTSTRUCT structure aux dimensions fournies dans l’appel de fonction membre le plus récent OnSizeClipboard .

OnPaintClipboard doit utiliser la GlobalLock fonction Windows pour verrouiller la mémoire qui contient la PAINTSTRUCT structure de données et déverrouiller cette mémoire avec la GlobalUnlock fonction Windows avant de quitter.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnPaletteChanged

L’infrastructure appelle cette fonction membre pour toutes les fenêtres de niveau supérieur après que la fenêtre avec le focus d’entrée a réalisé sa palette logique, modifiant ainsi la palette système.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Paramètres

pFocusWnd
Spécifie un pointeur vers la fenêtre qui a provoqué la modification de la palette système. Le pointeur peut être temporaire et ne doit pas être stocké.

Notes

Cet appel permet à une fenêtre sans le focus d’entrée qui utilise une palette de couleurs pour réaliser ses palettes logiques et mettre à jour sa zone cliente.

La OnPaletteChanged fonction membre est appelée pour toutes les fenêtres de niveau supérieur et superposées, y compris celle qui a changé la palette système et a provoqué l’envoi du WM_PALETTECHANGED message. Si une fenêtre enfant utilise une palette de couleurs, ce message doit être transmis.

Pour éviter une boucle infinie, la fenêtre ne doit pas réaliser sa palette, sauf si elle détermine qu’elle pFocusWnd ne contient pas de pointeur vers lui-même.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnPaletteIsChanging

L’infrastructure appelle cette fonction membre pour informer les applications qu’une application va réaliser sa palette logique.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Paramètres

pRealizeWnd
Spécifie la fenêtre sur le point de réaliser sa palette logique.

Notes

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnParentNotify

La fonction membre d’un OnParentNotify parent est appelée par l’infrastructure lorsque sa fenêtre enfant est créée ou détruite, ou lorsque l’utilisateur clique sur un bouton de souris pendant que le curseur se trouve sur la fenêtre enfant.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Paramètres

message
Spécifie l’événement pour lequel le parent est averti et l’identificateur de la fenêtre enfant. L’événement est le mot de bas ordre de message. Si l’événement est WM_CREATE ou WM_DESTROY, le mot de classement élevé de message est l’identificateur de la fenêtre enfant ; sinon, le mot de classement élevé n’est pas défini. L’événement (mot de faible ordre de message) peut être l’une des valeurs suivantes :

  • WM_CREATE La fenêtre enfant est en cours de création.

  • WM_DESTROY La fenêtre enfant est détruite.

  • WM_LBUTTONDOWN L’utilisateur a placé le curseur de la souris sur la fenêtre enfant et cliqué sur le bouton gauche de la souris.

  • WM_MBUTTONDOWN L’utilisateur a placé le curseur de la souris sur la fenêtre enfant et cliqué sur le bouton central de la souris.

  • WM_RBUTTONDOWN L’utilisateur a placé le curseur de la souris sur la fenêtre enfant et cliqué sur le bouton droit de la souris.

lParam
Si l’événement (mot de bas ordre) d’est messageWM_CREATE ou WM_DESTROY, lParam spécifie le handle de fenêtre de la fenêtre enfant ; sinon lParam contient les coordonnées x et y du curseur. La coordonnée x se trouve dans le mot de bas ordre et la coordonnée y se trouve dans le mot à ordre élevé.

Notes

Lorsque la fenêtre enfant est créée, le système appelle OnParentNotify juste avant la Create fonction membre qui crée la fenêtre. Lorsque la fenêtre enfant est détruite, le système appelle OnParentNotify avant tout traitement pour détruire la fenêtre.

OnParentNotify est appelé pour toutes les fenêtres ancêtres de la fenêtre enfant, y compris la fenêtre de niveau supérieur.

Toutes les fenêtres enfants, sauf celles qui ont le WS_EX_NOPARENTNOTIFY style, envoient ce message à leurs fenêtres parentes. Par défaut, les fenêtres enfants d’une boîte de dialogue ont le WS_EX_NOPARENTNOTIFY style, sauf si la fenêtre enfant a été créée sans ce style en appelant la CreateEx fonction membre.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnPowerBroadcast

L’infrastructure appelle cette fonction membre lorsqu’un événement de gestion de l’alimentation se produit.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Paramètres

nPowerEvent
[in] Événement de gestion de l’alimentation.

nEventData
[in] Données spécifiques à l’événement.

Valeur de retour

Si l’événement est une demande, revenez TRUE à l’octroi de la demande ou BROADCAST_QUERY_DENY refusez la demande.

Notes

Cette méthode reçoit le WM_POWERBROADCAST message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Le nPowerEvent paramètre spécifie des événements tels que la batterie est faible, l’état de l’alimentation a changé, l’autorisation d’interrompre l’opération est demandée ou refusée, une opération reprend automatiquement après un événement, le système suspend l’opération ou une opération reprend après la suspension. Le nEventData paramètre n’est généralement pas utilisé. Pour plus d’informations, consultez les paramètres et lParam les wParam paramètres du WM_POWERBROADCAST message.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnQueryDragIcon

L’infrastructure appelle cette fonction membre par une fenêtre réduite (emblématique) qui n’a pas d’icône définie pour sa classe.

afx_msg HCURSOR OnQueryDragIcon();

Valeur de retour

Valeur doubleword qui contient un curseur ou un handle d’icône dans le mot de bas ordre. Le curseur ou l’icône doit être compatible avec la résolution du pilote d’affichage. Si l’application retourne NULL, le système affiche le curseur par défaut. La valeur de retour par défaut est NULL.

Notes

Le système effectue cet appel pour obtenir le curseur à afficher pendant que l’utilisateur fait glisser la fenêtre réduite. Si une application retourne le handle d’une icône ou d’un curseur, le système le convertit en noir et blanc. Si une application retourne un handle, le handle doit identifier un curseur ou une icône monochrome compatible avec la résolution du pilote d’affichage. L’application peut appeler les CWinApp::LoadCursor fonctions membres ou CWinApp::LoadIcon le curseur pour charger un curseur ou une icône à partir des ressources de son fichier exécutable et obtenir ce handle.

CWnd::OnQueryEndSession

L’infrastructure appelle cette fonction membre lorsque l’utilisateur choisit de mettre fin à la session Windows ou lorsqu’une application appelle la ExitWindows fonction Windows.

afx_msg BOOL OnQueryEndSession();

Valeur de retour

Différent de zéro si une application peut être arrêtée de manière pratique ; sinon 0.

Notes

Si une application retourne 0, la session Windows n’est pas terminée. Windows cesse d’appeler OnQueryEndSession dès qu’une application retourne 0 et envoie le WM_ENDSESSION message avec une valeur de paramètre pour toute application qui a déjà retourné un nombre différent de FALSE zéro.

CWnd::OnQueryNewPalette

L’infrastructure appelle cette fonction membre lorsque l’objet CWnd est sur le point de recevoir le focus d’entrée, ce qui donne la CWnd possibilité de réaliser sa palette logique lorsqu’il reçoit le focus.

afx_msg BOOL OnQueryNewPalette();

Valeur de retour

Différent de zéro si la CWnd palette logique est réalisé ; sinon 0.

CWnd::OnQueryOpen

L’infrastructure appelle cette fonction membre lorsque l’objet CWnd est réduit et que l’utilisateur demande que l’utilisateur CWnd soit restauré à sa taille et sa position préminimées.

afx_msg BOOL OnQueryOpen();

Valeur de retour

Différent de zéro si l’icône peut être ouverte ou 0 pour empêcher l’ouverture de l’icône.

Notes

OnQueryOpenDans , CWnd ne doit pas effectuer d’action qui entraînerait une modification d’activation ou de focus (par exemple, la création d’une boîte de dialogue).

CWnd::OnQueryUIState

Appelé pour récupérer l'état de l'interface utilisateur (IU) pour une fenêtre.

afx_msg UINT OnQueryUIState();

Valeur de retour

La valeur de retour est NULL si les indicateurs de focus et les accélérateurs clavier sont visibles. Sinon, la valeur de retour peut être une ou plusieurs des valeurs suivantes :

  • UISF_HIDEFOCUS Les indicateurs de focus sont masqués.

  • UISF_HIDEACCEL Les raccourcis clavier sont masqués.

  • UISF_ACTIVE Windows XP : un contrôle doit être dessiné dans le style utilisé pour les contrôles actifs.

Notes

Cette fonction membre émule les fonctionnalités du WM_QUERYUISTATE message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::OnRawInput

L’infrastructure appelle cette fonction membre lorsque la fenêtre active obtient une entrée brute.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Paramètres

nInputCode
[in] Code d’entrée qui indique si l’entrée s’est produite pendant que l’application était au premier plan ou non. Dans les deux cas, l’application doit appeler CWnd::DefWindowProc pour que le système puisse effectuer propre up. Ce paramètre peut avoir l'une des valeurs suivantes :

  • RIM_INPUT - L’entrée s’est produite pendant que l’application était au premier plan.
  • RIM_INPUTSINK - L’entrée s’est produite pendant que l’application n’était pas au premier plan.

hRawInput
[in] Gérez vers une RAWINPUT structure qui contient l’entrée brute de l’appareil.

Notes

Cette méthode reçoit la WM_INPUT notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnRButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique sur le bouton droit de la souris.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie les coordonnées x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Seules les fenêtres qui ont le style CS_DBLCLKS WNDCLASS peuvent recevoir des OnRButtonDblClk appels. Il s’agit de la valeur par défaut pour les fenêtres de la bibliothèque de classes Microsoft Foundation. Windows appelle OnRButtonDblClk lorsque l’utilisateur appuie, relâche, puis appuie de nouveau sur le bouton droit de la souris dans la limite de temps double-clic du système. Le double-clic sur le bouton droit de la souris génère en fait quatre événements : WM_RBUTTONDOWN et WM_RBUTTONUP les messages, l’appel OnRButtonDblClk et un autre message WM_RBUTTONUP lorsque le bouton est libéré.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnRButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie sur le bouton droit de la souris.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_RBUTTON Définissez si le bouton droit de la souris est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie les coordonnées x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnRButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère le bouton droit de la souris.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Paramètres

nFlags
Indique si différentes clés virtuelles sont en panne. Ce paramètre peut être n’importe quelle combinaison des valeurs suivantes :

  • MK_CONTROL Définissez si la touche Ctrl est enfoncée.

  • MK_LBUTTON Définissez si le bouton gauche de la souris est enfoncé.

  • MK_MBUTTON Définissez si le bouton de la souris centrale est enfoncé.

  • MK_SHIFT Définissez si la touche Maj est en panne.

point
Spécifie les coordonnées x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre.

Notes

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnRegisteredMouseWheel

L’infrastructure appelle cette fonction membre en tant qu’utilisateur pivote la roulette de la souris et rencontre le prochain notch de la roue.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Paramètres

wParam
Position horizontale du pointeur.

lParam
Position verticale du pointeur.

Valeur de retour

Non négligeable à ce moment-là. Toujours zéro.

Notes

Sauf substitution, OnRegisteredMouseWheel route le message vers la fenêtre appropriée (fenêtre parente avec focus) et appelle le WM_MOUSEWHEEL gestionnaire pour cette fenêtre.

Remplacez cette fonction membre pour fournir votre propre routage des messages ou modifier le comportement de défilement de la roulette de la souris.

Remarque

OnRegisteredMouseWheel gère les messages pour Windows 95/98 et Windows NT 3.51. Pour la gestion des messages Windows NT 4.0, utilisez OnMouseWheel.

CWnd::OnRenderAllFormats

La fonction membre du propriétaire du OnRenderAllFormats Presse-papiers est appelée par l’infrastructure lorsque l’application propriétaire est détruite.

afx_msg void OnRenderAllFormats();

Notes

Le propriétaire du Presse-papiers doit afficher les données dans tous les formats qu’il est capable de générer et de transmettre un handle de données pour chaque format au Presse-papiers en appelant la SetClipboardData fonction Windows. Cela garantit que le Presse-papiers contient des données valides même si l’application qui a rendu les données est détruite. L’application doit appeler la OpenClipboard fonction membre avant d’appeler la SetClipboardData fonction Windows et d’appeler la CloseClipboard fonction Windows par la suite.

CWnd::OnRenderFormat

La fonction membre du propriétaire du OnRenderFormat Presse-papiers est appelée par l’infrastructure lorsqu’un format particulier avec rendu différé doit être rendu.

afx_msg void OnRenderFormat(UINT nFormat);

Paramètres

nFormat
Spécifie le format du Presse-papiers.

Notes

Le récepteur doit afficher les données dans ce format et les transmettre au Presse-papiers en appelant la SetClipboardData fonction Windows.

N’appelez pas la OpenClipboard fonction membre ou la CloseClipboard fonction Windows à partir de OnRenderFormat.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSessionChange

L’infrastructure appelle cette fonction membre pour notifier une application d’un changement d’état de session.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Paramètres

nSessionState
[in] Un code d’état décrit la modification de l’état de session.

nId
[in] Identificateur de session.

Notes

Cette méthode reçoit la WM_WTSSESSION_CHANGE notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Le nSessionState paramètre spécifie qu’une session est connectée ou déconnectée de la console ou d’un terminal distant, qu’un utilisateur est connecté ou désactivé, qu’une session est verrouillée ou déverrouillée, ou qu’une session a changé en état contrôlé à distance. Pour plus d’informations, consultez le wParam paramètre du WM_WTSSESSION_CHANGE message.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSetCursor

L’infrastructure appelle cette fonction membre si l’entrée de la souris n’est pas capturée et que la souris provoque le déplacement du curseur dans l’objet CWnd .

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Paramètres

pWnd
Spécifie un pointeur vers la fenêtre qui contient le curseur. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

nHitTest
Spécifie le code de zone de test de positionnement. Le test d’accès détermine l’emplacement du curseur.

message
Spécifie le numéro de message de la souris.

Valeur de retour

Non égal à zéro pour arrêter le traitement ultérieur, ou 0 pour continuer.

Notes

L’implémentation OnSetCursor par défaut appelle la fenêtre parente avant le traitement. Si la fenêtre parente retourne TRUE, un traitement supplémentaire est arrêté. L’appel de la fenêtre parente donne le contrôle de la fenêtre parente sur le paramètre du curseur dans une fenêtre enfant.

L’implémentation par défaut définit le curseur sur une flèche s’il n’est pas dans la zone cliente ou dans le curseur de classe inscrite s’il s’agit.

S’il nHitTest s’agit HTERROR d’un message message de bouton vers le bas de la souris, la MessageBeep fonction membre est appelée.

Le paramètre de message est 0 quand CWnd il entre en mode menu.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSetFocus

L’infrastructure appelle cette fonction membre après avoir obtenu le focus d’entrée.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Paramètres

pOldWnd
Contient l’objet CWnd qui perd le focus d’entrée (peut être NULL). Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Pour afficher un caret, CWnd devez appeler les fonctions de caret appropriées à ce stade.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSettingChange

L’infrastructure appelle OnSettingChange toutes les fenêtres de niveau supérieur lorsque la fonction Win32 SystemParametersInfo modifie un paramètre à l’échelle du système.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Paramètres

uFlags
Lorsque le système envoie le message à la suite d’un SystemParametersInfo appel, ce paramètre est un indicateur qui indique le paramètre système qui a été modifié. Pour obtenir la liste des valeurs, consultez SystemParametersInfo le Kit de développement logiciel (SDK) Windows. Lorsqu’une application envoie le message, ce paramètre doit être 0.

lpszSection
Pointe vers une chaîne qui spécifie le nom de la section qui a changé. (La chaîne n’inclut pas les crochets qui entourent le nom de la section.)

Notes

Une application doit envoyer le message à toutes les fenêtres de niveau supérieur lorsqu’elle apporte des modifications aux paramètres système, et Windows envoie le message si l’utilisateur modifie les paramètres via le Panneau de configuration.

Le ON_WM_SETTINGCHANGE message est similaire au ON_WM_WININICHANGE message, avec la différence suivante :

  • Utilisez-le ON_WM_SETTINGCHANGE lors de l’exécution de Windows NT 4.0 ou version ultérieure, ou sous Windows 95/98.

  • Utilisez-la ON_WININICHANGE lors de l’exécution de Windows NT 3.51 ou version antérieure. Ce message est désormais obsolète.

Vous ne devez avoir qu’une de ces macros dans votre carte de messages. Pour écrire un programme qui fonctionne pour Windows 95/98 et Windows NT 4.0, écrivez un gestionnaire pour ON_WM_SETTINGCHANGE. Sous Windows NT 3.51, votre gestionnaire sera appelé OnSettingChange par et uFlags sera toujours égal à zéro.

CWnd::OnShowWindow

L’infrastructure appelle cette fonction membre lorsque l’objet est sur le CWnd point d’être masqué ou affiché.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Paramètres

bShow
Spécifie si une fenêtre est affichée. C’est TRUE si la fenêtre est affichée ; c’est FALSE si la fenêtre est masquée.

nStatus
Spécifie l’état de la fenêtre affichée. Il s’agit de 0 si le message est envoyé en raison d’un ShowWindow appel de fonction membre ; sinon nStatus , il s’agit de l’un des éléments suivants :

  • SW_PARENTCLOSING La fenêtre parente est fermante (icône) ou une fenêtre contextuelle est masquée.

  • SW_PARENTOPENING La fenêtre parente s’ouvre (affichée) ou une fenêtre contextuelle s’affiche.

Notes

Une fenêtre est masquée ou affichée lorsque la ShowWindow fonction membre est appelée, lorsqu’une fenêtre superposée est agrandie ou restaurée, ou lorsqu’une fenêtre contextuelle ou superposée est fermée (rendue emblématique) ou ouverte (affichée à l’écran). Lorsqu’une fenêtre superposée est fermée, toutes les fenêtres contextuelles associées à cette fenêtre sont masquées.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSize

L’infrastructure appelle cette fonction membre une fois la taille de la fenêtre modifiée.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Paramètres

nType
Spécifie le type de redimensionnement demandé. Ce paramètre peut avoir l'une des valeurs suivantes :

  • SIZE_MAXIMIZED La fenêtre a été agrandie.

  • SIZE_MINIMIZED La fenêtre a été réduite.

  • SIZE_RESTOREDLa fenêtre a été redimensionnée, mais ni SIZE_MAXIMIZED ne SIZE_MINIMIZED s’applique.

  • SIZE_MAXHIDE Le message est envoyé à toutes les fenêtres contextuelles quand une autre fenêtre est agrandie.

  • SIZE_MAXSHOW Le message est envoyé à toutes les fenêtres contextuelles quand une autre fenêtre a été restaurée à sa taille antérieure.

cx
Spécifie la nouvelle largeur de la zone cliente.

cy
Spécifie la nouvelle hauteur de la zone cliente.

Notes

Si la SetScrollPos fonction ou MoveWindow membre est appelée pour une fenêtre enfant à partir OnSizede laquelle , le bRedraw paramètre de ou MoveWindow doit être différent de SetScrollPos zéro pour provoquer la repeindre.CWnd

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

Exemple

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow(0, 0, cx, cy);
   }
}

CWnd::OnSizeClipboard

La fonction membre du propriétaire du OnSizeClipboard Presse-papiers est appelée par la visionneuse du Presse-papiers lorsque le Presse-papiers contient des données avec l’attribut CF_OWNERDISPLAY et la taille de la zone cliente de la fenêtre Presse-papiers-visionneuse a changé.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Paramètres

pClipAppWnd
Identifie la fenêtre Presse-papiers-application. Le pointeur peut être temporaire et ne doit pas être stocké.

hRect
Identifie un objet mémoire globale. L’objet mémoire contient une RECT structure de données qui spécifie la zone du propriétaire du Presse-papiers à peindre.

Notes

La OnSizeClipboard fonction membre est appelée avec un rectangle Null (0,0,0,0,0) comme nouvelle taille lorsque l’application Presse-papiers est sur le point d’être détruite ou réduite. Cela permet au propriétaire du Presse-papiers de libérer ses ressources d’affichage.

Dans OnSizeClipboard, une application doit utiliser la GlobalLock fonction Windows pour verrouiller la mémoire qui contient la structure de RECT données. L’application déverrouille cette mémoire avec la GlobalUnlock fonction Windows avant de générer ou de retourner le contrôle.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSizing

L’infrastructure appelle cette fonction membre pour indiquer que l’utilisateur redimensionne le rectangle.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Paramètres

nSide
Bord de la fenêtre à déplacer.

lpRect
Adresse de la ou RECT de la CRect structure qui contiendra les coordonnées de l’élément.

Notes

En traitant ce message, une application peut surveiller la taille et la position du rectangle de glisser et, si nécessaire, modifier sa taille ou sa position.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

Exemple

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

L’infrastructure appelle cette fonction membre du Gestionnaire d’impression chaque fois qu’un travail est ajouté ou supprimé de la file d’attente du Gestionnaire d’impression.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Paramètres

nStatus
Spécifie l’indicateur SP_JOBSTATUS .

nJobs
Spécifie le nombre de travaux restants dans la file d’attente du Gestionnaire d’impression.

Notes

Cet appel est destiné uniquement à des fins d’information.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnStyleChanged

L’infrastructure appelle cette fonction membre une fois que la SetWindowLong fonction a changé un ou plusieurs des styles de la fenêtre.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Paramètres

nStyleType
Spécifie si les styles étendus ou nonextended de la fenêtre ont changé. Ce paramètre peut être une combinaison des valeurs suivantes :

  • GWL_EXSTYLE Les styles étendus de la fenêtre ont changé.

  • GWL_STYLE Les styles nonextended de la fenêtre ont changé.

lpStyleStruct
Pointe vers une STYLESTRUCT structure qui contient les nouveaux styles de la fenêtre. Une application peut examiner les styles, mais elle ne peut pas les modifier.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnStyleChanging

L’infrastructure appelle cette fonction membre lorsque la SetWindowLong fonction est sur le point de modifier un ou plusieurs des styles de la fenêtre.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Paramètres

nStyleType
Spécifie si les styles étendus ou nonextended de la fenêtre ont changé. Ce paramètre peut être une combinaison des valeurs suivantes :

  • GWL_EXSTYLE Les styles étendus de la fenêtre ont changé.

  • GWL_STYLE Les styles nonextended de la fenêtre ont changé.

lpStyleStruct
Pointe vers une STYLESTRUCT structure qui contient les nouveaux styles de la fenêtre. Une application peut examiner les styles et les modifier.

Notes

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSysChar

L’infrastructure appelle cette fonction membre si CWnd elle a le focus d’entrée et les WM_SYSKEYUPWM_SYSKEYDOWN messages sont traduits.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie le code de clé de caractère ASCII d’une touche de menu Contrôle.

nRepCnt
Spécifie le nombre de répétitions, autrement dit, le nombre de fois où la séquence de touches est répétée en raison de la conservation de la touche par l’utilisateur.

nFlags
Le nFlags paramètre peut avoir ces valeurs :

Value Signification
0-15 Spécifie le nombre de répétitions. La valeur est le nombre de fois où la séquence de touches est répétée en raison de la conservation de la touche par l’utilisateur.
16-23 Spécifie le code d’analyse. La valeur dépend du fabricant d’équipement d’origine (OEM)
24 Spécifie si la touche est une touche étendue, telle que la touche Alt de droite et les touches Ctrl qui apparaissent sur un clavier 101 ou 102 touches amélioré. La valeur est 1 s’il s’agit d’une clé étendue ; sinon, c’est 0.
25-28 Utilisé en interne par Windows.
29 Spécifie le code de contexte. La valeur est 1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, la valeur est 0.
30 Spécifie l’état de clé précédent. La valeur est 1 si la clé est en panne avant l’envoi du message, ou 0 si la clé est vers le haut.
31 Spécifie l’état de transition. La valeur est 1 si la touche est libérée ou si la touche est enfoncée.

Notes

Il spécifie le code de clé virtuelle de la touche de menu Contrôle. (Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h)

Lorsque le code de contexte est 0, WM_SYSCHAR peut transmettre le WM_SYSCHAR message à la TranslateAccelerator fonction Windows, qui le gère comme s’il s’agissait d’un message de clé normal au lieu d’une clé de caractère système. Cela permet aux touches d’accélérateur d’être utilisées avec la fenêtre active même si la fenêtre active n’a pas le focus d’entrée.

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue en nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSysColorChange

L’infrastructure appelle cette fonction membre pour toutes les fenêtres de niveau supérieur lorsqu’une modification est apportée dans le paramètre de couleur système.

afx_msg void OnSysColorChange();

Notes

Windows appelle OnSysColorChange n’importe quelle fenêtre affectée par une modification de couleur système.

Les applications qui ont des pinceaux qui utilisent les couleurs système existantes doivent supprimer ces pinceaux et les recréer avec les nouvelles couleurs système.

CWnd::OnSysCommand

L’infrastructure appelle cette fonction membre lorsque l’utilisateur sélectionne une commande dans le menu Contrôle, ou lorsque l’utilisateur sélectionne le bouton Agrandir ou Réduire.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Paramètres

nID
Spécifie le type de commande système demandée. Ce paramètre peut être l’une des valeurs suivantes :

  • SC_CLOSE Fermez l’objet CWnd .

  • SC_HOTKEY Activez l’objet CWnd associé à la clé chaude spécifiée par l’application. Mot de bas ordre d’identification lParamHWND de la fenêtre à activer.

  • SC_HSCROLL Faites défiler horizontalement.

  • SC_KEYMENU Récupérez un menu à l’aide d’une séquence de touches.

  • SC_MAXIMIZE (ou SC_ZOOM) Agrandissez l’objet CWnd .

  • SC_MINIMIZE (ou SC_ICON) Réduisez l’objet CWnd .

  • SC_MOUSEMENU Récupérez un menu par le biais d’un clic de souris.

  • SC_MOVE Déplacez l’objet CWnd .

  • SC_NEXTWINDOW Passez à la fenêtre suivante.

  • SC_PREVWINDOW Accédez à la fenêtre précédente.

  • SC_RESTORE Restaurer la fenêtre à la position et à la taille normales.

  • SC_SCREENSAVE Exécute l’application d’enregistrement d’écran spécifiée dans la section [boot] du SYSTEM.INI fichier.

  • SC_SIZE Dimensionner l’objet CWnd .

  • SC_TASKLIST Exécutez ou activez l’application Gestionnaire de tâches Windows.

  • SC_VSCROLL Faites défiler verticalement.

lParam
Si une commande Control-menu est choisie avec la souris, lParam contient les coordonnées du curseur. Le mot de bas ordre contient la coordonnée x, et le mot de classement élevé contient la coordonnée y. Sinon, ce paramètre n’est pas utilisé.

  • SC_HOTKEY Activez la fenêtre associée à la clé chaude spécifiée par l’application. Mot de bas ordre d’identification de lParam la fenêtre à activer.

  • SC_SCREENSAVEExécutez l’application d’enregistrement d’écran spécifiée dans la section Bureau de Panneau de configuration.

Notes

Par défaut, OnSysCommand exécute la demande de menu Contrôle pour les actions prédéfinies spécifiées dans le tableau précédent.

Dans WM_SYSCOMMAND les messages, les quatre bits de bas ordre du nID paramètre sont utilisés en interne par Windows. Lorsqu’une application teste la valeur de , elle doit combiner la valeur 0xFFF0 avec la nID valeur à l’aide de nIDl’opérateur BITwise-AND pour obtenir le résultat correct.

Les éléments de menu d’un menu Contrôle peuvent être modifiés avec les fonctions membres, et InsertMenuModifyMenu les GetSystemMenufonctions. AppendMenu Les applications qui modifient le menu Contrôle doivent traiter WM_SYSCOMMAND les messages, et tous les WM_SYSCOMMAND messages non gérés par l’application doivent être transmis à OnSysCommand. Toutes les valeurs de commande ajoutées par une application doivent être traitées par l’application et ne peuvent pas être passées à OnSysCommand.

Une application peut exécuter n’importe quelle commande système à tout moment en passant un WM_SYSCOMMAND message à OnSysCommand.

Les séquences de touches d’accélérateur (raccourci) définies pour sélectionner des éléments dans le menu Contrôle sont traduites en OnSysCommand appels ; toutes les autres séquences de touches d’accélérateur sont traduites en WM_COMMAND messages.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSysDeadChar

L’infrastructure appelle cette fonction membre si l’objet CWnd a le focus d’entrée lorsque la OnSysKeyUp fonction ou OnSysKeyDown membre est appelée.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie la valeur du caractère de clé morte.

nRepCnt
Spécifie le nombre de répétitions.

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Signification
0-7 Code d’analyse (valeur dépendante d’OEM). Octet faible du mot de haut ordre.
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue ; sinon, 0).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, 0).
14 État de clé précédent (1 si la clé est en panne avant l’appel, 0 si la clé est vers le haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Notes

Elle spécifie la valeur de caractère d’une clé morte.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSysKeyDown

Si l’objet CWnd a le focus d’entrée, la OnSysKeyDown fonction membre est appelée par l’infrastructure lorsque l’utilisateur maintient la touche Alt enfoncée, puis appuie sur une autre touche.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie le code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h

nRepCnt
Spécifie le nombre de répétitions.

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Signification
0-7 Code d’analyse (valeur dépendante d’OEM). Octet faible du mot de haut ordre.
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue ; sinon, 0).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée, sinon 0).
14 État de clé précédent (1 si la clé est en panne avant l’envoi du message, 0 si la clé est haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Pour OnSysKeyDown les appels, le bit de transition de clé (bit 15) est 0. Le bit de code contextuel (bit 13) est 1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; il s’agit de 0 si le message est envoyé à la fenêtre active, car aucune fenêtre n’a le focus d’entrée.

Notes

Si aucune fenêtre n’a actuellement le focus d’entrée, la fonction membre de OnSysKeyDown la fenêtre active est appelée. L’objet CWnd qui reçoit le message peut faire la distinction entre ces deux contextes en case activée le code de contexte dans nFlags.

Lorsque le code de contexte est 0, le WM_SYSKEYDOWN message reçu par OnSysKeyDown peut être transmis à la TranslateAccelerator fonction Windows, qui le gère comme s’il s’agissait d’un message clé normal au lieu d’un message de clé système. Cela permet aux touches d’accélérateur d’être utilisées avec la fenêtre active même si la fenêtre active n’a pas le focus d’entrée.

En raison de la répétition automatique, plusieurs OnSysKeyDown appels peuvent se produire avant la réception du WM_SYSKEYUP message. L’état de clé précédent (bit 14) peut être utilisé pour déterminer si l’appel indique la première transition vers le OnSysKeyDown bas ou une transition répétée vers le bas.

Pour les claviers IBM Enhanced 101- et 102 touches, les touches améliorées sont les touches alt droite et ctrl droite sur la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue en nFlags.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnSysKeyUp

Si l’objet CWnd a le focus, la OnSysKeyUp fonction membre est appelée par l’infrastructure lorsque l’utilisateur libère une touche enfoncée pendant que la touche ALT a été maintenue enfoncée.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
Spécifie le code de clé virtuelle de la touche enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h

nRepCnt
Spécifie le nombre de répétitions.

nFlags
Spécifie le code d’analyse, le code de transition de clé, l’état de clé précédent et le code de contexte, comme indiqué dans la liste suivante :

Value Signification
0-7 Code d’analyse (valeur dépendante d’OEM). Octet faible du mot de haut ordre.
8 Touche étendue, telle qu’une touche de fonction ou une touche sur le pavé numérique (1 s’il s’agit d’une clé étendue ; sinon, 0).
9 à 10 Pas utilisé.
11-12 Utilisé en interne par Windows.
13 Code de contexte (1 si la touche ALT est enfoncée pendant que la touche est enfoncée, sinon 0).
14 État de clé précédent (1 si la clé est en panne avant l’envoi du message, 0 si la clé est haut).
15 État de transition (1 si la touche est libérée, 0 si la touche est enfoncée).

Pour OnSysKeyUp les appels, le bit de transition de clé (bit 15) est 1. Le bit de code contextuel (bit 13) est 1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; il s’agit de 0 si le message est envoyé à la fenêtre active, car aucune fenêtre n’a le focus d’entrée.

Notes

Si aucune fenêtre n’a actuellement le focus d’entrée, la fonction membre de OnSysKeyUp la fenêtre active est appelée. L’objet CWnd qui reçoit l’appel peut faire la distinction entre ces deux contextes en case activée le code de contexte dans nFlags.

Lorsque le code de contexte est 0, le WM_SYSKEYUP message reçu par OnSysKeyUp peut être transmis à la TranslateAccelerator fonction Windows, qui le gère comme s’il s’agissait d’un message clé normal au lieu d’un message de clé système. Cela permet aux touches d’accélérateur (raccourci) d’être utilisées avec la fenêtre active même si la fenêtre active n’a pas le focus d’entrée.

Pour les claviers IBM Enhanced 101 et 102 touches, les touches améliorées sont les touches alt droites et les touches Ctrl droites de la section principale du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche vers le bas dans les clusters à gauche du pavé numérique ; et la barre oblique (/) et les touches ENTRÉE dans le pavé numérique. Certains autres claviers peuvent prendre en charge le bit de touche étendue dans nFlags.

Pour les non-États-Unis Claviers 102 touches améliorés, la touche ALT droite est gérée comme combinaison de touches Ctrl+Alt. L’exemple suivant montre la séquence de messages et d’appels qui se traduisent lorsque l’utilisateur appuie et libère cette touche :

Sequence Fonction accessible Message passé
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnTCard

L’infrastructure appelle cette fonction membre lorsque l’utilisateur clique sur un bouton authorable.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Paramètres

idAction
Indique l’action effectuée par l’utilisateur. Ce paramètre peut être l’une des valeurs suivantes :

  • IDABORT L’utilisateur a cliqué sur un bouton Abort authorable.

  • IDCANCEL L’utilisateur a cliqué sur un bouton Annuler pouvant être créé.

  • IDCLOSEL’utilisateur a fermé le carte d’entraînement.

  • IDHELP L’utilisateur a cliqué sur un bouton d’aide Windows pouvant être créé.

  • IDIGNORE L’utilisateur a cliqué sur un bouton Ignorer pouvant être créé.

  • IDOK L’utilisateur a cliqué sur un bouton OK auteur.

  • IDNO L’utilisateur a cliqué sur un bouton Non authorable.

  • IDRETRY L’utilisateur a cliqué sur un bouton Nouvelle tentative de création.

  • HELP_TCARD_DATA L’utilisateur a cliqué sur un bouton auteur. Le dwActionData paramètre contient un entier long spécifié par l’auteur de l’aide.

  • HELP_TCARD_NEXT L’utilisateur a cliqué sur un bouton Suivant pouvant être créé.

  • HELP_TCARD_OTHER_CALLERUne autre application a demandé des carte d’entraînement.

  • IDYES L’utilisateur a cliqué sur un bouton Oui auteur.

dwActionData
Si idAction elle est spécifiée HELP_TCARD_DATA, ce paramètre est un entier long spécifié par l’auteur de l’aide. Sinon, ce paramètre est égal à zéro.

Notes

Cette fonction est appelée uniquement lorsqu’une application a lancé une formation carte avec l’aide de Windows. Une application lance une formation carte en spécifiant la HELP_TCARD commande dans un appel à la WinHelp fonction.

CWnd::OnTimeChange

L’infrastructure appelle cette fonction membre après la modification de l’heure système.

afx_msg void OnTimeChange();

Notes

Disposer d’une application qui modifie l’heure système envoie ce message à toutes les fenêtres de niveau supérieur. Pour envoyer le WM_TIMECHANGE message à toutes les fenêtres de niveau supérieur, une application peut utiliser la SendMessage fonction Windows avec son hwnd paramètre défini HWND_BROADCASTsur .

CWnd::OnTimer

L’infrastructure appelle cette fonction membre après chaque intervalle spécifié dans la SetTimer fonction membre utilisée pour installer un minuteur.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Paramètres

nIDEvent
Spécifie l’identificateur du minuteur.

Notes

La DispatchMessage fonction Windows envoie un WM_TIMER message lorsqu’aucun autre message ne se trouve dans la file d’attente des messages de l’application.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

Exemple

Consultez l'exemple dans CWnd::SetTimer.

CWnd::OnToolHitTest

L’infrastructure appelle cette fonction membre pour déterminer si un point se trouve dans le rectangle englobant de l’outil spécifié.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Paramètres

point
Spécifie la coordonnée x et y du curseur. Ces coordonnées sont toujours relatives au coin supérieur gauche de la fenêtre

pTI
Pointeur vers une TOOLINFO structure. Les valeurs de structure suivantes sont définies par défaut :

  • hwnd = m_hWnd Gérer vers une fenêtre

  • uId = (UINT)hWndChild Gérer vers une fenêtre enfant

  • uFlags |= TTF_IDISHWND Handle of the tool

  • lpszText = LPSTR_TEXTCALLBACK Pointeur vers la chaîne à afficher dans la fenêtre spécifiée

Valeur de retour

Si le contrôle d’info-bulle a été trouvé, l’ID de contrôle de fenêtre. Si le contrôle d’info-bulle est introuvable, -1.

Notes

Si le point se trouve dans le rectangle, il récupère des informations sur l’outil.

Si la zone avec laquelle l’info-bulle est associée n’est pas un bouton, OnToolHitTest définit les indicateurs de structure sur TTF_NOTBUTTON et TTF_CENTERTIP.

Remplacez OnToolHitTest pour fournir des informations différentes de celles fournies par défaut.

Pour plus d’informations sur la structure, consultez TOOLINFOle Kit de développement logiciel (SDK) Windows.

CWnd::OnTouchInput

Traite une entrée unique de l'interface tactile Windows.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Paramètres

pt
Point où l’écran a été touché (dans les coordonnées du client).

nInputNumber
Nombre d’entrées tactiles.

nInputsCount
Nombre total d’entrées tactiles.

pInput
Pointeur vers la structure TOUCHINPUT .

Valeur de retour

TRUE si l’application traite l’entrée tactile Windows ; sinon FALSE.

Notes

CWnd::OnTouchInputs

Traite les entrées de Windows touch.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Paramètres

nInputsCount
Nombre total d’entrées tactiles Windows.

pInputs
Tableau de TOUCHINPUT.

Valeur de retour

TRUE si l’application traite les entrées tactiles Windows ; sinon FALSE.

Notes

CWnd::OnUniChar

L’infrastructure appelle cette fonction membre lorsqu’une touche est enfoncée. Autrement dit, la fenêtre active a le focus clavier et un WM_KEYDOWN message est traduit par la TranslateMessage fonction.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Paramètres

nChar
[in] Spécifie le code de caractère de la touche enfoncée.

nRepCnt
[in] Spécifie le nombre de répétitions pour le message actif. La valeur est le nombre de fois où la séquence de touches est automatiquement rérepé en raison de la conservation de la clé par l’utilisateur. Si la séquence de touches est suffisamment longue, plusieurs messages sont envoyés. Toutefois, le nombre de répétitions n’est pas cumulatif.

nFlags
[in] Indicateurs qui spécifient le code d’analyse, la clé étendue, le code de contexte, l’état de clé précédent et l’état de transition, comme indiqué dans le tableau suivant :

Bits d’indicateur Description
0-7 Spécifie le code d’analyse. La valeur dépend du fabricant d’équipement d’origine (OEM).
8 Spécifie une touche étendue, telle que les touches Alt et Ctrl de droite qui apparaissent sur un clavier amélioré à 101 ou 102 touches. L’indicateur est 1 si la clé est une clé étendue ; sinon, c’est 0.
9-12 Utilisé en interne par Windows.
13 Spécifie le code de contexte. L’indicateur est 1 si la touche ALT est enfoncée pendant que la touche est enfoncée ; sinon, la valeur est 0.
14 Spécifie l’état de clé précédent. L’indicateur est 1 si la clé est en panne avant l’envoi du message, ou 0 si la clé est vers le haut.
15 Spécifie l’état de transition. L’indicateur est 1 si la touche est libérée ou 0 si la touche est enfoncée.

Notes

Cette méthode reçoit la WM_UNICHAR notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Le WM_UNICHAR message est conçu pour envoyer ou publier des caractères Unicode dans les fenêtres ANSI. Il équivaut au message, mais utilise l’encodage WM_CHAR Unicode Transformation Format-32 (UTF-32), tandis que le WM_CHAR message utilise UTF-16.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnUnInitMenuPopup

L’infrastructure appelle cette fonction membre lorsqu’un menu déroulant ou un sous-menu a été détruit.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Paramètres

pMenu
[in] Pointeur vers l’objet CMenu qui représente le menu ou le sous-menu.

nFlags
[in] Menu détruit. Actuellement, il ne peut s’agir que du menu fenêtre. MF_SYSMENU

Notes

Cette méthode reçoit la WM_UNINITMENUPOPUP notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnUpdateUIState

Appelé pour modifier l'état de l'interface utilisateur pour la fenêtre spécifiée et toutes ses fenêtres enfants.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Paramètres

nAction
Indique l'action à effectuer. Peut avoir l’une des valeurs suivantes :

  • UIS_CLEAR L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être masqué.

  • UIS_INITIALIZE L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être modifié en fonction du dernier événement d’entrée. Pour plus d’informations, consultez la section Remarques de WM_UPDATEISTATE.

  • UIS_SET L’élément d’état de l’interface utilisateur (spécifié par nUIElement) doit être visible.

nUIElement
Spécifie les éléments d’état de l’interface utilisateur affectés ou le style du contrôle. Peut avoir l’une des valeurs suivantes :

  • UISF_HIDEACCEL Raccourcis clavier.

  • UISF_HIDEFOCUS Indicateurs de focus.

  • UISF_ACTIVE Windows XP : un contrôle doit être dessiné dans le style utilisé pour les contrôles actifs.

Notes

Cette fonction membre émule les fonctionnalités du WM_UPDATEUISTATE message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::OnUserChanged

L’infrastructure appelle ce membre pour toutes les fenêtres une fois que l’utilisateur s’est connecté ou désactivé.

afx_msg void OnUserChanged();

Notes

Cette méthode reçoit le WM_USERCHANGED message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Lorsque l’utilisateur se connecte ou désactive, le système d’exploitation met à jour les paramètres spécifiques de l’utilisateur. Le système envoie ce message immédiatement après la mise à jour des paramètres.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnVKeyToItem

Si l’objet CWnd possède une zone de liste avec le LBS_WANTKEYBOARDINPUT style, la zone de liste envoie le WM_VKEYTOITEM message en réponse à un WM_KEYDOWN message.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Paramètres

nKey
Spécifie le code de clé virtuelle de la touche que l’utilisateur a enfoncée. Pour obtenir la liste des codes de clé virtuelle standard, consultez Winuser.h

pListBox
Spécifie un pointeur vers la zone de liste. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

nIndex
Spécifie la position de caret actuelle.

Valeur de retour

Spécifie l’action effectuée par l’application en réponse au message. Une valeur de retour de -2 indique que l’application a géré tous les aspects de la sélection de l’élément et ne nécessite aucune action supplémentaire par la zone de liste. Une valeur de retour de -1 indique que la zone de liste doit effectuer l’action par défaut en réponse à la séquence de touches. Une valeur de retour de 0 ou supérieure spécifie l’index de base zéro d’un élément dans la zone de liste et indique que la zone de liste doit effectuer l’action par défaut pour la séquence de touches sur l’élément donné.

Notes

Cette fonction membre est appelée par l’infrastructure uniquement pour les zones de liste qui ont le LBS_HASSTRINGS style.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnVScroll

L’infrastructure appelle cette fonction membre lorsque l’utilisateur clique sur la barre de défilement verticale de la fenêtre.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Paramètres

nSBCode
Spécifie un code de barre de défilement qui indique la demande de défilement de l’utilisateur. Ce paramètre peut avoir l’une des valeurs suivantes :

  • SB_BOTTOM Faites défiler jusqu’au bas.

  • SB_ENDSCROLL Fin du défilement.

  • SB_LINEDOWN Faites défiler une ligne vers le bas.

  • SB_LINEUP Faites défiler une ligne vers le haut.

  • SB_PAGEDOWN Faites défiler une page vers le bas.

  • SB_PAGEUP Faites défiler une page vers le haut.

  • SB_THUMBPOSITION Faites défiler jusqu’à la position absolue. La position actuelle est fournie dans nPos.

  • SB_THUMBTRACK Faites glisser la zone de défilement vers la position spécifiée. La position actuelle est fournie dans nPos.

  • SB_TOP Faites défiler jusqu’au haut.

nPos
Contient la position actuelle de la zone de défilement si le code de barre de défilement est ou SB_THUMBTRACK; sinon, n’est SB_THUMBPOSITION pas utilisé. Selon la plage de défilement initiale, nPos peut être négative et doit être castée en cas int de besoin.

pScrollBar
Si le message de défilement provient d’un contrôle de barre de défilement, contient un pointeur vers le contrôle. Si l’utilisateur a cliqué sur la barre de défilement d’une fenêtre, ce paramètre est NULL. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

OnVScroll est généralement utilisé par les applications qui fournissent des commentaires pendant que la zone de défilement est déplacée.

Si OnVScroll le contenu de l’objet CWnd fait défiler le contenu, il doit également réinitialiser la position de la zone de défilement avec la SetScrollPos fonction membre.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnVScrollClipboard

La fonction membre du propriétaire du OnVScrollClipboard Presse-papiers est appelée par la visionneuse du Presse-papiers lorsque les données du Presse-papiers ont le CF_OWNERDISPLAY format et qu’il existe un événement dans la barre de défilement verticale de la visionneuse du Presse-papiers.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Paramètres

pClipAppWnd
Spécifie un pointeur vers une fenêtre De presse-papiers. Le pointeur peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

nSBCode
Spécifie l’une des valeurs de barre de défilement suivantes :

  • SB_BOTTOM Faites défiler jusqu’au bas.

  • SB_ENDSCROLL Fin du défilement.

  • SB_LINEDOWN Faites défiler une ligne vers le bas.

  • SB_LINEUP Faites défiler une ligne vers le haut.

  • SB_PAGEDOWN Faites défiler une page vers le bas.

  • SB_PAGEUP Faites défiler une page vers le haut.

  • SB_THUMBPOSITION Faites défiler jusqu’à la position absolue. La position actuelle est fournie dans nPos.

  • SB_TOP Faites défiler jusqu’au haut.

nPos
Contient la position de la zone de défilement si le code de barre de défilement est SB_THUMBPOSITION; sinon nPos , il n’est pas utilisé.

Notes

Le propriétaire doit faire défiler l’image du Presse-papiers, invalider la section appropriée et mettre à jour les valeurs de la barre de défilement.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnWindowMaximizedChanged

L’infrastructure appelle ce membre lorsque la fenêtre active est agrandie et que la fenêtre est composée par le Gestionnaire de fenêtres de bureau (DWM).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Paramètres

bIsMaximized
[in] TRUE si la fenêtre active est agrandie et FALSE si ce n’est pas le cas.

Notes

Cette méthode reçoit le WM_DWMWINDOWMAXIMIZEDCHANGE message de notification, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnWindowPosChanged

L’infrastructure appelle cette fonction membre lorsque la taille, la position ou l’ordre Z a changé en raison d’un appel à la SetWindowPos fonction membre ou à une autre fonction de gestion des fenêtres.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Paramètres

lpwndpos
Pointe vers une WINDOWPOS structure de données qui contient des informations sur la nouvelle taille et la position de la fenêtre.

Notes

L’implémentation par défaut envoie les messages et WM_MOVE les WM_SIZE messages à la fenêtre. Ces messages ne sont pas envoyés si une application gère l’appel OnWindowPosChanged sans appeler sa classe de base. Il est plus efficace d’effectuer un traitement des modifications de déplacement ou de taille pendant l’appel OnWindowPosChanged sans appeler sa classe de base.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnWindowPosChanging

L’infrastructure appelle cette fonction membre lorsque la taille, la position ou l’ordre Z est sur le point de changer suite à un appel à la SetWindowPos fonction membre ou à une autre fonction de gestion des fenêtres.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Paramètres

lpwndpos
Pointe vers une WINDOWPOS structure de données qui contient des informations sur la nouvelle taille et la position de la fenêtre.

Notes

Une application peut empêcher les modifications apportées à la fenêtre en définissant ou en désactivant les bits appropriés dans le flags membre de la WINDOWPOS structure.

Pour une fenêtre avec le style ou WS_THICKFRAME le WS_OVERLAPPED style, l’implémentation par défaut envoie un WM_GETMINMAXINFO message à la fenêtre. Cela permet de valider la nouvelle taille et la position de la fenêtre et d’appliquer les CS_BYTEALIGNCLIENT styles clients.CS_BYTEALIGN Une application peut remplacer cette fonctionnalité en n’appelant pas sa classe de base.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnWinIniChange

L’infrastructure appelle cette fonction membre une fois qu’une modification a été apportée au fichier d’initialisation Windows. WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Paramètres

lpszSection
Pointe vers une chaîne qui spécifie le nom de la section qui a changé. (La chaîne n’inclut pas les crochets qui entourent le nom de la section.)

Notes

La SystemParametersInfo fonction Windows appelle OnWinIniChange une fois qu’une application utilise la fonction pour modifier un paramètre dans le WIN.INI fichier.

Pour envoyer le WM_WININICHANGE message à toutes les fenêtres de niveau supérieur, une application peut utiliser la SendMessage fonction Windows avec son hwnd paramètre défini HWND_BROADCASTsur .

Si une application modifie plusieurs sections différentes en WIN.INI même temps, l’application doit envoyer un WM_WININICHANGE message avec lpszSection défini sur NULL. Sinon, une application doit envoyer WM_WININICHANGE chaque fois qu’elle apporte une modification à WIN.INI.

Si une application reçoit un OnWinIniChange appel défini lpszSection sur NULL, l’application doit case activée toutes les sections de WIN. INI qui affecte l’application.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnWndMsg

Cette fonction membre est appelée par WindowProc, ou est appelée pendant la réflexion du message.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paramètres

message
Spécifie le message à envoyer.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

pResult
Valeur de retour de WindowProc. Dépend du message ; peut être NULL.

Valeur de retour

TRUE si le message a été géré ; sinon FALSE.

Notes

OnWndMsg détermine le type de message et appelle la fonction d’infrastructure appropriée (par exemple, OnCommand pour WM_COMMAND) ou recherche le message approprié dans le mappage de messages.

Pour plus d’informations sur la réflexion des messages, consultez Gestion des messages Réflexions ed Messages.

CWnd::OnXButtonDblClk

L’infrastructure appelle cette fonction membre lorsque l’utilisateur double-clique XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone cliente d’une fenêtre.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modification enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée.

nButton
[in] Valeur de XBUTTON1 si le premier bouton Microsoft Intellimouse X est double-cliqué ou XBUTTON2 si le deuxième bouton X est double-cliqué.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit la WM_XBUTTONDBLCLK notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Si la souris n’est pas capturée, le message est publié dans la fenêtre sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.

Le nFlags paramètre peut être une combinaison de touches de modificateur répertoriées dans le tableau suivant. Pour plus d’informations, consultez À propos de l’entrée de la souris.

Touche de modificateur Description
MK_CONTROL La touche Ctrl est enfoncée.
MK_LBUTTON Le bouton gauche de la souris est enfoncé.
MK_MBUTTON Le bouton central de la souris est enfoncé.
MK_RBUTTON Le bouton droit de la souris est enfoncé.
MK_SHIFT La touche Maj est enfoncée.
MK_XBUTTON1 Le XBUTTON1 bouton de la souris de Microsoft IntelliMouse est enfoncé.
MK_XBUTTON2 Le XBUTTON2 bouton de la souris de Microsoft IntelliMouse est enfoncé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnXButtonDown

L’infrastructure appelle cette fonction membre lorsque l’utilisateur appuie XBUTTON1 ou XBUTTON2 que le curseur se trouve dans la zone cliente d’une fenêtre.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modification enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée.

nButton
[in] Valeur de XBUTTON1 si le premier bouton Microsoft Intellimouse X a été cliqué ou XBUTTON2 si le deuxième bouton X a été cliqué.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit la WM_XBUTTONDOWN notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Si la souris n’est pas capturée, le message est publié dans la fenêtre sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.

Le nFlags paramètre peut être une combinaison de touches de modificateur répertoriées dans le tableau suivant. Pour plus d’informations, consultez À propos de l’entrée de la souris.

Touche de modificateur Description
MK_CONTROL La touche Ctrl est enfoncée.
MK_LBUTTON Le bouton gauche de la souris est enfoncé.
MK_MBUTTON Le bouton central de la souris est enfoncé.
MK_RBUTTON Le bouton droit de la souris est enfoncé.
MK_SHIFT La touche Maj est enfoncée.
MK_XBUTTON1 Le XBUTTON1 bouton de la souris de Microsoft IntelliMouse est enfoncé.
MK_XBUTTON2 Le XBUTTON2 bouton de la souris de Microsoft IntelliMouse est enfoncé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OnXButtonUp

L’infrastructure appelle cette fonction membre lorsque l’utilisateur libère XBUTTON1 ou XBUTTON2 pendant que le curseur se trouve dans la zone cliente d’une fenêtre.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Paramètres

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui indiquent les touches de modification enfoncées. Par exemple, l’indicateur MK_CONTROL indique que la touche Ctrl est enfoncée.

nButton
[in] Valeur de XBUTTON1 si le premier bouton Microsoft Intellimouse X a été double-cliqué ou XBUTTON2 si le deuxième bouton X a été double-cliqué.

point
[in] Objet CPoint qui spécifie les coordonnées et y les x coordonnées du curseur par rapport au coin supérieur gauche de la zone cliente.

Notes

Cette méthode reçoit la WM_XBUTTONUP notification, qui est décrite dans le Kit de développement logiciel (SDK) Windows. Si la souris n’est pas capturée, le message est publié dans la fenêtre sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.

Le nFlags paramètre peut être une combinaison de touches de modificateur répertoriées dans le tableau suivant. Pour plus d’informations, consultez À propos de l’entrée de la souris.

Touche de modificateur Description
MK_CONTROL La touche Ctrl est enfoncée.
MK_LBUTTON Le bouton gauche de la souris est enfoncé.
MK_MBUTTON Le bouton central de la souris est enfoncé.
MK_RBUTTON Le bouton droit de la souris est enfoncé.
MK_SHIFT La touche Maj est enfoncée.
MK_XBUTTON1 Le XBUTTON1 bouton de la souris de Microsoft IntelliMouse est enfoncé.
MK_XBUTTON2 Le XBUTTON2 bouton de la souris de Microsoft IntelliMouse est enfoncé.

Remarque

Cette fonction membre est appelée par l’infrastructure pour permettre à votre application de traiter un message Windows. Les paramètres passés à votre fonction reflètent les paramètres reçus par l’infrastructure au moment où le message a été reçu. Si vous appelez l’implémentation de classe de base de cette fonction, cette implémentation utilise les paramètres passés initialement avec le message et non les paramètres que vous fournissez à la fonction.

CWnd::OpenClipboard

Ouvre le Presse-papiers.

BOOL OpenClipboard();

Valeur de retour

Différent de zéro si le Presse-papiers est ouvert via CWnd, ou 0 si une autre application ou fenêtre a le Presse-papiers ouvert.

Notes

D’autres applications ne pourront pas modifier le Presse-papiers tant que la CloseClipboard fonction Windows n’est pas appelée.

L’objet actuel CWnd ne deviendra pas le propriétaire du Presse-papiers tant que la EmptyClipboard fonction Windows n’est pas appelée.

Exemple

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

Utilisez cet opérateur pour obtenir le handle de l’objet CWnd .

operator HWND() const;

CWnd::operator !=

Compare deux CWnd objets pour déterminer s’ils n’ont pas le même m_hWnd.

BOOL operator!=(const CWnd& wnd) const;

Paramètres

wnd
Référence à un objet CWnd.

Valeur de retour

Différent de zéro s’il est égal ; sinon 0.

CWnd::operator ==

Compare deux CWnd objets pour déterminer s’ils ont le même m_hWnd.

BOOL operator==(const CWnd& wnd) const;

Paramètres

wnd
Référence à un objet CWnd.

Valeur de retour

Différent de zéro s’il est égal ; sinon 0.

CWnd::PaintWindowlessControls

Dessine des contrôles sans fenêtre sur le conteneur de contrôle.

BOOL PaintWindowlessControls(CDC* pDC);

Paramètres

pDC
Contexte de l’appareil sur lequel dessiner les contrôles sans fenêtre.

Valeur de retour

Retourne TRUE s’il existe un conteneur de contrôles et que les contrôles sans fenêtre sont dessinés correctement, sinon FALSE.

CWnd::PostMessage

Place un message dans la file d’attente de messages de la fenêtre, puis retourne sans attendre que la fenêtre correspondante traite le message.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paramètres

message
Spécifie le message à publier.

wParam
Spécifie des informations de message supplémentaires. Le contenu de ce paramètre dépend du message en cours de publication.

lParam
Spécifie des informations de message supplémentaires. Le contenu de ce paramètre dépend du message en cours de publication.

Valeur de retour

Différent de zéro si le message est publié ; sinon 0.

Notes

Les messages d’une file d’attente de messages sont récupérés par des appels à la GetMessage fonction Ou PeekMessage Windows.

La fonction Windows PostMessage peut être utilisée pour accéder à une autre application.

Exemple

Consultez l’exemple pour AfxGetMainWnd.

CWnd::PostNcDestroy

Appelé par la fonction membre par défaut OnNcDestroy après la destruction de la fenêtre.

virtual void PostNcDestroy();

Notes

Les classes dérivées peuvent utiliser cette fonction pour des propre up personnalisées, telles que la suppression du this pointeur.

CWnd::PreCreateWindow

Appelé par l’infrastructure avant la création de la fenêtre Windows attachée à cet CWnd objet.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Paramètres

cs
Structure CREATESTRUCT.

Valeur de retour

Différent de zéro si la création de la fenêtre doit continuer ; 0 pour indiquer l’échec de création.

Notes

Avertissement

CWnd::PreCreateWindow assigne maintenant le membre hMenu du csthis pointeur si le menu est NULL et que le style contient WS_CHILD. Pour des fonctionnalités appropriées, vérifiez que votre contrôle de boîte de dialogue a un ID qui n’est pas NULL.

Cette modification corrige un incident dans les scénarios d’interopérabilité managés/natifs. Une TRACE instruction dans laquelle CWnd::Create il alerte le développeur du problème.

N’appelez jamais cette fonction directement.

L’implémentation par défaut de cette fonction case activée s pour un NULL nom de classe de fenêtre et remplace une valeur par défaut appropriée. Remplacez cette fonction membre pour modifier la CREATESTRUCT structure avant la création de la fenêtre.

Chaque classe dérivée d’ajoute CWnd ses propres fonctionnalités à son remplacement de PreCreateWindow. Par conception, ces dérivations ne PreCreateWindow sont pas documentées. Pour déterminer les styles appropriés à chaque classe et les interdépendances entre les styles, vous pouvez examiner le code source MFC pour la classe de base de votre application. Si vous choisissez de remplacer PreCreateWindow, , vous pouvez déterminer si les styles utilisés dans la classe de base de votre application fournissent les fonctionnalités dont vous avez besoin à l’aide d’informations collectées à partir du code source MFC.

Pour plus d’informations sur la modification des styles de fenêtre, consultez la section Modification des styles d’une fenêtre créée par MFC.

Exemple

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

Cette fonction membre est appelée par l’infrastructure pour permettre à d’autres sous-classes nécessaires de se produire avant la sous-classe de la fenêtre.

virtual void PreSubclassWindow();

Notes

La substitution de cette fonction membre permet la sous-classe dynamique des contrôles. Il s’agit d’une substitution avancée.

CWnd::PreTranslateMessage

Utilisé par la classe CWinApp pour traduire les messages de fenêtre avant qu’ils ne soient distribués aux TranslateMessage fonctions Windows.DispatchMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paramètres

pMsg
Pointe vers une MSG structure qui contient le message à traiter.

Valeur de retour

Différent de zéro si le message a été traduit et ne doit pas être distribué ; 0 si le message n’a pas été traduit et doit être distribué.

CWnd::Print

Appelez cette fonction membre pour dessiner la fenêtre active dans le contexte d’appareil spécifié, qui est le plus souvent dans un contexte d’appareil d’imprimante.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Paramètres

pDC
Pointeur vers un contexte de périphérique.

dwFlags
Spécifie les options de dessin. Ce paramètre peut être un ou plusieurs de ces indicateurs :

  • PRF_CHECKVISIBLE Dessinez la fenêtre uniquement si elle est visible.

  • PRF_CHILDREN Dessinez toutes les fenêtres enfants visibles.

  • PRF_CLIENT Dessinez la zone cliente de la fenêtre.

  • PRF_ERASEBKGND Effacez l’arrière-plan avant de dessiner la fenêtre.

  • PRF_NONCLIENT Dessinez la zone non cliente de la fenêtre.

  • PRF_OWNED Dessinez toutes les fenêtres détenues.

Notes

CWnd::DefWindowProc la fonction traite ce message en fonction de l’option de dessin spécifiée :

  • Si PRF_CHECKVISIBLE elle est spécifiée et que la fenêtre n’est pas visible, ne faites rien.

  • Si PRF_NONCLIENT elle est spécifiée, dessinez la zone non cliente dans le contexte de l’appareil donné.

  • Si PRF_ERASEBKGND elle est spécifiée, envoyez un WM_ERASEBKGND message à la fenêtre.

  • Si PRF_CLIENT elle est spécifiée, envoyez un WM_PRINTCLIENT message à la fenêtre.

  • Si PRF_CHILDREN elle est définie, envoyez à chaque fenêtre enfant visible un WM_PRINT message.

  • Si PRF_OWNED elle est définie, envoyez à chaque fenêtre appartenant visible un WM_PRINT message.

CWnd::PrintClient

Appelez cette fonction membre pour dessiner n’importe quelle fenêtre dans le contexte d’appareil spécifié (généralement un contexte d’appareil d’imprimante).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Paramètres

pDC
Pointeur vers un contexte de périphérique.

dwFlags
Spécifie les options de dessin. Ce paramètre peut être un ou plusieurs de ces indicateurs :

  • PRF_CHECKVISIBLE Dessinez la fenêtre uniquement si elle est visible.

  • PRF_CHILDREN Dessinez toutes les fenêtres enfants visibles.

  • PRF_CLIENT Dessinez la zone cliente de la fenêtre.

  • PRF_ERASEBKGND Effacez l’arrière-plan avant de dessiner la fenêtre.

  • PRF_NONCLIENT Dessinez la zone non cliente de la fenêtre.

  • PRF_OWNED Dessinez toutes les fenêtres détenues.

CWnd::PrintWindow

Copie une fenêtre visuelle dans le contexte de périphérique spécifié, en général un contexte de périphérique d'impression.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Paramètres

pDC
Pointeur vers le contexte de l’appareil à imprimer.

nFlags
Spécifie les options de dessin. Pour obtenir la liste des valeurs possibles, consultez PrintWindow.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction PrintWindow, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::RedrawWindow

Mises à jour le rectangle ou la région spécifié dans la zone cliente de la fenêtre donnée.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Paramètres

lpRectUpdate
Pointe vers une RECT structure contenant les coordonnées du rectangle de mise à jour. Ce paramètre est ignoré si prgnUpdate contient un handle de région valide.

prgnUpdate
Identifie la région de mise à jour. Si les deux et lpRectUpdate les deux prgnUpdate sontNULL, la zone cliente entière est ajoutée à la région de mise à jour.

flags
Les indicateurs suivants sont utilisés pour invalider la fenêtre :

  • RDW_ERASE Provoque la réception d’un WM_ERASEBKGND message lorsque la fenêtre est repeinte. L’indicateur RDW_INVALIDATE doit également être spécifié ; sinon, RDW_ERASE n’a aucun effet.

  • RDW_FRAME Provoque toute partie de la zone non cliente de la fenêtre qui croise la région de mise à jour pour recevoir un WM_NCPAINT message. L’indicateur RDW_INVALIDATE doit également être spécifié ; sinon RDW_FRAME , il n’a aucun effet.

  • RDW_INTERNALPAINT Provoque la publication d’un WM_PAINT message dans la fenêtre, que la fenêtre contienne une région non valide.

  • RDW_INVALIDATE Invalider lpRectUpdate ou prgnUpdate (un seul peut ne pas NULLêtre). Si les deux sont NULL, la fenêtre entière est invalidée.

Les indicateurs suivants sont utilisés pour valider la fenêtre :

  • RDW_NOERASE Supprime les messages en attente WM_ERASEBKGND .

  • RDW_NOFRAME Supprime les messages en attente WM_NCPAINT . Cet indicateur doit être utilisé avec RDW_VALIDATE et est généralement utilisé avec RDW_NOCHILDREN. Cette option doit être utilisée avec soin, car elle pourrait empêcher les parties d’une fenêtre de peindre correctement.

  • RDW_NOINTERNALPAINT Supprime les messages internes WM_PAINT en attente. Cet indicateur n’affecte pas les WM_PAINT messages résultant de zones non valides.

  • RDW_VALIDATElpRectUpdate Valide ou prgnUpdate (un seul peut ne pas NULLêtre). Si les deux sont NULL, la fenêtre entière est validée. Cet indicateur n’affecte pas les messages internes WM_PAINT .

Les indicateurs suivants contrôlent quand la peinture se produit. La peinture n’est pas effectuée par la RedrawWindow fonction, sauf si l’un de ces bits est spécifié.

  • RDW_ERASENOWProvoque la réception WM_NCPAINT et WM_ERASEBKGND les messages des fenêtres affectées (comme spécifiés par les RDW_ALLCHILDRENRDW_NOCHILDREN indicateurs) avant que la fonction ne retourne. WM_PAINT les messages sont différés.

  • RDW_UPDATENOWProvoque la réception , et les messages, si nécessaire, des fenêtres affectées (comme spécifiés par les RDW_ALLCHILDRENRDW_NOCHILDREN indicateurs) avant que la fonction ne retourne.WM_PAINTWM_ERASEBKGNDWM_NCPAINT

Par défaut, les fenêtres affectées par la RedrawWindow fonction dépendent si la fenêtre spécifiée a le WS_CLIPCHILDREN style. Les fenêtres enfants des WS_CLIPCHILDREN fenêtres ne sont pas affectées. Toutefois, ces fenêtres qui ne sont pas WS_CLIPCHILDREN des fenêtres sont validées de manière récursive ou invalidées jusqu’à ce qu’une WS_CLIPCHILDREN fenêtre soit rencontrée. Les indicateurs suivants contrôlent les fenêtres affectées par la RedrawWindow fonction :

  • RDW_ALLCHILDREN Inclut les fenêtres enfants, le cas échéant, dans l’opération de repeignement.

  • RDW_NOCHILDREN Exclut les fenêtres enfants, le cas échéant, de l’opération de repeignement.

Valeur de retour

Différent de zéro si la fenêtre a été redessinée avec succès ; sinon 0.

Notes

Lorsque la RedrawWindow fonction membre est utilisée pour invalider une partie de la fenêtre de bureau, cette fenêtre ne reçoit pas de WM_PAINT message. Pour repeindre le bureau, une application doit utiliser CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindowou RedrawWindow

CWnd::ReflectChildNotify

Cette fonction de message est appelée par l’infrastructure à partir de OnChildNotify.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Paramètres

message
Spécifie le message à refléter.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

pResult
Résultat généré par la fenêtre enfant à retourner par la fenêtre parente. Peut être NULL.

Valeur de retour

TRUE si le message a été reflété ; sinon FALSE.

Notes

Il s’agit d’une fonction d’assistance qui reflète message sa source.

Réflexions messages envoyés directement à ou CCmdTarget::OnCmdMsg.CWnd::OnWndMsg

Pour plus d’informations sur la réflexion des messages, consultez Gestion des messages Réflexions ed Messages.

CWnd::ReflectLastMsg

Cette fonction membre est appelée par l’infrastructure pour refléter le dernier message de la fenêtre enfant.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Paramètres

hWndChild
Handle vers une fenêtre enfant.

pResult
Résultat généré par la fenêtre enfant à retourner par la fenêtre parente. Peut être NULL.

Valeur de retour

Différent de zéro si le message a été géré ; sinon 0.

Notes

Cette fonction membre appelle SendChildNotifyLastMsg si la fenêtre identifiée par hWndChild est un contrôle OLE ou une fenêtre dans la carte permanente.

Pour plus d’informations sur la réflexion des messages, consultez Gestion des messages Réflexions ed Messages.

CWnd::ReleaseDC

Libère un contexte d’appareil, le libère pour une utilisation par d’autres applications.

int ReleaseDC(CDC* pDC);

Paramètres

pDC
Identifie le contexte de l’appareil à libérer.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

L’effet de la ReleaseDC fonction membre dépend du type de contexte d’appareil.

L’application doit appeler la ReleaseDC fonction membre pour chaque appel à la GetWindowDC fonction membre et pour chaque appel à la GetDC fonction membre.

CWnd::RepositionBars

Appelé pour repositionner et redimensionner les barres de contrôle dans la zone cliente d’une fenêtre.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Paramètres

nIDFirst
ID du premier dans une plage de barres de contrôle à repositionner et redimensionner.

nIDLast
ID du dernier dans une plage de barres de contrôle à repositionner et redimensionner.

nIDLeftOver
Spécifie l’ID du volet qui remplit le reste de la zone cliente.

nFlag
Peut avoir l'une des valeurs suivantes :

  • CWnd::reposDefault Effectue la disposition des barres de contrôle. lpRectParam n’est pas utilisé et peut être NULL.

  • CWnd::reposQuery La disposition des barres de contrôle n’est pas effectuée ; Au lieu de cela lpRectParam , il est initialisé avec la taille de la zone cliente, comme si la disposition avait réellement été effectuée.

  • CWnd::reposExtra Ajoute les valeurs de lpRectParam la zone cliente de nIDLast et effectue également la disposition.

lpRectParam
Pointe vers une RECT structure ; l’utilisation dépend de la valeur de nFlag.

lpRectClient
Pointe vers une RECT structure contenant la zone cliente disponible. Si NULL, la zone cliente de la fenêtre sera utilisée.

bStretch
Indique si la barre doit être étirée à la taille du cadre.

Notes

Les nIDFirst paramètres et nIDLast définissent une plage d’ID de barre de contrôle à repositionner dans la zone cliente. Le nIDLeftOver paramètre spécifie l’ID de la fenêtre enfant (normalement la vue) qui est repositionnée et redimensionnée pour remplir le reste de la zone cliente non remplie par les barres de contrôle.

CWnd::RunModalLoop

Appelez cette fonction membre pour récupérer, traduire ou distribuer des messages jusqu’à ce que ContinueModal le retour soit retourné FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Paramètres

dwFlags
Spécifie le message Windows à envoyer. Peut avoir l’une des valeurs suivantes :

  • MLF_NOIDLEMSG N’envoyez WM_ENTERIDLE pas de messages au parent.

  • MLF_NOKICKIDLE N’envoyez WM_KICKIDLE pas de messages à la fenêtre.

  • MLF_SHOWONIDLE Afficher la fenêtre lorsque la file d’attente de messages est inactive.

Valeur de retour

Spécifie la valeur du nResult paramètre passé à la EndModalLoop fonction membre, qui est ensuite utilisée pour mettre fin à la boucle modale.

Notes

Par défaut, ContinueModal retourne FALSE une fois EndModalLoop appelé. Retourne la valeur fournie en EndModalLooptant que nResult .

CWnd::ScreenToClient

Convertit les coordonnées d'écran d'un point ou rectangle donné sur l'affichage en coordonnées clientes.

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

Paramètres

lpPoint
Pointe vers un objet ou POINT une CPoint structure qui contient les coordonnées de l’écran à convertir.

lpRect
Pointe vers un objet ou RECT une CRect structure qui contient les coordonnées de l’écran à convertir.

Notes

La ScreenToClient fonction membre remplace les coordonnées de l’écran fournies ou lpRectlpPoint par les coordonnées du client. Les nouvelles coordonnées sont relatives au coin supérieur gauche de la CWnd zone cliente.

Exemple

Consultez l’exemple pour CListCtrl::GetItemRect.

CWnd::ScrollWindow

Fait défiler le contenu de la zone cliente de l’objet actif CWnd .

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Paramètres

xAmount
Spécifie la quantité, en unités d’appareil, de défilement horizontal. Ce paramètre doit être une valeur négative à faire défiler vers la gauche.

yAmount
Spécifie la quantité, en unités d’appareil, de défilement vertical. Ce paramètre doit être une valeur négative pour faire défiler vers le haut.

lpRect
Pointe vers un objet ou RECT une CRect structure qui spécifie la partie de la zone cliente à faire défiler. Si lpRect c’est NULLle cas, la zone cliente entière est défiler. Le pointeur est repositionné si le rectangle du curseur croise le rectangle de défilement.

lpClipRect
Pointe vers un objet ou RECT une CRect structure qui spécifie le rectangle de découpage à faire défiler. Seuls les bits à l’intérieur de ce rectangle sont faits défiler. Les bits en dehors de ce rectangle ne sont pas affectés même s’ils se trouvent dans le lpRect rectangle. Si lpClipRect c’est NULLle cas, aucune capture n’est effectuée sur le rectangle de défilement.

Notes

Si le caret est dans le CWnd défilement, ScrollWindow masque automatiquement le signe pour l’empêcher d’être effacé, puis restaure le caret une fois le défilement terminé. La position de caret est ajustée en conséquence.

La zone découverte par la ScrollWindow fonction membre n’est pas repeinte, mais est combinée dans la région de mise à jour de l’objet actuel CWnd . L’application recevra finalement un WM_PAINT message lui informant que la région a besoin d’une nouvelle peinture. Pour repeindre la zone découverte en même temps que le défilement est terminé, appelez la UpdateWindow fonction membre immédiatement après l’appel ScrollWindow.

Si lpRect c’est NULLle cas, les positions des fenêtres enfants dans la fenêtre sont décalées par le montant spécifié xAmount par et yAmount, et toutes les zones non valides (non peintes) dans la CWnd fenêtre sont également décalées. ScrollWindow est plus rapide quand c’est lpRectNULL.

Si lpRect ce n’est pas NULLle cas, les positions des fenêtres enfants ne sont pas modifiées et les zones non valides ne CWnd sont pas décalées. Pour éviter les problèmes de mise à jour lorsque lpRect ce n’est pas NULLle cas, appelez la UpdateWindow fonction membre pour repeindre CWnd avant d’appeler ScrollWindow.

CWnd::ScrollWindowEx

Fait défiler le contenu de la zone cliente d’une fenêtre.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Paramètres

dx
Spécifie la quantité, en unités d’appareil, de défilement horizontal. Ce paramètre doit avoir une valeur négative pour faire défiler vers la gauche.

dy
Spécifie la quantité, en unités d’appareil, de défilement vertical. Ce paramètre doit avoir une valeur négative pour faire défiler vers le haut.

lpRectScroll
Pointe vers une RECT structure qui spécifie la partie de la zone cliente à faire défiler. Si ce paramètre est NULLle cas, la zone cliente entière est défiler.

lpRectClip
Pointe vers une RECT structure qui spécifie le rectangle de découpage à faire défiler. Cette structure est prioritaire sur le rectangle pointé par lpRectScroll. Seuls les bits à l’intérieur de ce rectangle sont faits défiler. Les bits en dehors de ce rectangle ne sont pas affectés même s’ils se trouvent dans le lpRectScroll rectangle. Si ce paramètre est NULLle cas, aucune capture n’est effectuée sur le rectangle de défilement.

prgnUpdate
Identifie la région qui est modifiée pour contenir la région invalidée en faisant défiler. Ce paramètre peut avoir la valeur NULL.

lpRectUpdate
Pointe vers une RECT structure qui recevra les limites du rectangle invalidées en faisant défiler. Ce paramètre peut avoir la valeur NULL.

flags
Peut avoir l'une des valeurs suivantes :

  • SW_ERASE Lorsqu’il est spécifié avec SW_INVALIDATE, efface la région nouvellement invalidée en envoyant un WM_ERASEBKGND message à la fenêtre.

  • SW_INVALIDATE Invalide la région identifiée par prgnUpdate le défilement.

  • SW_SCROLLCHILDREN Fait défiler toutes les fenêtres enfants qui croisent le rectangle pointé par lpRectScroll le nombre de pixels spécifiés dans dx et dy. Windows envoie un WM_MOVE message à toutes les fenêtres enfants qui se croisent lpRectScroll, même si elles ne se déplacent pas. Le curseur est repositionné lorsqu’une fenêtre enfant fait défiler et que le rectangle du curseur croise le rectangle de défilement.

Valeur de retour

La valeur de retour est SIMPLEREGION (région invalidée rectangulaire), COMPLEXREGION (région non invalidée nonrectangulaire ; rectangles qui se chevauchent) ou NULLREGION (aucune région invalidée), si la fonction réussit ; sinon, la valeur de retour est ERROR.

Notes

Cette fonction est similaire à la ScrollWindow fonction, avec certaines fonctionnalités supplémentaires.

Si SW_INVALIDATE et SW_ERASE ne sont pas spécifiés, la ScrollWindowEx fonction membre n’invalide pas la zone qui est supprimée. Si l’un de ces indicateurs est défini, ScrollWindowEx invalide cette zone. La zone n’est pas mise à jour tant que l’application n’appelle pas la UpdateWindow fonction membre, appelle la RedrawWindow fonction membre (spécifiant RDW_UPDATENOW ou RDW_ERASENOW) ou récupère le WM_PAINT message à partir de la file d’attente de l’application.

Si la fenêtre a le WS_CLIPCHILDREN style, les zones retournées spécifiées et lpRectUpdateprgnUpdate représentent la zone totale de la fenêtre défilement qui doit être mise à jour, y compris les zones des fenêtres enfants qui ont besoin de la mise à jour.

Si l’indicateur SW_SCROLLCHILDREN est spécifié, Windows ne met pas correctement à jour l’écran si une partie d’une fenêtre enfant fait défiler. La partie de la fenêtre enfant défilement située en dehors du rectangle source ne sera pas effacée et ne sera pas redessinée correctement dans sa nouvelle destination. Utilisez la DeferWindowPos fonction Windows pour déplacer les fenêtres enfants qui ne se trouvent pas complètement dans le lpRectScroll rectangle. Le curseur est repositionné si l’indicateur SW_SCROLLCHILDREN est défini et que le rectangle d’insertion croise le rectangle de défilement.

Toutes les coordonnées d’entrée et de sortie (pour lpRectScroll, , lpRectUpdatelpRectClipet prgnUpdate) sont supposées être dans les coordonnées clientes, que la fenêtre ait le style ou CS_CLASSDC la CS_OWNDC classe. Utilisez les LPtoDP fonctions et DPtoLP Les fonctions Windows pour effectuer une conversion en coordonnées logiques et à partir des coordonnées logiques, si nécessaire.

CWnd::SendChildNotifyLastMsg

Cette fonction membre est appelée par l’infrastructure pour fournir un message de notification à une fenêtre enfant, à partir de la fenêtre parente, afin que la fenêtre enfant puisse gérer une tâche.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Paramètres

pResult
Résultat généré par la fenêtre enfant à retourner par la fenêtre parente.

Valeur de retour

Différent de zéro si la fenêtre enfant a géré le message envoyé à son parent ; sinon 0.

Notes

SendChildNotifyLastMsg envoyez le message actuel à la source s’il s’agit d’un message qui est reflété.

Pour plus d’informations sur la réflexion des messages, consultez Gestion des messages Réflexions ed Messages.

CWnd::SendDlgItemMessage

Envoie un message à un contrôle.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paramètres

nID
Spécifie l’identificateur du contrôle de boîte de dialogue qui recevra le message.

message
Spécifie le message à envoyer.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

Valeur de retour

Spécifie la valeur retournée par la procédure de fenêtre du contrôle, ou 0 si le contrôle n’a pas été trouvé.

Notes

La SendDlgItemMessage fonction membre ne retourne pas tant que le message n’a pas été traité.

L’utilisation SendDlgItemMessage est identique à l’obtention d’un CWnd* au contrôle donné et à l’appel de la SendMessage fonction membre.

Exemple

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

Envoie le message spécifié à cette fenêtre.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Paramètres

message
Spécifie le message à envoyer.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

Valeur de retour

Résultat du traitement des messages ; sa valeur dépend du message envoyé.

Notes

La SendMessage fonction membre appelle directement la procédure de fenêtre et ne retourne pas tant que cette procédure de fenêtre n’a pas traité le message. Contrairement à la PostMessage fonction membre, qui place le message dans la file d’attente de messages de la fenêtre et retourne immédiatement.

Exemple

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

Appelez cette fonction membre pour envoyer le message Windows spécifié à toutes les fenêtres descendantes.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Paramètres

message
Spécifie le message à envoyer.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

bDeep
Spécifie le niveau auquel effectuer la recherche. Si TRUE, recherchez de manière récursive tous les enfants ; si FALSE, recherchez uniquement les enfants immédiats.

bOnlyPerm
Spécifie si le message sera reçu par des fenêtres temporaires. Si TRUE, les fenêtres temporaires peuvent recevoir le message ; si FALSE, seules les fenêtres permanentes reçoivent le message. Pour plus d’informations sur les fenêtres temporaires, consultez la Note technique 3.

Notes

Si bDeep c’est FALSEle cas, le message est envoyé uniquement aux enfants immédiats de la fenêtre ; sinon, le message est envoyé à toutes les fenêtres descendantes.

Si bDeep et bOnlyPerm sont TRUE, la recherche se poursuit sous les fenêtres temporaires. Dans ce cas, seules les fenêtres permanentes rencontrées pendant la recherche reçoivent le message. Si bDeep c’est FALSEle cas, le message est envoyé uniquement aux enfants immédiats de la fenêtre.

Exemple

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

Envoie le message spécifié à la fenêtre.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Paramètres

message
Spécifie le message à envoyer.

wParam
Spécifie des informations supplémentaires dépendantes du message.

lParam
Spécifie des informations supplémentaires dépendantes du message.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Si la fenêtre a été créée par le thread appelant, SendNotifyMessage appelle la procédure de fenêtre pour la fenêtre et ne retourne pas tant que la procédure de fenêtre n’a pas traité le message. Si la fenêtre a été créée par un autre thread, SendNotifyMessage transmet le message à la procédure de fenêtre et retourne immédiatement ; elle n’attend pas que la procédure de fenêtre termine le traitement du message.

CWnd::SetActiveWindow

Rend CWnd la fenêtre active.

CWnd* SetActiveWindow();

Valeur de retour

Fenêtre qui était précédemment active.

Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

La SetActiveWindow fonction membre doit être utilisée avec soin, car elle permet à une application de prendre arbitrairement en charge la fenêtre active et le focus d’entrée. Normalement, Windows s’occupe de toutes les activations.

CWnd::SetCapture

Provoque l’envoi de toutes les entrées de souris suivantes à l’objet actuel CWnd , quelle que soit la position du curseur.

CWnd* SetCapture();

Valeur de retour

Pointeur vers l’objet fenêtre qui a reçu précédemment toutes les entrées de la souris. C’est NULL s’il n’y a pas de telle fenêtre. Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Quand CWnd aucune entrée de souris n’est requise, l’application doit appeler la ReleaseCapture fonction pour que d’autres fenêtres puissent recevoir une entrée de souris.

Lorsque l’entrée de la souris est capturée, aucun ou WM_SETCURSOR aucun message n’est WM_NCHITTEST envoyé à la fenêtre active.

CWnd::SetCaretPos

Définit la position du caret.

static void PASCAL SetCaretPos(POINT point);

Paramètres

point
Spécifie les nouvelles coordonnées x et y (dans les coordonnées du client) du point de terminaison.

Notes

La SetCaretPos fonction membre déplace le pointeur uniquement s’il appartient à une fenêtre de la tâche active. SetCaretPos déplace la caresse si la carete est masquée ou non.

Le caret est une ressource partagée. Une fenêtre ne doit pas déplacer la caresse si elle ne possède pas le caret.

Exemple

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

Ajoute cette fenêtre à la chaîne de fenêtres qui sont averties (par le biais du WM_DRAWCLIPBOARD message) chaque fois que le contenu du Presse-papiers est modifié.

HWND SetClipboardViewer();

Valeur de retour

Handle vers la fenêtre suivante dans la chaîne de visionneuse du Presse-papiers en cas de réussite. Les applications doivent enregistrer ce handle (il peut être stocké en tant que variable membre) et l’utiliser lors de la réponse aux messages de chaîne de la visionneuse du Presse-papiers.

Notes

Une fenêtre qui fait partie de la chaîne de visionneuse du Presse-papiers doit répondre à WM_DRAWCLIPBOARD, WM_CHANGECBCHAINet WM_DESTROY les messages et transmettre le message à la fenêtre suivante de la chaîne.

Cette fonction membre envoie un WM_DRAWCLIPBOARD message à la fenêtre. Étant donné que le handle vers la fenêtre suivante de la chaîne de visionneuse du Presse-papiers n’a pas encore été retourné, l’application ne doit pas transmettre le WM_DRAWCLIPBOARD message qu’elle reçoit pendant l’appel .SetClipboardViewer

Pour se supprimer de la chaîne presse-papiers de visionneuse, une application doit appeler la ChangeClipboardChain fonction membre.

CWnd::SetDlgCtrlID

Définit l’ID de fenêtre ou l’ID de contrôle de la fenêtre sur une nouvelle valeur.

int SetDlgCtrlID(int nID);

Paramètres

nID
Nouvelle valeur à définir pour l’identificateur du contrôle.

Valeur de retour

Identificateur précédent de la fenêtre, le cas échéant ; sinon 0.

Notes

La fenêtre peut être n’importe quelle fenêtre enfant, pas seulement un contrôle dans une boîte de dialogue. La fenêtre ne peut pas être une fenêtre de niveau supérieur.

CWnd::SetDlgItemInt

Définit le texte d’un contrôle donné dans une boîte de dialogue sur la représentation sous forme de chaîne d’une valeur entière spécifiée.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Paramètres

nID
Spécifie l’ID entier du contrôle à modifier.

nValue
Spécifie la valeur entière utilisée pour générer le texte de l’élément.

bSigned
Spécifie si la valeur entière est signée ou non signée. Si ce paramètre est TRUE, nValue est signé. Si ce paramètre est TRUE inférieur à nValue 0, un signe moins est placé avant le premier chiffre de la chaîne. Si ce paramètre est , nValue n’est FALSEpas signé.

Notes

SetDlgItemInt envoie un WM_SETTEXT message au contrôle donné.

Exemple

Consultez l’exemple pour CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Définit la légende ou le texte d’un contrôle appartenant à une fenêtre ou une boîte de dialogue.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Paramètres

nID
Identifie le contrôle dont le texte doit être défini.

lpszString
Pointe vers un CString objet ou une chaîne terminée par null qui contient le texte à copier dans le contrôle.

Notes

SetDlgItemText envoie un WM_SETTEXT message au contrôle donné.

Exemple

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

Place le thread créé par la fenêtre au premier plan et active la fenêtre.

BOOL SetForegroundWindow();

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

L’entrée du clavier est dirigée vers la fenêtre, et différents indicateurs visuels sont modifiés pour l’utilisateur. La fenêtre de premier plan est la fenêtre avec laquelle l’utilisateur travaille actuellement. La fenêtre de premier plan s’applique uniquement aux fenêtres de niveau supérieur (fenêtres frame ou boîtes de dialogue).

Exemple

Consultez l’exemple pour CWnd::FindWindow.

CWnd::SetFocus

Revendique le focus d'entrée.

CWnd* SetFocus();

Valeur de retour

Pointeur vers l’objet de fenêtre qui avait précédemment le focus d’entrée. C’est NULL s’il n’y a pas de telle fenêtre. Le pointeur retourné peut être temporaire et ne doit pas être stocké.

Notes

Le focus d’entrée dirige toutes les entrées de clavier suivantes vers cette fenêtre. Toute fenêtre qui avait précédemment le focus d’entrée le perd.

La SetFocus fonction membre envoie un WM_KILLFOCUS message à la fenêtre qui perd le focus d’entrée et un WM_SETFOCUS message à la fenêtre qui reçoit le focus d’entrée. Il active également la fenêtre ou son parent.

Si la fenêtre active est active mais n’a pas le focus (autrement dit, aucune fenêtre n’a le focus), toute touche enfoncée génère les messages WM_SYSCHAR, WM_SYSKEYDOWNou WM_SYSKEYUP.

CWnd::SetFont

Envoie le WM_SETFONT message à la fenêtre pour utiliser la police spécifiée.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Paramètres

pFont
Pointeur vers un CFont objet.

bRedraw
TRUE pour que la fenêtre redessine immédiatement après qu’elle traite le WM_SETFONT message ; sinon FALSE.

Notes

Cette méthode n’a aucun effet, sauf si la fenêtre traite le WM_SETFONT message. De nombreuses classes MFC qui dérivent du traitement de CWnd ce message, car elles sont attachées à une classe de fenêtre prédéfinie qui inclut un gestionnaire de messages pour le WM_SETFONT message. Pour utiliser cette méthode, les classes à partir de CWnd lesquelles vous dérivez doivent définir un gestionnaire de méthodes pour le WM_SETFONT message.

CWnd::SetIcon

Appelez cette fonction membre pour définir le handle sur une icône spécifique, comme identifié par hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Paramètres

hIcon
Handle vers une icône précédente.

bBigIcon
Spécifie une icône de 32 pixels par 32 pixels si TRUE; spécifie une icône de 16 pixels par 16 pixels si FALSE.

Valeur de retour

Handle vers une icône.

Notes

Lorsque la classe de fenêtre est inscrite, elle sélectionne une icône.

Exemple

Consultez l’exemple pour CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Définit la clé de couleur d'opacité et de transparence d'une fenêtre superposée.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Paramètres

crKey
Pointeur vers une COLORREF valeur qui spécifie la clé de couleur de transparence à utiliser lors de la composition de la fenêtre superposée. Tous les pixels peints par la fenêtre de cette couleur seront transparents. Pour générer un COLORREF, utilisez la RGB macro.

bAlpha
Valeur alpha utilisée pour décrire l’opacité de la fenêtre superposée. Pour plus d’informations, consultez le SourceConstantAlpha membre de la BLENDFUNCTION structure. Lorsque bAlpha la valeur est 0, la fenêtre est complètement transparente. Quand bAlpha est 255, la fenêtre est opaque.

dwFlags
Spécifie une action à entreprendre. Ce paramètre peut être une ou plusieurs des valeurs suivantes. Pour obtenir la liste des valeurs possibles, consultez SetLayeredWindowAttributes.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction SetLayeredWindowAttributes, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::SetMenu

Définit le menu actif sur le menu spécifié.

BOOL SetMenu(CMenu* pMenu);

Paramètres

pMenu
Identifie le nouveau menu. Si ce paramètre est NULL, le menu actif est supprimé.

Valeur de retour

Différent de zéro si le menu est modifié ; sinon 0.

Notes

Provoque le redéployement de la fenêtre pour refléter la modification du menu.

SetMenu ne détruit pas un menu précédent. Une application doit appeler la CMenu::DestroyMenu fonction membre pour accomplir cette tâche.

Exemple

Consultez l’exemple pour CMenu::LoadMenu.

CWnd::SetOwner

Définit le propriétaire de la fenêtre active sur l’objet de fenêtre spécifié.

void SetOwner(CWnd* pOwnerWnd);

Paramètres

pOwnerWnd
Identifie le nouveau propriétaire de l’objet de fenêtre. Si ce paramètre est NULL, l’objet fenêtre n’a aucun propriétaire.

Notes

Ce propriétaire peut ensuite recevoir des messages de commande à partir de l’objet fenêtre actif. Par défaut, le parent de la fenêtre active est son propriétaire.

Il est souvent utile d’établir des connexions entre les objets de fenêtre qui ne sont pas liés à la hiérarchie de fenêtre. Par exemple, CToolBar envoie des notifications à son propriétaire au lieu de son parent. Cela permet à la barre d’outils de devenir l’enfant d’une fenêtre (par exemple, une fenêtre d’application conteneur OLE) lors de l’envoi de notifications à une autre fenêtre (par exemple, la fenêtre frame sur place). En outre, lorsqu’une fenêtre serveur est désactivée ou activée pendant la modification sur place, toute fenêtre appartenant à la fenêtre frame est masquée ou affichée. Cette propriété est explicitement définie avec un appel à SetOwner.

Le concept de propriété de cette fonction est différent du concept de propriété de GetWindow.

CWnd::SetParent

Modifie la fenêtre parente d’une fenêtre enfant.

CWnd* SetParent(CWnd* pWndNewParent);

Paramètres

pWndNewParent
Identifie la nouvelle fenêtre parente.

Valeur de retour

Pointeur vers l’objet de fenêtre parent précédent en cas de réussite. Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

Si la fenêtre enfant est visible, Windows effectue le redessinage et la peinture appropriés.

CWnd::SetProperty

Appelez cette fonction membre pour définir la propriété de contrôle OLE spécifiée par dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Paramètres

dwDispID
Identifie la propriété à définir.

vtProp
Spécifie le type de la propriété à définir. Pour connaître les valeurs possibles, consultez la section Remarques pour COleDispatchDriver::InvokeHelper.

...
Un seul paramètre du type spécifié par vtProp.

Notes

Remarque

Cette fonction doit être appelée uniquement sur un CWnd objet qui représente un contrôle OLE.

Pour plus d’informations sur l’utilisation de cette fonction membre avec des conteneurs OLE Control, consultez l’article Conteneurs de contrôle ActiveX : programmation de contrôles ActiveX dans un conteneur de contrôle ActiveX.

CWnd::SetRedraw

Une application appelle SetRedraw pour autoriser le redéployement des modifications ou pour empêcher le redéployement des modifications.

void SetRedraw(BOOL bRedraw = TRUE);

Paramètres

bRedraw
Spécifie l’état de l’indicateur de redessination. Si ce paramètre est TRUEdéfini, l’indicateur de redessination est défini ; si FALSE, l’indicateur est effacé.

Notes

Cette fonction membre définit ou efface l’indicateur de redessination. Bien que l’indicateur de redessination soit effacé, le contenu n’est pas mis à jour après chaque modification et ne sera pas repeint tant que l’indicateur de redessination n’est pas défini. Par exemple, une application qui doit ajouter plusieurs éléments à une zone de liste peut effacer l’indicateur de redessination, ajouter les éléments, puis définir l’indicateur de redessination. Enfin, l’application peut appeler la fonction membre ou InvalidateRect l’appeler Invalidate pour que la zone de liste soit repeinte.

Exemple

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

Appelez cette fonction membre pour définir les informations que la SCROLLINFO structure conserve sur une barre de défilement.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Paramètres

nBar
Spécifie si la barre de défilement est un contrôle ou une partie de la zone non cliente d’une fenêtre. S’il fait partie de la zone non cliente, nBar indique également si la barre de défilement est positionnée horizontalement, verticalement ou les deux. Il doit s’agir de l’un des éléments suivants :

  • SB_CTL Contient les paramètres d’un contrôle de barre de défilement. Le m_hWnd membre de données doit être le handle du contrôle de barre de défilement.

  • SB_HORZ Spécifie que la fenêtre est une barre de défilement horizontale.

  • SB_VERT Spécifie que la fenêtre est une barre de défilement verticale.

lpScrollInfo
Pointeur vers une SCROLLINFO structure. Pour plus d’informations sur cette structure, consultez le Kit de développement logiciel (SDK) Windows.

bRedraw
Spécifie si la barre de défilement doit être redessinée pour refléter la nouvelle position. Si bRedraw c’est TRUEle cas, la barre de défilement est redessinée. Si c’est FALSEle cas, il n’est pas redessiné. La barre de défilement est redessinée par défaut.

Valeur de retour

En cas de réussite, le retour est TRUE. Sinon, c’est FALSE.

Notes

La SCROLLINFO structure contient des informations sur une barre de défilement, y compris les positions minimales et maximales de défilement, la taille de la page et la position de la zone de défilement (le pouce). Pour plus d’informations sur la modification des valeurs par défaut de la structure, consultez la SCROLLINFO rubrique structure dans le Kit de développement logiciel (SDK) Windows.

Les gestionnaires de messages Windows MFC qui indiquent la position de la barre de défilement et CWnd::OnHScrollCWnd::OnVScrollfournissent uniquement 16 bits de données de position. GetScrollInfo et SetScrollInfo fournissent 32 bits de données de position de barre de défilement. Ainsi, une application peut appeler GetScrollInfo pendant le traitement CWnd::OnHScroll ou CWnd::OnVScroll pour obtenir des données de position de barre de défilement 32 bits.

Remarque

CWnd::GetScrollInfo permet aux applications d’utiliser des positions de barre de défilement 32 bits.

CWnd::SetScrollPos

Définit la position actuelle d’une zone de défilement et, si nécessaire, redessine la barre de défilement pour refléter la nouvelle position de la zone de défilement.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Paramètres

nBar
Spécifie la barre de défilement à définir. Ce paramètre peut être l’un des éléments suivants :

  • SB_HORZ Définit la position de la zone de défilement dans la barre de défilement horizontale de la fenêtre.

  • SB_VERT Définit la position de la zone de défilement dans la barre de défilement verticale de la fenêtre.

nPos
Spécifie la nouvelle position de la zone de défilement. Elle doit se trouver dans la plage de défilement.

bRedraw
Spécifie si la barre de défilement doit être repeinte pour refléter la nouvelle position de zone de défilement. Si ce paramètre est TRUE, la barre de défilement est réappeinte ; si FALSE, la barre de défilement n’est pas repeinte.

Valeur de retour

Position précédente de la zone de défilement.

Notes

La définition bRedraw est FALSE utile chaque fois que la barre de défilement sera redessinée par un appel ultérieur à une autre fonction.

CWnd::SetScrollRange

Définit les valeurs de position minimale et maximale de la barre de défilement donnée.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Paramètres

nBar
Spécifie la barre de défilement à définir. Ce paramètre peut être l’une des valeurs suivantes :

  • SB_HORZ Définit la plage de la barre de défilement horizontale de la fenêtre.

  • SB_VERT Définit la plage de la barre de défilement verticale de la fenêtre.

nMinPos
Spécifie la position minimale de défilement.

nMaxPos
Spécifie la position de défilement maximale.

bRedraw
Spécifie si la barre de défilement doit être redessinée pour refléter la modification. Si bRedraw c’est TRUEle cas, la barre de défilement est redessinée ; si FALSE, la barre de défilement n’est pas redessinée.

Notes

Il peut également être utilisé pour masquer ou afficher des barres de défilement standard.

Une application ne doit pas appeler cette fonction pour masquer une barre de défilement lors du traitement d’un message de notification de barre de défilement.

Si l’appel à suivre SetScrollRange immédiatement une appel à la SetScrollPos fonction membre, le bRedraw paramètre de la SetScrollPos fonction membre doit être égal à 0 pour empêcher la barre de défilement d’être dessinée deux fois.

La plage par défaut d’une barre de défilement standard est de 0 à 100. La plage par défaut d’un contrôle de barre de défilement est vide (les valeurs et nMaxPos les nMinPos valeurs sont 0). La différence entre les valeurs spécifiées par nMinPos et nMaxPos ne doit pas être supérieure à INT_MAX.

CWnd::SetTimer

Installe un minuteur système.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Paramètres

nIDEvent
Spécifie un identificateur de minuteur différent de zéro. Si l’identificateur du minuteur est unique, cette même valeur est retournée par SetTimer. Sinon, SetTimer détermine une nouvelle valeur unique et retourne cela. Pour un minuteur de fenêtre (qui a une NULL fonction de rappel), la valeur doit être unique uniquement pour les autres minuteurs windows associés à la fenêtre active. Pour un minuteur de rappel, la valeur doit être unique pour tous les minuteurs de tous les processus. Par conséquent, lorsque vous créez un minuteur de rappel, il est plus probable que la valeur retournée puisse différer de la valeur que vous spécifiez.

nElapse
Spécifie la valeur de délai d’attente ou l’intervalle, en millisecondes.

lpfnTimer
Spécifie l’adresse de la fonction de rappel fournie par TimerProc l’application qui traite les WM_TIMER messages. Si ce paramètre est NULLle cas, les WM_TIMER messages sont placés dans la file d’attente des messages de l’application et gérés par l’objet CWnd .

Valeur de retour

Identificateur du minuteur du nouveau minuteur si la fonction réussit. Cette valeur peut ou non être égale à la valeur transmise par le nIDEvent paramètre. Une application doit toujours transmettre la valeur de retour à la KillTimer fonction membre pour tuer le minuteur. Différent de zéro s’il réussit ; sinon, 0.

Notes

Une valeur d’intervalle est spécifiée, et chaque fois que l’intervalle s’est écoulé, le système publie un WM_TIMER message dans la file d’attente des messages d’installation de l’application d’installation ou transmet le message à une fonction de rappel définie par TimerProc l’application.

La lpfnTimer fonction de rappel n’a pas besoin d’être nommée TimerProc, mais elle doit être déclarée comme statique et définie comme suit.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Exemple

Cet exemple utilise CWnd::SetTimer, CWnd::OnTimeret CWnd::KillTimer pour gérer les WM_TIMER messages. Le premier minuteur est configuré pour envoyer un WM_TIMER message à la fenêtre de trame principale toutes les 2 secondes en OnStartTimer. Le OnTimer gestionnaire d’événements gère les WM_TIMER messages de la fenêtre frame principale. Cette méthode entraîne la bip de l’orateur PC toutes les 2 secondes. Le deuxième minuteur envoie un message à la fonction de rappel toutes les 3,75 secondes. OnStopTimer arrête les deux minuteurs en appelant CWnd::KillTimer chaque ID de minuteur.

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

Appelez cette fonction membre pour associer un identificateur de contexte d’aide à la fenêtre spécifiée.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Paramètres

dwContextHelpId
Identificateur de contexte d’aide.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Si une fenêtre enfant n’a pas d’identificateur de contexte d’aide, elle hérite de l’identificateur de sa fenêtre parente. De même, si une fenêtre détenue n’a pas d’identificateur de contexte d’aide, elle hérite de l’identificateur de sa fenêtre propriétaire. Cet héritage d’identificateurs de contexte d’aide permet à une application de définir un seul identificateur pour une boîte de dialogue et tous ses contrôles.

Exemple

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

Définit l'état d'affichage et les positions normale (restaurée), réduite et agrandie d'une fenêtre.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Paramètres

lpwndpl
Pointe vers une WINDOWPLACEMENT structure qui spécifie le nouvel état et les positions d’affichage.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

CWnd::SetWindowPos

Modifie la taille, la position et l’ordre Z des fenêtres enfants, contextuelles et de niveau supérieur.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Paramètres

pWndInsertAfter
Identifie l’objet CWnd qui précède (être supérieur à) cet CWnd objet dans l’ordre Z. Ce paramètre peut être un pointeur vers un CWnd ou un pointeur vers l’une des valeurs suivantes :

  • wndBottom Place la fenêtre en bas de l’ordre Z. S’il s’agit CWnd d’une fenêtre la plus haute, la fenêtre perd son état le plus élevé ; le système place la fenêtre en bas de toutes les autres fenêtres.

  • wndTop Place la fenêtre en haut de l’ordre Z.

  • wndTopMost Place la fenêtre au-dessus de toutes les fenêtres non supérieures. La fenêtre conserve sa position la plus haute, même lorsqu’elle est désactivée.

  • wndNoTopMost Repositionne la fenêtre en haut de toutes les fenêtres non supérieures (c’est-à-dire derrière toutes les fenêtres les plus hauts). Cet indicateur n’a aucun effet si la fenêtre est déjà une fenêtre non supérieure.

Pour connaître les règles relatives à l’utilisation de ce paramètre, consultez la section « Remarques » de cette rubrique.

x
Spécifie la nouvelle position du côté gauche de la fenêtre.

y
Spécifie la nouvelle position du haut de la fenêtre.

cx
Spécifie la nouvelle largeur de la fenêtre.

cy
Spécifie la nouvelle hauteur de la fenêtre.

nFlags
Spécifie les options de dimensionnement et de positionnement. Ce paramètre peut être une combinaison des indicateurs suivants :

  • SWP_DRAWFRAME Dessine un cadre (défini lors de la création de la fenêtre) autour de la fenêtre.

  • SWP_FRAMECHANGED Envoie un WM_NCCALCSIZE message à la fenêtre, même si la taille de la fenêtre n’est pas modifiée. Si cet indicateur n’est pas spécifié, WM_NCCALCSIZE il est envoyé uniquement lorsque la taille de la fenêtre est modifiée.

  • SWP_HIDEWINDOW Masque la fenêtre.

  • SWP_NOACTIVATE N’active pas la fenêtre. Si cet indicateur n’est pas défini, la fenêtre est activée et déplacée vers le haut du groupe le plus haut ou le groupe non supérieur (selon le paramètre pWndInsertAfter ).

  • SWP_NOCOPYBITSDis carte le contenu entier de la zone cliente. Si cet indicateur n’est pas spécifié, le contenu valide de la zone cliente est enregistré et copié dans la zone cliente une fois la fenêtre dimensionnée ou repositionnée.

  • SWP_NOMOVEConserve la position actuelle (ignore les paramètres et y les x paramètres).

  • SWP_NOOWNERZORDER Ne modifie pas la position de la fenêtre propriétaire dans l’ordre Z.

  • SWP_NOREDRAW Ne redessine pas les modifications. Si cet indicateur est défini, aucune peinture d’un type quelconque ne se produit. Cela s’applique à la zone cliente, à la zone non cliente (y compris les barres de titre et de défilement) et à toute partie de la fenêtre parente découverte suite à la fenêtre déplacée. Lorsque cet indicateur est défini, l’application doit invalider ou redessiner explicitement toutes les parties de la fenêtre et de la fenêtre parente qui doivent être redessinées.

  • SWP_NOREPOSITION Identique à SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Empêche la fenêtre de recevoir le WM_WINDOWPOSCHANGING message.

  • SWP_NOSIZEConserve la taille actuelle (ignore les paramètres et cy les cx paramètres).

  • SWP_NOZORDERConserve l’ordre actuel (ignoré).pWndInsertAfter

  • SWP_SHOWWINDOW Affiche la fenêtre.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon, 0.

Notes

Les fenêtres sont ordonnées sur l’écran en fonction de leur ordre Z ; la fenêtre située en haut de l’ordre Z apparaît en haut de toutes les autres fenêtres de l’ordre.

Toutes les coordonnées des fenêtres enfants sont des coordonnées client (par rapport au coin supérieur gauche de la zone cliente de la fenêtre parente).

Une fenêtre peut être déplacée en haut de l’ordre Z en définissant le pWndInsertAfter paramètre &wndTopMost sur et en veillant à ce que l’indicateur SWP_NOZORDER ne soit pas défini ou en définissant l’ordre Z d’une fenêtre afin qu’elle se trouve au-dessus de toutes les fenêtres les plus grandes existantes. Lorsqu’une fenêtre non la plus haute est la plus haute, ses fenêtres détenues sont également les plus haut. Ses propriétaires ne sont pas modifiés.

Une fenêtre la plus haute n’est plus la plus haute si elle est repositionnée en bas (&wndBottom) de l’ordre Z ou après une fenêtre non supérieure. Lorsqu’une fenêtre la plus haute est faite non supérieure, tous ses propriétaires et ses fenêtres détenues sont également faits de fenêtres non supérieures.

Si aucun SWP_NOACTIVATE n’est SWP_NOZORDER spécifié (autrement dit, lorsque l’application demande qu’une fenêtre soit activée simultanément et placée dans l’ordre Z spécifié), la valeur spécifiée est pWndInsertAfter utilisée uniquement dans les circonstances suivantes :

  • Ni n’est &wndTopMost&wndNoTopMost spécifié dans le pWndInsertAfter paramètre.

  • Cette fenêtre n’est pas la fenêtre active.

Une application ne peut pas activer une fenêtre inactive sans l’amener en haut de l’ordre Z. Les applications peuvent modifier l’ordre Z d’une fenêtre activée sans restrictions.

Une fenêtre non la plus haute peut posséder une fenêtre la plus haute, mais pas inversement. Toute fenêtre (par exemple, une boîte de dialogue) appartenant à une fenêtre la plus haute est elle-même constituée d’une fenêtre la plus haute pour s’assurer que toutes les fenêtres détenues restent au-dessus de leur propriétaire.

Avec windows versions 3.1 et ultérieures, les fenêtres peuvent être déplacées en haut de l’ordre Z et verrouillées là-bas en définissant leurs WS_EX_TOPMOST styles. Une telle fenêtre la plus haute conserve sa position la plus haute, même lorsqu’elle est désactivée. Par exemple, la sélection de la commande WinHelp Always On Top rend la fenêtre d’aide la plus haute, puis reste visible lorsque vous revenez à votre application.

Pour créer une fenêtre la plus haute, appelez SetWindowPos avec le pWndInsertAfter paramètre égal à &wndTopMost, ou définissez le WS_EX_TOPMOST style lorsque vous créez la fenêtre.

Si l’ordre Z contient des fenêtres avec le WS_EX_TOPMOST style, une fenêtre déplacée avec la &wndTopMost valeur est placée en haut de toutes les fenêtres non supérieures, mais sous toutes les fenêtres les plus hauts. Lorsqu’une application active une fenêtre inactive sans le WS_EX_TOPMOST bit, la fenêtre est déplacée au-dessus de toutes les fenêtres non supérieures, mais sous toutes les fenêtres les plus grandes.

Si SetWindowPos elle est appelée lorsque le pWndInsertAfter paramètre est &wndBottom et CWnd est une fenêtre la plus haute, la fenêtre perd son état le plus haut (WS_EX_TOPMOST est effacé) et le système place la fenêtre en bas de l’ordre Z.

Exemple

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

Appelez cette fonction membre pour définir la région d’une fenêtre.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Paramètres

hRgn
Handle vers une région.

bRedraw
Si TRUE, le système d’exploitation redessine la fenêtre après avoir défini la région ; sinon, il ne le fait pas. En règle générale, définissez bRedrawTRUE la valeur si la fenêtre est visible. Si la valeur est définieTRUE, le système envoie les messages et WM_WINDOWPOSCHANGED les WM_WINDOWPOSCHANGING messages à la fenêtre.

Valeur de retour

Si la fonction réussit, la valeur de retour est différente de zéro. Si la fonction échoue, la valeur de retour est égale à zéro.

Notes

Les coordonnées de la zone de fenêtre d’une fenêtre sont relatives au coin supérieur gauche de la fenêtre, et non à la zone cliente de la fenêtre.

Après un appel réussi, SetWindowRgnle système d’exploitation possède la région spécifiée par le handle hRgnde région. Le système d’exploitation n’effectue pas de copie de la région. Par conséquent, n’effectuez pas d’appels de fonction supplémentaires avec ce handle de région et ne fermez pas ce handle de région.

CWnd::SetWindowText

Définit le titre de la fenêtre sur le texte spécifié.

void SetWindowText(LPCTSTR lpszString);

Paramètres

lpszString
Pointe vers un CString objet ou une chaîne terminée par null à utiliser comme nouveau texte de titre ou de contrôle.

Notes

Si la fenêtre est un contrôle, le texte du contrôle est défini.

Cette fonction provoque l’envoi d’un WM_SETTEXT message à cette fenêtre.

Exemple

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

Affiche le caret à l’écran à la position actuelle du point de vue.

void ShowCaret();

Notes

Une fois affiché, le caret se met à clignoter automatiquement.

La ShowCaret fonction membre affiche le signet uniquement s’il a une forme actuelle et n’a pas été masqué deux fois ou plus consécutivement. Si le caret n’appartient pas à cette fenêtre, la touche n’est pas affichée.

Le masquage du caret est cumulatif. Si la HideCaret fonction membre a été appelée cinq fois consécutivement, ShowCaret elle doit être appelée cinq fois pour afficher la touche.

Le caret est une ressource partagée. La fenêtre doit afficher le point d’insertion uniquement lorsqu’elle a le focus d’entrée ou qu’elle est active.

Exemple

Consultez l’exemple pour CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Affiche ou masque toutes les fenêtres contextuelles appartenant à cette fenêtre.

void ShowOwnedPopups(BOOL bShow = TRUE);

Paramètres

bShow
Spécifie si les fenêtres contextuelles doivent être affichées ou masquées. Si ce paramètre est TRUE, toutes les fenêtres contextuelles masquées sont affichées. Si ce paramètre est FALSE, toutes les fenêtres contextuelles visibles sont masquées.

Exemple

Consultez l’exemple pour CWnd::SetWindowPos.

CWnd::ShowScrollBar

Affiche ou masque une barre de défilement.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Paramètres

nBar
Spécifie si la barre de défilement est un contrôle ou une partie de la zone non cliente d’une fenêtre. S’il fait partie de la zone non cliente, nBar indique également si la barre de défilement est positionnée horizontalement, verticalement ou les deux. Il doit s’agir de l’un des éléments suivants :

  • SB_BOTH Spécifie les barres de défilement horizontales et verticales de la fenêtre.

  • SB_HORZ Spécifie que la fenêtre est une barre de défilement horizontale.

  • SB_VERT Spécifie que la fenêtre est une barre de défilement verticale.

bShow
Spécifie si Windows affiche ou masque la barre de défilement. Si ce paramètre est TRUE, la barre de défilement est affichée ; sinon, la barre de défilement est masquée.

Notes

Une application ne doit pas appeler ShowScrollBar pour masquer une barre de défilement lors du traitement d’un message de notification de barre de défilement.

CWnd::ShowWindow

Définit l’état de visibilité de la fenêtre.

BOOL ShowWindow(int nCmdShow);

Paramètres

nCmdShow
Spécifie la façon dont le CWnd mode d’affichage doit être affiché. Il doit s’agir de l’une des valeurs suivantes :

  • SW_HIDE Masque cette fenêtre et passe l’activation à une autre fenêtre.

  • SW_MINIMIZE Réduit la fenêtre et active la fenêtre de niveau supérieur dans la liste du système.

  • SW_RESTORE Active et affiche la fenêtre. Si la fenêtre est réduite ou agrandie, Windows le restaure à sa taille et sa position d’origine.

  • SW_SHOW Active la fenêtre et l’affiche dans sa taille et sa position actuelles.

  • SW_SHOWMAXIMIZED Active la fenêtre et l’affiche sous forme de fenêtre agrandie.

  • SW_SHOWMINIMIZED Active la fenêtre et l’affiche sous forme d’icône.

  • SW_SHOWMINNOACTIVE Affiche la fenêtre sous forme d’icône. La fenêtre actuellement active reste active.

  • SW_SHOWNA Affiche la fenêtre dans son état actuel. La fenêtre actuellement active reste active.

  • SW_SHOWNOACTIVATE Affiche la fenêtre dans sa taille et sa position les plus récentes. La fenêtre actuellement active reste active.

  • SW_SHOWNORMAL Active et affiche la fenêtre. Si la fenêtre est réduite ou agrandie, Windows le restaure à sa taille et sa position d’origine.

Valeur de retour

Différent de zéro si la fenêtre était précédemment visible ; 0 si la valeur CWnd était précédemment masquée.

Notes

ShowWindow doit être appelé une seule fois par application pour la fenêtre principale avec CWinApp::m_nCmdShow. Les appels suivants doivent ShowWindow utiliser l’une des valeurs répertoriées ci-dessus au lieu de celle spécifiée par CWinApp::m_nCmdShow.

Exemple

Consultez l’exemple pour CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Appelez cette fonction membre pour « sous-classe dynamique » un contrôle créé à partir d’un modèle de boîte de dialogue et attachez-le à cet CWnd objet.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Paramètres

nID
ID du contrôle.

pParent
Parent du contrôle (généralement une boîte de dialogue).

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Lorsqu’un contrôle est sous-classé dynamiquement, les messages Windows sont acheminés par le biais de la CWndcarte de messages et appellent les gestionnaires de messages de la CWndclasse en premier. Les messages passés à la classe de base sont transmis au gestionnaire de messages par défaut dans le contrôle.

Cette fonction membre attache le contrôle Windows à un CWnd objet et remplace les fonctions et AfxWndProc les fonctions du WndProc contrôle. La fonction stocke l’ancienne WndProc à l’emplacement retourné par la GetSuperWndProcAddr fonction membre.

Exemple

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

Appelez cette fonction membre pour « sous-classe dynamique » une fenêtre et attachez-la à cet CWnd objet.

BOOL SubclassWindow(HWND hWnd);

Paramètres

hWnd
Handle vers la fenêtre.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Lorsqu’une fenêtre est sous-classée dynamiquement, les messages windows sont acheminés via le CWndmappage des messages et appellent les gestionnaires de messages de la CWndclasse en premier. Les messages passés à la classe de base sont transmis au gestionnaire de messages par défaut dans la fenêtre.

Cette fonction membre attache le contrôle Windows à un CWnd objet et remplace les fonctions et AfxWndProc les fonctions de WndProc la fenêtre. La fonction stocke un pointeur vers l’ancien WndProc de l’objet CWnd .

Remarque

La fenêtre ne doit pas déjà être attachée à un objet MFC lorsque cette fonction est appelée.

Exemple

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

Appelez cette fonction membre pour déverrouiller une fenêtre verrouillée avec CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Notes

Une seule fenêtre à la fois peut être verrouillée à l’aide LockWindowUpdatede . Consultez CWnd::LockWindowUpdate ou la fonction LockWindowUpdate Win32 pour plus d’informations sur le verrouillage des fenêtres.

CWnd::UnsubclassWindow

Appelez cette fonction membre pour WndProc revenir à sa valeur d’origine et détacher la fenêtre identifiée par HWND de l’objet CWnd .

HWND UnsubclassWindow();

Valeur de retour

Handle de la fenêtre non classifiée.

Exemple

Consultez l’exemple pour CWnd::SubclassWindow.

CWnd::UpdateData

Appelez cette fonction membre pour initialiser des données dans une boîte de dialogue ou pour récupérer et valider des données de boîte de dialogue.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Paramètres

bSaveAndValidate
Indicateur qui indique si la boîte de dialogue est initialisée (FALSE) ou si les données sont récupérées (TRUE).

Valeur de retour

Différent de zéro si l’opération réussit ; sinon 0. Si bSaveAndValidate c’est TRUEle cas, une valeur de retour différente de zéro signifie que les données sont correctement validées.

Notes

L’infrastructure appelle UpdateData automatiquement avec bSaveAndValidate la valeur définie FALSE lorsqu’une boîte de dialogue modale est créée dans l’implémentation par défaut de CDialog::OnInitDialog. L’appel se produit avant que la boîte de dialogue soit visible. L’implémentation par défaut des appels de CDialog::OnOK cette fonction membre avec bSaveAndValidate la valeur définie pour TRUE récupérer les données et, si elle réussit, ferme la boîte de dialogue. (Si le bouton Annuler est cliqué dans la boîte de dialogue, la boîte de dialogue est fermée sans que les données soient récupérées.)

CWnd::UpdateDialogControls

Appelez cette fonction membre pour mettre à jour l’état des boutons de boîte de dialogue et d’autres contrôles dans une boîte de dialogue ou une fenêtre qui utilise le mécanisme de ON_UPDATE_COMMAND_UI rappel.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Paramètres

pTarget
Pointe vers la fenêtre de trame principale de l’application et est utilisée pour le routage des messages de mise à jour.

bDisableIfNoHndler
Indicateur qui indique si un contrôle qui n’a pas de gestionnaire de mise à jour doit être affiché automatiquement comme désactivé.

Notes

Si un contrôle enfant n’a pas de gestionnaire et bDisableIfNoHndler est TRUE, le contrôle enfant est désactivé.

L’infrastructure appelle cette fonction membre pour les contrôles dans les barres de dialogue ou les barres d’outils dans le cadre du traitement inactif de l’application.

CWnd::UpdateLayeredWindow

Met à jour la position, la taille, la forme, le contenu et la transparence d'une fenêtre superposée.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Paramètres

pDCDst
Pointeur vers un contexte d’appareil pour l’écran. Il est utilisé pour la mise à jour des couleurs de palette lorsque le contenu de la fenêtre est mis à jour. Si pDCDst c’est NULLle cas, la palette par défaut sera utilisée.

Si pDCSrc c’est NULLle cas, pDCDst doit être NULL.

pptDst
Pointeur vers une POINT structure spécifiant la nouvelle position de l’écran de la fenêtre superposée. Si la position actuelle ne change pas, pptDst peut être NULL.

psize
Pointeur vers une SIZE structure qui spécifie la nouvelle taille de la fenêtre superposée. Si la taille de la fenêtre ne change pas, psize peut être NULL.

Si pDCSrc c’est NULLle cas, psize doit être NULL.

pDCSrc
Pointeur vers un contrôleur de domaine pour la surface qui définit la fenêtre superposée. Si la forme et le contexte visuel de la fenêtre ne changent pas, pDCSrc il peut s’agir NULLde .

pptSrc
Pointeur vers une POINT structure qui spécifie l’emplacement de la couche dans le contexte de l’appareil.

Si pDCSrc c’est NULLle cas, pptSrc doit être NULL.

crKey
Pointeur vers une COLORREF valeur qui spécifie la clé de couleur de transparence à utiliser lors de la composition de la fenêtre superposée. Tous les pixels peints par la fenêtre de cette couleur seront transparents. Pour générer un COLORREF, utilisez la macro RVB.

pblend
Pointeur vers une BLENDFUNCTION structure qui spécifie la valeur de transparence à utiliser lors de la composition de la fenêtre superposée.

dwFlags
Spécifie une action à entreprendre. Ce paramètre peut être une ou plusieurs des valeurs suivantes. Pour obtenir la liste des valeurs possibles, consultez UpdateLayeredWindow.

Valeur de retour

Différent de zéro si la fonction réussit ; sinon 0.

Notes

Cette fonction membre émule les fonctionnalités de la fonction UpdateLayeredWindow, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CWnd::UpdateWindow

Mises à jour la zone cliente en envoyant un WM_PAINT message si la région de mise à jour n’est pas vide.

void UpdateWindow();

Notes

La UpdateWindow fonction membre envoie directement un WM_PAINT message en contournant la file d’attente de l’application. Si la région de mise à jour est vide, WM_PAINT n’est pas envoyée.

Exemple

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

Valide la zone cliente dans le rectangle donné en supprimant le rectangle de la région de mise à jour de la fenêtre.

void ValidateRect(LPCRECT lpRect);

Paramètres

lpRect
Pointe vers un objet ou RECT une CRect structure qui contient les coordonnées clientes du rectangle à supprimer de la région de mise à jour. Si lpRect c’est NULLle cas, la fenêtre entière est validée.

Notes

La BeginPaint fonction membre valide automatiquement l’ensemble de la zone cliente. Ni la ValidateRectValidateRgn fonction membre ne doit être appelée si une partie de la région de mise à jour doit être validée avant WM_PAINT la prochaine génération.

Windows continue de générer des WM_PAINT messages jusqu’à ce que la région de mise à jour actuelle soit validée.

CWnd::ValidateRgn

Valide la zone cliente dans la région donnée en supprimant la région de mise à jour actuelle de la fenêtre.

void ValidateRgn(CRgn* pRgn);

Paramètres

pRgn
Pointeur vers un CRgn objet qui identifie une région qui définit la zone à supprimer de la région de mise à jour. Si ce paramètre est NULLle cas, la zone cliente entière est supprimée.

Notes

La région donnée doit avoir été créée précédemment par une fonction de région. Les coordonnées de région sont supposées être des coordonnées du client.

La BeginPaint fonction membre valide automatiquement l’ensemble de la zone cliente. Ni la ValidateRectValidateRgn fonction membre ne doit être appelée si une partie de la région de mise à jour ne doit pas être validée avant la génération du message suivant WM_PAINT .

CWnd::WindowFromPoint

Récupère la fenêtre qui contient le point spécifié ; point doit spécifier les coordonnées d’écran d’un point sur l’écran.

static CWnd* PASCAL WindowFromPoint(POINT point);

Paramètres

point
Spécifie un objet ou POINT une CPoint structure de données qui définit le point à case activée.

Valeur de retour

Pointeur vers l’objet fenêtre dans lequel se trouve le point. C’est NULL si aucune fenêtre n’existe au point donné. Le pointeur retourné peut être temporaire et ne doit pas être stocké pour une utilisation ultérieure.

Notes

WindowFromPoint ne récupère pas de fenêtre masquée ou désactivée, même si le point se trouve dans la fenêtre. Une application doit utiliser la ChildWindowFromPoint fonction membre pour une recherche non réductrice.

CWnd::WindowProc

Fournit une procédure Windows (WindowProc) pour un CWnd objet.

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

Paramètres

message
Spécifie le message Windows à traiter.

wParam
Fournit des informations supplémentaires utilisées dans le traitement du message. La valeur du paramètre dépend du message.

lParam
Fournit des informations supplémentaires utilisées dans le traitement du message. La valeur du paramètre dépend du message.

Valeur de retour

La valeur de retour dépend du message.

Notes

Il répartit les messages via la carte des messages de la fenêtre.

CWnd::WinHelp

Appelé pour lancer l'application WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Paramètres

dwData
Spécifie des données supplémentaires. La valeur utilisée dépend de la valeur du nCmd paramètre.

nCmd
Spécifie le type d’aide demandée. Pour obtenir la liste des valeurs possibles et leur impact sur le dwData paramètre, consultez la WinHelp fonction Windows dans le Kit de développement logiciel (SDK) Windows.

Notes

Consultez la rubrique CWinApp::WinHelp (éventuellement en anglais) pour plus d'informations.

CWnd::RegisterTouchWindow

Inscrit ou annule l’inscription de la prise en charge tactile de Windows.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Paramètres

bRegister
TRUE indique l’inscription de la prise en charge tactile de Windows ; FALSE Sinon.

ulFlags
Ensemble d’indicateurs de bits qui spécifient des modifications facultatives. Ce champ peut contenir 0 ou l’une des valeurs suivantes : TWF_FINETOUCH, TWF_WANTPALM.

Valeur de retour

TRUE en cas de réussite ; sinon, FALSE.

Notes

CWnd::ResizeDynamicLayout

Appelé par l'infrastructure quand la taille de fenêtre change pour ajuster la disposition des fenêtres enfants, si la disposition dynamique est activée pour la fenêtre.

virtual void ResizeDynamicLayout();

Notes

Voir aussi

CCmdTarget Classe
Graphique hiérarchique
CFrameWnd Classe
CView Classe