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 On Message 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.INI modifié. |
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 dumessage CWnd
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
, , CMDIFrameWnd
CMDIChildWnd
, CView
et 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
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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::accLocation
renvoyées dans le Kit de développement logiciel (SDK) Windows.
Notes
Remplacez cette fonction dans votre CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 Invalidate
fonctions , InvalidateRect
ou 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 DataSource
UserName
Password
contrô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_VARIANT
et 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 coche en regard) ou efface (supprime une coche 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 coche en regard du bouton ; si 0, la coche 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 coche à) une case d’option donnée dans un groupe et efface (supprime une coche 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 à vérifier.
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 :
Valeur | 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 CPoint
CRect
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
Valeur | 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 CRect
RECT
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 NULL
le cas, il doit s’agir d’un pointeur vers un CFile
objet 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 uneBorderStyle
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 leWS_GROUP
style après le premier contrôle appartiennent au même groupe. Le contrôle suivant avec leWS_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 duWS_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
.
DestroyWindow
est un espace réservé pour effectuer le nettoyage. Étant donné qu’il DestroyWindow
s’agit d’une fonction virtuelle, elle est affichée dans n’importe quelle CWnd
classe dérivée dans la vue de classe. Mais même si vous remplacez cette fonction dans votre CWnd
classe 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 CView
classe dérivée de -. Étant donné que le code source MFC n’appelle DestroyWindow
aucune de ses CFrameWnd
classes 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_POSTMSGS
LB_DIR
drapeau. Si l’indicateurLB_DIR
est défini, Windows place les messages générés dansDlgDirList
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’indicateurDDL_DRIVES
est défini, l’indicateurDDL_EXCLUSIVE
est défini automatiquement. Par conséquent, pour créer une liste de répertoires incluant des lecteurs et des fichiers, vous devez appelerDlgDirList
deux fois : une fois avec l’indicateurDDL_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_RESETCONTENT
LB_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
d’un nom de répertoire valide et filename
d’un nom de fichier valide qui doit contenir au moins un caractère générique. Les caractères génériques 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_POSTMSGS
CB_DIR
drapeau. Si l’indicateurCB_DIR
est défini, Windows place les messages générés dansDlgDirListComboBox
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’indicateurDDL_DRIVES
est défini, l’indicateurDDL_EXCLUSIVE
est défini automatiquement. Par conséquent, pour créer une liste de répertoires incluant des lecteurs et des fichiers, vous devez appelerDlgDirListComboBox
deux fois : une fois avec l’indicateurDDL_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_RESETCONTENT
CB_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
d’un nom de répertoire valide et filename
d’un nom de fichier valide qui doit contenir au moins un caractère générique. Les caractères génériques 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_GETCURSEL
LB_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_GETCURSEL
CB_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 CDialog
dialogue 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 DDX (Dialog Data Exchange) et validation (DDV).
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/DDV 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 DDV_ 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_DROPFILES
Windows. 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 FALSE
sur .
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 légende de la fenêtre s’anime 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 légende de fenêtre.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Paramètres
pDC
Pointeur vers un contexte de périphérique. La fonction dessine la légende de la fenêtre dans ce contexte d’appareil.
lprc
Pointeur vers une RECT
structure qui spécifie le rectangle englobant pour la légende de la fenêtre.
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 CWnd
classe 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 CFrameWnd
de . 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 les conseils de l’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 TRUE
le cas, les conseils de l’outil de suivi sont activés. Si ce paramètre est FALSE
le 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 TRUE
le cas, la fenêtre est activée. Si ce paramètre est FALSE
le 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 retournent le handle de ressource actuel pour l’exécutable. Si votre application MFC qui utilise MFCx0[U][D].DLL, AfxFindResourceHandle
parcourez 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 PreTranslateMessage
EnableToolTips
vous 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 d’info-bulles.
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 NULL
le 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 NULL
le 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 RegisterClass
RegisterClassEx
.
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 FALSE
le 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 légende de la fenêtre a été dessinée comme active avant l’appel, la valeur de retour est différente de zéro. 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 valeurs IAccessible::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 CWnd
classe 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 coché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 cochée 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_OWNDC
ou 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_CACHE
Retourne un contexte d’appareil à partir du cache plutôt que de la fenêtre ouCLASSDC
de laOWNDC
fenêtre. RemplaceCS_OWNDC
etCS_CLASSDC
.DCX_CLIPCHILDREN
Exclut les régions visibles de toutes les fenêtres enfants sous laCWnd
fenêtre.DCX_CLIPSIBLINGS
Exclut les régions visibles de toutes les fenêtres frères au-dessus de laCWnd
fenêtre.DCX_EXCLUDERGN
Exclut la région de découpage identifiée parprgnClip
la région visible du contexte de l’appareil retourné.DCX_INTERSECTRGN
Croise la région de découpage identifiée parprgnClip
la région visible du contexte de l’appareil retourné.DCX_LOCKWINDOWUPDATE
Autorise le dessin même s’il existe unLockWindowUpdate
appel en vigueur qui exclurait autrement cette fenêtre. Cette valeur est utilisée pour dessiner pendant le suivi.DCX_PARENTCLIP
Utilise la région visible de la fenêtre parente et ignore les bits de style etWS_PARENTDC
deWS_CLIPCHILDREN
la fenêtre parente. Cette valeur définit l’origine du contexte de l’appareil dans le coin supérieur gauche de laCWnd
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_OWNDC
ou 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 NULL
pas 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 TRUE
le cas, GetDlgItemInt
recherche un signe moins (-) au début du texte et traduit le texte en 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 DataSource
propriétés , UserName
et Password
SQL 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 NULL
CWnd
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 NULL
le 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 NULL
simplement . 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. Lem_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_POS
SIF_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 FALSE
le 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 TRUE
le 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 TRUE
le 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::AppendMenu
ou CMenu::InsertMenu
CMenu::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_MOVE
et 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 CFrameWnd
objet 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 NULL
le 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 NULL
sur , 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 laCWnd
première fenêtre enfant.GW_HWNDFIRST
S’ilCWnd
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’ilCWnd
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 leCWnd
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, y compris la barre de légende, les menus et les 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_SHOWMAXIMIZED
WINDOWPLACEMENT
. 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 titre de CWnd
légende (s’il en a un) dans la mémoire tampon pointée vers lpszStringBuf
ou dans la chaîne rString
de 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é, nMaxCount
elle 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 s’agit de 0 s’il CWnd
n’a aucune légende ou si la 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 la 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 du titre de la légende de l’objet CWnd
.
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_HILITE
MF_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_BYCOMMAND
nIDHiliteItem
Interprète comme ID d’élément de menu (interprétation par défaut).MF_BYPOSITION
nIDHiliteItem
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 TRUE
le cas, l’arrière-plan est effacé lorsque la BeginPaint
fonction membre est appelée ; si bErase
c’est FALSE
le 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 NULL
le 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 TRUE
le cas, l’arrière-plan est effacé lorsque la BeginPaint
fonction membre est appelée ; si bErase
c’est FALSE
le 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 NULL
le 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 TRUE
le cas, l’arrière-plan est effacé lorsque la BeginPaint
fonction membre est appelée ; si bErase
c’est FALSE
le 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 à vérifier.
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 recherche 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 bouton a une coche 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 activé et 0 s’il n’est pas vérifié. Seules les cases d’option et les cases à cocher peuvent être cochées. 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 si elle est grisée, cochée ou non.
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 GetDC
fonction , GetDCEx
ou 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 NULL
le 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 et une légende fournis par l’application, ainsi qu’une combinaison des icônes et des boutons push prédéfinis 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 légende de la zone de message. Si lpszCaption
c’est NULL
le 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 :
Icône | Macro |
---|---|
MB_ICONHAND , MB_ICONSTOP et MB_ICONERROR |
|
MB_ICONQUESTION | |
MB_ICONEXCLAMATION et MB_ICONWARNING | |
MB_ICONASTERISK et MB_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 FALSE
le 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 TRUE
le cas, dwThreadID
identifie le thread propriétaire de l’objet CWnd
désactivé. Si bActive
c’est FALSE
le 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
sinon.
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é parnUIElement
) doit être masqué.UIS_INITIALIZE
L’élément d’état de l’interface utilisateur (spécifié parnUIElement
) doit être modifié en fonction du dernier événement d’entrée. Pour plus d’informations, consultez la section Remarques deWM_CHANGEUISTATE
.UIS_SET
L’élément d’état de l’interface utilisateur (spécifié parnUIElement
) 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 :
Valeur | 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 DestroyWindow
par 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 :
Valeur | 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. OnCreate
est 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 boutonCTLCOLOR_DLG
Boîte de dialogueCTLCOLOR_EDIT
Modifier le contrôleCTLCOLOR_LISTBOX
Contrôle de zone de listeCTLCOLOR_MSGBOX
Boîte de messageCTLCOLOR_SCROLLBAR
Contrôle de barre de défilementCTLCOLOR_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-en un avec un CComboBox
remplacement de OnCtlColor
cette vérification CTLCOLOR_LISTBOX
dans 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 :
Valeur | 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 | Aucun affichage. |
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::ResetContent
CListBox::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 :
DBT_DEVICEARRIVAL
Un appareil a été inséré et est désormais disponible.DBT_DEVICEQUERYREMOVE
L’autorisation de supprimer un appareil est demandée. Toute application peut refuser cette demande et annuler la suppression.DBT_DEVICEQUERYREMOVEFAILED
La demande de suppression d’un appareil a été annulée.DBT_DEVICEREMOVEPENDING
L’appareil est sur le point d’être supprimé. Impossible de refuser.DBT_DEVICEREMOVECOMPLETE
L’appareil a été supprimé.DBT_DEVICETYPESPECIFIC
Événement spécifique à l’appareil.DBT_CONFIGCHANGED
La configuration actuelle a changé.DBT_DEVNODES_CHANGED
Le nœud d’appareil 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::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 FALSE
le 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 TRUE
le 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_CLIENT
des 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 CButton
objet , ou CMenu
CListBox
CComboBox, 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 DragFinish
fonctions , DragQueryFile
et 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 TRUE
le 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 nWhy
MSGF_DIALOGBOX
échéant) ou la fenêtre qui contient le menu affiché (le cas échéant nWhy
MSGF_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_HASSETSEL
EM_SETSEL
Messages.DLGC_UNDEFPUSHBUTTON
Aucun traitement pushbutton par défaut. (Une application peut utiliser cet indicateurDLGC_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_WANTCHARS
WM_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 lenPos
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 lenPos
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 dansnPos
.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_THUMBPOSITION
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::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 :
Valeur | 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 | Aucun affichage. |
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 OnKeyDown
OnKeyUp
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 :
Valeur | 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 | Aucun affichage. |
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 diverses clés virtuelles sont enfoncées. 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_DBLCLKS
WNDCLASS
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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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_DBLCLKS
WNDCLASS
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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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 OnMDIActivate
WM_NCACTIVATE
message pour dessiner un cadre de fenêtre actif et une barre de légende, 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 CListBox
CComboBox
un CMenu
objet, 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.
OnMeasureItem
sera 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
, SubclassDlgItem
ou 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 :
Valeur | Description |
---|---|
0 | Indique à Windows d’ignorer le caractère que l’utilisateur a appuyé 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 d’ordre é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_CHECKED
L’élément est activé.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 l’événement CWnd
de souris et s’il faut ignorer l’événement de souris. Il doit s’agir de l’une des valeurs suivantes :
MA_ACTIVATE
Activez l’objetCWnd
.MA_NOACTIVATE
N’activezCWnd
pas l’objet.MA_ACTIVATEANDEAT
Activez l’objet et ignorezCWnd
l’événement de souris.MA_NOACTIVATEANDEAT
N’activez pas l’objetCWnd
et ignorez 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 une rotation de la molette vers la droite ; une valeur négative indique une rotation de la molette 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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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 de légende ou une icône 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 ou d’une icône inactive.
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 de légende ou de l’icône.
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.bActive
FALSE
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, la 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 un nettoyage, puis appelle la fonction PostNcDestroy
membre virtuelle.
Remplacez PostNcDestroy
si vous souhaitez effectuer votre propre nettoyage, 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 rubriques de contrôle et TN062, réflexion des messages 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 nCommand
NF_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 dansWM_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 à laNF_REQUERY
forme de ce message.NF_REQUERY
- Le message est une demande de contrôle pour envoyer leNF_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 dansWM_NOTIFY
les messages. Si lenCommand
paramètre estNF_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 est de la responsabilité d’une application de vérifier si une mise à jour interne ou une mise à jour interne nécessaire s’effectue 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’ensemble RDW_INTERNALPAINT
d’indicateurs.
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 message
WM_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
OnQueryOpen
Dans , 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
afin que le système puisse effectuer le nettoyage. 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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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 diverses clés virtuelles sont enfoncées. 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_RESTORED
La fenêtre a été redimensionnée, mais niSIZE_MAXIMIZED
neSIZE_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 OnSize
de 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 glissement 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_SYSKEYUP
WM_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 :
Valeur | 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’objetCWnd
.SC_HOTKEY
Activez l’objetCWnd
associé à la clé chaude spécifiée par l’application. Mot de bas ordre d’identificationlParam
HWND
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
(ouSC_ZOOM
) Agrandissez l’objetCWnd
.SC_MINIMIZE
(ouSC_ICON
) Réduisez l’objetCWnd
.SC_MOUSEMENU
Récupérez un menu par le biais d’un clic de souris.SC_MOVE
Déplacez l’objetCWnd
.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] duSYSTEM.INI
fichier.SC_SIZE
Dimensionner l’objetCWnd
.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 delParam
la fenêtre à activer.SC_SCREENSAVE
Exé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 nID
l’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 InsertMenu
ModifyMenu
les GetSystemMenu
fonctions. 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 :
Valeur | 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 | Aucun affichage. |
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 :
Valeur | 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 | Aucun affichage. |
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 vérifiant 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 :
Valeur | 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 | Aucun affichage. |
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 vérifiant 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 :
Séquence | 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éé.IDCLOSE
L’utilisateur a fermé la 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 pouvant être créé.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. LedwActionData
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_CALLER
Une autre application a demandé des cartes 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 carte de formation avec l’aide de Windows. Une application lance une carte d’entraînement 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_BROADCAST
sur .
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êtreuId
=(UINT)hWndChild
Gérer vers une fenêtre enfantuFlags
|=TTF_IDISHWND
Handle of the toollpszText
=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 TOOLINFO
le 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é parnUIElement
) doit être masqué.UIS_INITIALIZE
L’élément d’état de l’interface utilisateur (spécifié parnUIElement
) doit être modifié en fonction du dernier événement d’entrée. Pour plus d’informations, consultez la section Remarques deWM_UPDATEISTATE
.UIS_SET
L’élément d’état de l’interface utilisateur (spécifié parnUIElement
) 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 pas 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 dansnPos
.SB_THUMBTRACK
Faites glisser la zone de défilement vers la position spécifiée. La position actuelle est fournie dansnPos
.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 dansnPos
.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_BROADCAST
sur .
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 vérifier 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épercutés.
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 le nettoyage personnalisé, par exemple 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 cs
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.
N’appelez jamais cette fonction directement.
L’implémentation par défaut de cette fonction recherche 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 unWM_ERASEBKGND
message à la fenêtre.Si
PRF_CLIENT
elle est spécifiée, envoyez unWM_PRINTCLIENT
message à la fenêtre.Si
PRF_CHILDREN
elle est définie, envoyez à chaque fenêtre enfant visible unWM_PRINT
message.Si
PRF_OWNED
elle est définie, envoyez à chaque fenêtre appartenant visible unWM_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
Met à 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’unWM_ERASEBKGND
message lorsque la fenêtre est repeinte. L’indicateurRDW_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 unWM_NCPAINT
message. L’indicateurRDW_INVALIDATE
doit également être spécifié ; sinonRDW_FRAME
, il n’a aucun effet.RDW_INTERNALPAINT
Provoque la publication d’unWM_PAINT
message dans la fenêtre, que la fenêtre contienne une région non valide.RDW_INVALIDATE
InvaliderlpRectUpdate
ouprgnUpdate
(un seul peut ne pasNULL
être). Si les deux sontNULL
, 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 attenteWM_ERASEBKGND
.RDW_NOFRAME
Supprime les messages en attenteWM_NCPAINT
. Cet indicateur doit être utilisé avecRDW_VALIDATE
et est généralement utilisé avecRDW_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 internesWM_PAINT
en attente. Cet indicateur n’affecte pas lesWM_PAINT
messages résultant de zones non valides.RDW_VALIDATE
lpRectUpdate
Valide ouprgnUpdate
(un seul peut ne pasNULL
être). Si les deux sontNULL
, la fenêtre entière est validée. Cet indicateur n’affecte pas les messages internesWM_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_ERASENOW
Provoque la réceptionWM_NCPAINT
etWM_ERASEBKGND
les messages des fenêtres affectées (comme spécifiés par lesRDW_ALLCHILDREN
RDW_NOCHILDREN
indicateurs) avant que la fonction ne retourne.WM_PAINT
les messages sont différés.RDW_UPDATENOW
Provoque la réception , et les messages, si nécessaire, des fenêtres affectées (comme spécifiés par lesRDW_ALLCHILDREN
RDW_NOCHILDREN
indicateurs) avant que la fonction ne retourne.WM_PAINT
WM_ERASEBKGND
WM_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::UpdateWindow
ou 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.
Les messages réfléchis sont envoyés directement à ou CCmdTarget::OnCmdMsg
.CWnd::OnWndMsg
Pour plus d’informations sur la réflexion des messages, consultez Gestion des messages répercutés.
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épercutés.
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 êtreNULL
.CWnd::reposQuery
La disposition des barres de contrôle n’est pas effectuée ; Au lieu de celalpRectParam
, 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 delpRectParam
la zone cliente denIDLast
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’envoyezWM_ENTERIDLE
pas de messages au parent.MLF_NOKICKIDLE
N’envoyezWM_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 EndModalLoop
tant 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 lpRect
lpPoint
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 NULL
le 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 NULL
le 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 NULL
le 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 lpRect
NULL
.
Si lpRect
ce n’est pas NULL
le 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 NULL
le 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 NULL
le 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 NULL
le 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é avecSW_INVALIDATE
, efface la région nouvellement invalidée en envoyant unWM_ERASEBKGND
message à la fenêtre.SW_INVALIDATE
Invalide la région identifiée parprgnUpdate
le défilement.SW_SCROLLCHILDREN
Fait défiler toutes les fenêtres enfants qui croisent le rectangle pointé parlpRectScroll
le nombre de pixels spécifiés dansdx
etdy
. Windows envoie unWM_MOVE
message à toutes les fenêtres enfants qui se croisentlpRectScroll
, 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 lpRectUpdate
prgnUpdate
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
, , lpRectUpdate
lpRectClip
et 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épercutés.
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 FALSE
le 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 FALSE
le 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_CHANGECBCHAIN
et 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 FALSE
pas 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_SYSKEYDOWN
ou 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 prendre l’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 TRUE
dé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. Lem_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 TRUE
le cas, la barre de défilement est redessinée. Si c’est FALSE
le 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::OnHScroll
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.
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 TRUE
le 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 NULL
le 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::OnTimer
et 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’agitCWnd
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 unWM_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ètrepWndInsertAfter
).SWP_NOCOPYBITS
Ignore l’intégralité du contenu 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_NOMOVE
Conserve la position actuelle (ignore les paramètres ety
lesx
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 leWM_WINDOWPOSCHANGING
message.SWP_NOSIZE
Conserve la taille actuelle (ignore les paramètres etcy
lescx
paramètres).SWP_NOZORDER
Conserve 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 lepWndInsertAfter
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 bRedraw
TRUE
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, SetWindowRgn
le système d’exploitation possède la région spécifiée par le handle hRgn
de 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 CWnd
carte de messages et appellent les gestionnaires de messages de la CWnd
classe 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 CWnd
mappage des messages et appellent les gestionnaires de messages de la CWnd
classe 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 LockWindowUpdate
de . 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 TRUE
le 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 NULL
le cas, la palette par défaut sera utilisée.
Si pDCSrc
c’est NULL
le 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 NULL
le 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 NULL
de .
pptSrc
Pointeur vers une POINT
structure qui spécifie l’emplacement de la couche dans le contexte de l’appareil.
Si pDCSrc
c’est NULL
le 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 prendre l’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
Met à 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 NULL
le cas, la fenêtre entière est validée.
Notes
La BeginPaint
fonction membre valide automatiquement l’ensemble de la zone cliente. Ni la ValidateRect
ValidateRgn
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 NULL
le 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 ValidateRect
ValidateRgn
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 à vérifier.
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
autrement.
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