Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe
Fournit les fonctionnalités d'une fenêtre frame contextuelle ou superposée d'interface monodocument (SDI) Windows, ainsi que des membres permettant de gérer la fenêtre.
Syntaxe
class CFrameWnd : public CWnd
Membres
Constructeurs publics
| Nom | Descriptif |
|---|---|
CFrameWnd::CFrameWnd |
Construit un objet CFrameWnd. |
Méthodes publiques
| Nom | Descriptif |
|---|---|
CFrameWnd::ActivateFrame |
Rend le cadre visible et disponible pour l’utilisateur. |
CFrameWnd::BeginModalState |
Définit la fenêtre frame sur modale. |
CFrameWnd::Create |
Appelez pour créer et initialiser la fenêtre frame Windows associée à l’objet CFrameWnd . |
CFrameWnd::CreateView |
Crée une vue dans un cadre qui n’est pas dérivé de CView. |
CFrameWnd::DockControlBar |
Ancre une barre de contrôle. |
CFrameWnd::EnableDocking |
Permet à une barre de contrôle d’être ancrée. |
CFrameWnd::EndModalState |
Termine l’état modal de la fenêtre frame. Active toutes les fenêtres désactivées par BeginModalState. |
CFrameWnd::FloatControlBar |
Flotte une barre de contrôle. |
CFrameWnd::GetActiveDocument |
Retourne l’objet actif CDocument . |
CFrameWnd::GetActiveFrame |
Retourne l’objet actif CFrameWnd . |
CFrameWnd::GetActiveView |
Retourne l’objet actif CView . |
CFrameWnd::GetControlBar |
Récupère la barre de contrôle. |
CFrameWnd::GetDockState |
Récupère l’état d’ancrage d’une fenêtre frame. |
CFrameWnd::GetMenuBarState |
Récupère l’état d’affichage du menu dans l’application MFC actuelle. |
CFrameWnd::GetMenuBarVisibility |
Indique si le comportement par défaut du menu dans l’application MFC actuelle est masqué ou visible. |
CFrameWnd::GetMessageBar |
Retourne un pointeur vers la barre d’état appartenant à la fenêtre frame. |
CFrameWnd::GetMessageString |
Récupère le message correspondant à un ID de commande. |
CFrameWnd::GetTitle |
Récupère le titre de la barre de contrôle associée. |
CFrameWnd::InitialUpdateFrame |
Provoque l’appel de la OnInitialUpdate fonction membre appartenant à toutes les vues de la fenêtre frame. |
CFrameWnd::InModalState |
Retourne une valeur indiquant si une fenêtre frame est dans un état modal ou non. |
CFrameWnd::IsTracking |
Détermine si la barre de fractionnement est en cours de déplacement. |
CFrameWnd::LoadAccelTable |
Appelez pour charger une table d’accélérateurs. |
CFrameWnd::LoadBarState |
Appelez les paramètres de la barre de contrôle pour restaurer. |
CFrameWnd::LoadFrame |
Appelez pour créer dynamiquement une fenêtre frame à partir d’informations sur les ressources. |
CFrameWnd::NegotiateBorderSpace |
Négocie l’espace de bordure dans la fenêtre frame. |
CFrameWnd::OnBarCheck |
Appelée chaque fois qu’une action est effectuée sur la barre de contrôle spécifiée. |
CFrameWnd::OnContextHelp |
Gère l’aide maj+F1 pour les éléments sur place. |
CFrameWnd::OnSetPreviewMode |
Définit la fenêtre principale du cadre principal de l’application en mode aperçu avant impression. |
CFrameWnd::OnUpdateControlBarMenu |
Appelé par l’infrastructure lorsque le menu associé est mis à jour. |
CFrameWnd::RecalcLayout |
Repositionne les barres de contrôle de l’objet CFrameWnd . |
CFrameWnd::SaveBarState |
Appelez pour enregistrer les paramètres de la barre de contrôle. |
CFrameWnd::SetActivePreviewView |
Désigne l’affichage spécifié comme affichage actif pour l’aperçu enrichi. |
CFrameWnd::SetActiveView |
Définit l’objet actif CView . |
CFrameWnd::SetDockState |
Appelez pour ancrer la fenêtre frame dans la fenêtre principale. |
CFrameWnd::SetMenuBarState |
Définit l’état d’affichage du menu dans l’application MFC actuelle sur masqué ou affiché. |
CFrameWnd::SetMenuBarVisibility |
Définit le comportement par défaut du menu dans l’application MFC actuelle pour qu’il soit masqué ou visible. |
CFrameWnd::SetMessageText |
Définit le texte d’une barre d’état standard. |
CFrameWnd::SetProgressBarPosition |
Définit la position actuelle de la barre de progression de Windows 7 affichée dans la barre des tâches. |
CFrameWnd::SetProgressBarRange |
Définit la plage de la barre de progression Windows 7 affichée dans la barre des tâches. |
CFrameWnd::SetProgressBarState |
Définit le type et l’état de l’indicateur de progression affichés sur un bouton de barre des tâches. |
CFrameWnd::SetTaskbarOverlayIcon |
Surcharge. Applique une superposition à un bouton de barre des tâches pour indiquer l’état de l’application ou une notification à l’utilisateur. |
CFrameWnd::SetTitle |
Définit le titre de la barre de contrôle associée. |
CFrameWnd::ShowControlBar |
Appelez pour afficher la barre de contrôle. |
CFrameWnd::ShowOwnedWindows |
Affiche toutes les fenêtres descendants de l’objet CFrameWnd . |
Méthodes protégées
| Nom | Descriptif |
|---|---|
CFrameWnd::OnCreateClient |
Crée une fenêtre cliente pour le cadre. |
CFrameWnd::OnHideMenuBar |
Appelé avant que le menu de l’application MFC actuelle soit masqué. |
CFrameWnd::OnShowMenuBar |
Appelé avant l’affichage du menu dans l’application MFC actuelle. |
Membres de données publics
| Nom | Descriptif |
|---|---|
CFrameWnd::m_bAutoMenuEnable |
Les contrôles activent et désactivent automatiquement les fonctionnalités des éléments de menu. |
CFrameWnd::rectDefault |
Transmettez cette statique CRect en tant que paramètre lors de la création d’un CFrameWnd objet pour permettre à Windows de choisir la taille et la position initiales de la fenêtre. |
Notes
Pour créer une fenêtre frame utile pour votre application, dérivez une classe de CFrameWnd. Ajoutez des variables membres à la classe dérivée pour stocker des données spécifiques à 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.
Il existe trois façons de construire une fenêtre frame :
Construisez-le directement à l’aide
Createde .Construisez-le directement à l’aide
LoadFramede .Construisez-le indirectement à l’aide d’un modèle de document.
Avant d’appeler l’un Create ou l’autre LoadFrame, vous devez construire l’objet frame-window sur le tas à l’aide de l’opérateur C++ new . Avant d’appeler Create, vous pouvez également inscrire une classe de fenêtre avec la AfxRegisterWndClass fonction globale pour définir l’icône et les styles de classe pour le cadre.
Utilisez la Create fonction membre pour passer les paramètres de création du frame en tant qu’arguments immédiats.
LoadFrame nécessite moins d’arguments que Create, et récupère à la place la plupart de ses valeurs par défaut à partir de ressources, notamment la légende, l’icône, la table accélérateur et le menu du frame. Pour être accessible par LoadFrame, toutes ces ressources doivent avoir le même ID de ressource (par exemple, IDR_MAINFRAME).
Lorsqu’un CFrameWnd objet contient des vues et des documents, ils sont créés indirectement par l’infrastructure plutôt que directement par le programmeur. L’objet CDocTemplate orchestre la création du cadre, la création des vues contenantes et la connexion des vues au document approprié. Les paramètres du CDocTemplate constructeur spécifient les CRuntimeClass trois classes impliquées (document, frame et vue). Un CRuntimeClass objet est utilisé par l’infrastructure pour créer dynamiquement des trames lorsqu’ils sont spécifiés par l’utilisateur (par exemple, à l’aide de la commande File New ou de la commande MDI (Multiple Document Interface) Window New).
Une classe frame-window dérivée de CFrameWnd doit être déclarée avec DECLARE_DYNCREATE pour que le mécanisme ci-dessus RUNTIME_CLASS fonctionne correctement.
Il CFrameWnd contient des implémentations par défaut pour effectuer les fonctions suivantes d’une fenêtre principale dans une application classique pour Windows :
Une
CFrameWndfenêtre frame effectue le suivi d’une vue actuellement active indépendante de la fenêtre active Windows ou du focus d’entrée actuel. Lorsque le frame est réactivé, la vue active est avertie en appelantCView::OnActivateView.Les messages de commande et de nombreux messages de notification frame courants, y compris ceux gérés par le
OnSetFocus,OnHScrolletOnVScrollles fonctions deCWnd, sont délégués par uneCFrameWndfenêtre frame à l’affichage actif.L’affichage actif (ou actuellement actif fenêtre image enfant MDI dans le cas d’un cadre MDI) peut déterminer la légende de la fenêtre frame. Cette fonctionnalité peut être désactivée en désactivant le
FWS_ADDTOTITLEbit de style de la fenêtre frame.Une
CFrameWndfenêtre frame gère le positionnement des barres de contrôle, des vues et d’autres fenêtres enfants à l’intérieur de la zone cliente de la fenêtre frame. Une fenêtre frame effectue également la mise à jour du temps d’inactivité de la barre d’outils et d’autres boutons de barre de contrôle. UneCFrameWndfenêtre frame comporte également des implémentations par défaut de commandes pour activer et désactiver la barre d’outils et la barre d’état.Une
CFrameWndfenêtre frame gère la barre de menus principale. Lorsqu’un menu contextuel s’affiche, la fenêtre frame utilise leUPDATE_COMMAND_UImécanisme pour déterminer quels éléments de menu doivent être activés, désactivés ou activés. Lorsque l’utilisateur sélectionne un élément de menu, la fenêtre frame met à jour la barre d’état avec la chaîne de message de cette commande.Une
CFrameWndfenêtre frame a une table d’accélérateurs facultative qui traduit automatiquement les accélérateurs clavier.Une
CFrameWndfenêtre frame a un jeu d’ID d’aide facultatif avecLoadFramelequel il est utilisé pour l’aide contextuelle. Une fenêtre frame est l’orchestrateur principal d’états semi-modaux tels que l’aide contextuelle (MAJ+F1) et les modes d’aperçu avant impression.Une
CFrameWndfenêtre frame ouvre un fichier déplacé à partir du Gestionnaire de fichiers et est supprimé dans la fenêtre frame. Si une extension de fichier est inscrite et associée à l’application, la fenêtre frame répond à la demande d’ouverture d’échange de données dynamique (DDE) qui se produit lorsque l’utilisateur ouvre un fichier de données dans le Gestionnaire de fichiers ou lorsque laShellExecutefonction Windows est appelée.Si la fenêtre frame est la fenêtre d’application principale (autrement dit,
CWinThread::m_pMainWnd), lorsque l’utilisateur ferme l’application, la fenêtre frame invite l’utilisateur à enregistrer les documents modifiés (pourOnCloseetOnQueryEndSession).Si la fenêtre frame est la fenêtre d’application principale, la fenêtre frame est le contexte de l’exécution de WinHelp. La fermeture de la fenêtre frame s’arrête
WINHELP.EXEsi elle a été lancée pour obtenir de l’aide pour cette application.
N’utilisez pas l’opérateur C++ delete pour détruire une fenêtre frame. Utilisez CWnd::DestroyWindow à la place. L’implémentation CFrameWnd de PostNcDestroy supprimera l’objet C++ lorsque la fenêtre est détruite. Lorsque l’utilisateur ferme la fenêtre frame, le gestionnaire par défaut OnClose appelle DestroyWindow.
Pour plus d’informations sur CFrameWnd, consultez Frame Windows.
Hiérarchie d'héritage
CFrameWnd
Spécifications
En-tête :afxwin.h
CFrameWnd::ActivateFrame
Appelez cette fonction membre pour activer et restaurer la fenêtre frame afin qu’elle soit visible et disponible pour l’utilisateur.
virtual void ActivateFrame(int nCmdShow = -1);
Paramètres
nCmdShow
Spécifie le paramètre à passer à CWnd::ShowWindow. Par défaut, le cadre est affiché et correctement restauré.
Notes
Cette fonction membre est généralement appelée après un événement d’interface non utilisateur tel qu’un DDE, OLE ou un autre événement qui peut afficher la fenêtre frame ou son contenu à l’utilisateur.
L’implémentation par défaut active l’image et l’amène en haut de l’ordre Z et, si nécessaire, effectue les mêmes étapes pour la fenêtre principale de l’application.
Remplacez cette fonction membre pour modifier la façon dont une trame est activée. Par exemple, vous pouvez forcer l’agrandissement des fenêtres enfants MDI. Ajoutez les fonctionnalités appropriées, puis appelez la version de classe de base avec un élément explicite nCmdShow.
Exemple
void CChildFrame::ActivateFrame(int nCmdShow)
{
// Create the child frame window maximized
nCmdShow = SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
CFrameWnd::BeginModalState
Appelez cette fonction membre pour rendre modale une fenêtre frame.
virtual void BeginModalState();
CFrameWnd::CFrameWnd
Construit un CFrameWnd objet, mais ne crée pas la fenêtre de cadre visible.
CFrameWnd();
Notes
Appelez Create pour créer la fenêtre visible.
CFrameWnd::Create
Appelez pour créer et initialiser la fenêtre frame Windows associée à l’objet CFrameWnd .
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle = WS_OVERLAPPEDWINDOW,
const RECT& rect = rectDefault,
CWnd* pParentWnd = NULL,
LPCTSTR lpszMenuName = NULL,
DWORD dwExStyle = 0,
CCreateContext* pContext = NULL);
Paramètres
lpszClassName
Pointe vers une chaîne de caractères terminée par null qui nomme la classe Windows. Le nom de classe peut être n’importe quel nom inscrit auprès de la AfxRegisterWndClass fonction globale ou de la RegisterClass fonction Windows. Si NULL, utilise les attributs par défaut CFrameWnd prédéfinis.
lpszWindowName
Pointe vers une chaîne de caractères terminée par null qui représente le nom de la fenêtre. Utilisé comme texte pour la barre de titre.
dwStyle
Spécifie les attributs de style de fenêtre. Incluez le FWS_ADDTOTITLE style si vous souhaitez que la barre de titre affiche automatiquement le nom du document représenté dans la fenêtre.
rect
Spécifie la taille et la position de la fenêtre. La rectDefault valeur permet à Windows de spécifier la taille et la position de la nouvelle fenêtre.
pParentWnd
Spécifie la fenêtre parente de cette fenêtre frame. Ce paramètre doit être NULL destiné aux fenêtres frame de niveau supérieur.
lpszMenuName
Identifie le nom de la ressource de menu à utiliser avec la fenêtre. Utilisez MAKEINTRESOURCE si le menu a un ID entier au lieu d’une chaîne. Ce paramètre peut être NULL.
dwExStyle
Spécifie les attributs de style étendu de la fenêtre.
pContext
Spécifie un pointeur vers une CCreateContext structure. Ce paramètre peut être NULL.
Valeur de retour
Différent de zéro si l’initialisation réussit ; sinon 0.
Notes
Construisez un CFrameWnd objet en deux étapes. Tout d’abord, appelez le constructeur, qui construit l’objet CFrameWnd , puis appelez Create, qui crée la fenêtre frame Windows et l’attache à l’objet CFrameWnd .
Create initialise le nom de la classe et le nom de la fenêtre et inscrit les valeurs par défaut pour son style, son parent et son menu associé.
Utilisez LoadFrame plutôt que Create de charger la fenêtre frame à partir d’une ressource au lieu de spécifier ses arguments.
CFrameWnd::CreateView
Appelez CreateView pour créer une vue dans un cadre.
CWnd* CreateView(
CCreateContext* pContext,
UINT nID = AFX_IDW_PANE_FIRST);
Paramètres
pContext
Spécifie le type d’affichage et de document.
nID
Numéro d’ID d’une vue.
Valeur de retour
Pointeur vers un CWnd objet en cas de réussite ; sinon NULL.
Notes
Utilisez cette fonction membre pour créer des « vues » qui ne sont pas CViewdérivées dans une trame. Après l’appel CreateView, vous devez définir manuellement l’affichage sur actif et le définir comme visible ; ces tâches ne sont pas effectuées automatiquement par CreateView.
CFrameWnd::DockControlBar
Provoque l’ancrage d’une barre de contrôle dans la fenêtre frame.
void DockControlBar(
CControlBar* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
Paramètres
pBar
Pointe vers la barre de contrôle à ancrer.
nDockBarID
Détermine les côtés de la fenêtre frame à prendre en compte pour l’ancrage. Il peut s’agir de 0, ou d’un ou plusieurs des éléments suivants :
AFX_IDW_DOCKBAR_TOPAncrer le côté supérieur de la fenêtre frame.AFX_IDW_DOCKBAR_BOTTOMAncrer sur le côté inférieur de la fenêtre frame.AFX_IDW_DOCKBAR_LEFTAncrer sur le côté gauche de la fenêtre frame.AFX_IDW_DOCKBAR_RIGHTAncrer sur le côté droit de la fenêtre frame.
Si 0, la barre de contrôle peut être ancrée sur n’importe quel côté activé pour l’ancrage dans la fenêtre frame de destination.
lpRect
Détermine, dans les coordonnées de l’écran, où la barre de contrôle sera ancrée dans la zone non cliente de la fenêtre frame de destination.
Notes
La barre de contrôle est ancrée sur l’un des côtés de la fenêtre frame spécifiée dans les appels à la fois CControlBar::EnableDocking et CFrameWnd::EnableDocking. Le côté choisi est déterminé par nDockBarID.
CFrameWnd::EnableDocking
Appelez cette fonction pour activer les barres de contrôle ancres dans une fenêtre frame.
void EnableDocking(DWORD dwDockStyle);
Paramètres
dwDockStyle
Spécifie les côtés de la fenêtre frame qui peuvent servir de sites d’ancrage pour les barres de contrôle. Il peut s’agir d’un ou plusieurs des éléments suivants :
CBRS_ALIGN_TOPAutorise l’ancrage en haut de la zone cliente.CBRS_ALIGN_BOTTOMAutorise l’ancrage en bas de la zone cliente.CBRS_ALIGN_LEFTAutorise l’ancrage sur le côté gauche de la zone cliente.CBRS_ALIGN_RIGHTAutorise l’ancrage sur le côté droit de la zone cliente.CBRS_ALIGN_ANYAutorise l’ancrage sur n’importe quel côté de la zone cliente.
Notes
Par défaut, les barres de contrôle sont ancrées sur un côté de la fenêtre frame dans l’ordre suivant : haut, bas, gauche, droite.
Exemple
Consultez l’exemple pour CToolBar::Create.
CFrameWnd::EndModalState
Appelez cette fonction membre pour changer une fenêtre frame modale en fenêtre frame non modale.
virtual void EndModalState();
Notes
EndModalState active toutes les fenêtres désactivées par BeginModalState.
CFrameWnd::FloatControlBar
Appelez cette fonction pour empêcher l’ancrage d’une barre de contrôle dans la fenêtre frame.
void FloatControlBar(
CControlBar* pBar,
CPoint point,
DWORD dwStyle = CBRS_ALIGN_TOP);
Paramètres
pBar
Pointe vers la barre de contrôle à flotter.
point
Emplacement, dans les coordonnées de l’écran, où le coin supérieur gauche de la barre de contrôle sera placé.
dwStyle
Spécifie s’il faut aligner la barre de contrôle horizontalement ou verticalement dans sa nouvelle fenêtre frame. Il peut s’agir de l’une des options suivantes :
CBRS_ALIGN_TOPOriente verticalement la barre de contrôle.CBRS_ALIGN_BOTTOMOriente verticalement la barre de contrôle.CBRS_ALIGN_LEFTOriente la barre de contrôle horizontalement.CBRS_ALIGN_RIGHTOriente la barre de contrôle horizontalement.
Si les styles sont passés en spécifiant à la fois l’orientation horizontale et verticale, la barre d’outils est orientée horizontalement.
Notes
En règle générale, cela se produit au démarrage de l’application lorsque le programme restaure les paramètres de l’exécution précédente.
Cette fonction est appelée par l’infrastructure lorsque l’utilisateur provoque une opération de déplacement en libérant le bouton gauche de la souris tout en faisant glisser la barre de contrôle sur un emplacement qui n’est pas disponible pour l’ancrage.
CFrameWnd::GetActiveDocument
Appelez cette fonction membre pour obtenir un pointeur vers l’affichage CDocument actif actuel attaché.
virtual CDocument* GetActiveDocument();
Valeur de retour
Pointeur vers le pointeur actuel CDocument. S’il n’existe aucun document actif, retourne NULL.
CFrameWnd::GetActiveFrame
Appelez cette fonction membre pour obtenir un pointeur vers la fenêtre enfant MDI (Multiple Document Interface) active d’une fenêtre frame MDI.
virtual CFrameWnd* GetActiveFrame();
Valeur de retour
Pointeur vers la fenêtre enfant MDI active. Si l’application est une application SDI ou si la fenêtre frame MDI n’a pas de document actif, le pointeur implicite this est retourné.
Notes
S’il n’y a pas d’enfant MDI actif ou si l’application est une interface de document unique (SDI), le pointeur implicite this est retourné.
CFrameWnd::GetActiveView
Appelez cette fonction membre pour obtenir un pointeur vers l’affichage actif (le cas échéant) attaché à une fenêtre frame (CFrameWnd).
CView* GetActiveView() const;
Valeur de retour
Pointeur vers le pointeur actuel CView. S’il n’y a pas d’affichage actuel, retourne NULL.
Notes
Cette fonction retourne lorsqu’elle est NULL appelée pour une fenêtre de cadre principal MDI (CMDIFrameWnd). Dans une application MDI, la fenêtre de cadre principal MDI n’a pas d’affichage associée. Au lieu de cela, chaque fenêtre enfant (CMDIChildWnd) a une ou plusieurs vues associées. L’affichage actif dans une application MDI peut être obtenu en recherchant d’abord la fenêtre enfant MDI active, puis en recherchant l’affichage actif pour cette fenêtre enfant. La fenêtre enfant MDI active est disponible en appelant la fonction MDIGetActive ou GetActiveFrame comme illustré dans les éléments suivants :
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->GetMainWnd();
// Get the active MDI child window.
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();
// or CMDIChildWnd *pChild = pFrame->MDIGetActive();
// Get the active view attached to the active MDI child window.
CMyView *pView = (CMyView*)pChild->GetActiveView();
CFrameWnd::GetControlBar
Appelez GetControlBar pour accéder à la barre de contrôle associée à l’ID.
CControlBar* GetControlBar(UINT nID);
Paramètres
nID
Numéro d’ID d’une barre de contrôle.
Valeur de retour
Pointeur vers la barre de contrôle associée à l’ID.
Notes
Le nID paramètre fait référence à l’identificateur unique passé à la Create méthode de la barre de contrôle. Pour plus d’informations sur les barres de contrôle, reportez-vous à la rubrique intitulée Barres de contrôle.
GetControlBar retourne la barre de contrôle même si elle est flottante et n’est donc pas actuellement une fenêtre enfant du cadre.
CFrameWnd::GetDockState
Appelez cette fonction membre pour stocker des informations d’état sur les barres de contrôle de la fenêtre frame dans un CDockState objet.
void GetDockState(CDockState& state) const;
Paramètres
state
Contient l’état actuel des barres de contrôle de la fenêtre frame lors du retour.
Notes
Vous pouvez ensuite écrire le contenu du CDockState stockage à l’aide CDockState::SaveState ou Serialize. Si vous souhaitez ultérieurement restaurer les barres de contrôle à un état précédent, chargez l’état avec CDockState::LoadState ou Serializeappelez-le SetDockState pour appliquer l’état précédent aux barres de contrôle de la fenêtre frame.
CFrameWnd::GetMenuBarState
Récupère l’état d’affichage du menu dans l’application MFC actuelle.
virtual DWORD GetMenuBarState();
Valeur de retour
La valeur de retour peut avoir les valeurs suivantes :
AFX_MBS_VISIBLE(0x01) : le menu est visible.AFX_MBS_HIDDEN(0x02) : le menu est masqué.
Notes
Si une erreur d’exécution se produit, cette méthode s’affirme en mode Débogage et déclenche une exception dérivée de la CException classe.
CFrameWnd::GetMenuBarVisibility
Indique si l’état par défaut du menu dans l’application MFC actuelle est masqué ou visible.
virtual DWORD CFrameWnd::GetMenuBarVisibility();
Valeur de retour
Cette méthode retourne l’une des valeurs suivantes :
AFX_MBV_KEEPVISIBLE(0x01) : le menu s’affiche à tout moment et, par défaut, n’a pas le focus.AFX_MBV_DISPLAYONFOCUS(0x02) : le menu est masqué par défaut. Si le menu est masqué, appuyez sur la touche Alt pour afficher le menu et lui donner le focus. Si le menu est affiché, appuyez sur la touche Alt ou Échap pour la masquer.AFX_MBV_DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10(0x06) : le menu est masqué par défaut. Si le menu est masqué, appuyez sur la touche F10 pour afficher le menu et lui donner le focus. Si le menu s’affiche, appuyez sur la touche F10 pour activer ou désactiver le focus sur le menu. Le menu s’affiche jusqu’à ce que vous appuyiez sur la touche Alt ou Échap pour la masquer.
Notes
Si une erreur d’exécution se produit, cette méthode s’affirme en mode Débogage et déclenche une exception dérivée de la CException classe.
CFrameWnd::GetMessageBar
Appelez cette fonction membre pour obtenir un pointeur vers la barre d’état.
virtual CWnd* GetMessageBar();
Valeur de retour
Pointeur vers la fenêtre de barre d’état.
CFrameWnd::GetMessageString
Remplacez cette fonction pour fournir des chaînes personnalisées pour les ID de commande.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Paramètres
nID
ID de ressource du message souhaité.
rMessage
CString objet dans lequel placer le message.
Notes
L’implémentation par défaut charge simplement la chaîne spécifiée à nID partir du fichier de ressources. Cette fonction est appelée par l’infrastructure lorsque la chaîne de message dans la barre d’état doit être mise à jour.
CFrameWnd::GetTitle
Récupère le titre de l’objet de fenêtre.
CString GetTitle() const;
Valeur de retour
Objet CString contenant le titre actuel de l’objet fenêtre.
CFrameWnd::InitialUpdateFrame
Appel IntitialUpdateFrame après la création d’une trame avec Create.
void InitialUpdateFrame(
CDocument* pDoc,
BOOL bMakeVisible);
Paramètres
pDoc
Pointe vers le document auquel la fenêtre frame est associée. Peut être NULL.
bMakeVisible
Si TRUE, indique que le cadre doit devenir visible et actif. Si FALSE, aucun descendants n’est rendu visible.
Notes
Ainsi, toutes les vues de cette fenêtre frame reçoivent leurs OnInitialUpdate appels.
En outre, s’il n’y avait pas encore d’affichage actif, l’affichage principal de la fenêtre frame est activé. La vue principale est une vue avec un ID enfant de AFX_IDW_PANE_FIRST. Enfin, la fenêtre de cadre est rendue visible si bMakeVisible elle n’est pas nulle. Si bMakeVisible la valeur est 0, le focus actuel et l’état visible de la fenêtre frame restent inchangés. Il n’est pas nécessaire d’appeler cette fonction lors de l’utilisation de l’implémentation du framework de File New and File Open.
CFrameWnd::InModalState
Appelez cette fonction membre pour vérifier si une fenêtre frame est modale ou sans mode.
BOOL InModalState() const;
Valeur de retour
Différent de zéro si oui ; sinon 0.
CFrameWnd::IsTracking
Appelez cette fonction membre pour déterminer si la barre de fractionnement dans la fenêtre est en cours de déplacement.
BOOL IsTracking() const;
Valeur de retour
Différent de zéro si une opération de fractionnement est en cours ; sinon 0.
CFrameWnd::LoadAccelTable
Appelez pour charger la table d’accélérateurs spécifiée.
BOOL LoadAccelTable(LPCTSTR lpszResourceName);
Paramètres
lpszResourceName
Identifie le nom de la ressource accélérateur. Utilisez MAKEINTRESOURCE cette option si la ressource est identifiée avec un ID entier.
Valeur de retour
Différent de zéro si la table de l’accélérateur a été correctement chargée ; sinon 0.
Notes
Une seule table peut être chargée à la fois.
Les tables accélérateurs chargées à partir de ressources sont libérées automatiquement lorsque l’application se termine.
Si vous appelez LoadFrame pour créer la fenêtre frame, l’infrastructure charge une table d’accélérateurs avec les ressources de menu et d’icône, et un appel ultérieur à cette fonction membre n’est pas nécessaire.
CFrameWnd::LoadBarState
Appelez cette fonction pour restaurer les paramètres de chaque barre de contrôle appartenant à la fenêtre frame.
void LoadBarState(LPCTSTR lpszProfileName);
Paramètres
lpszProfileName
Nom d’une section dans le fichier d’initialisation (INI) ou une clé dans le Registre Windows où les informations d’état sont stockées.
Notes
Les informations restaurées incluent la visibilité, l’orientation horizontale/verticale, l’état d’ancrage et la position de la barre de contrôle.
Les paramètres que vous souhaitez restaurer doivent être écrits dans le Registre avant d’appeler LoadBarState. Écrivez les informations dans le Registre en appelant CWinApp::SetRegistryKey. Écrivez les informations dans le fichier INI en appelant SaveBarState.
CFrameWnd::LoadFrame
Appelez pour créer dynamiquement une fenêtre frame à partir d’informations sur les ressources.
virtual BOOL LoadFrame(
UINT nIDResource,
DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
CWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL);
Paramètres
nIDResource
ID des ressources partagées associées à la fenêtre frame.
dwDefaultStyle
Style du cadre. Incluez le FWS_ADDTOTITLE style si vous souhaitez que la barre de titre affiche automatiquement le nom du document représenté dans la fenêtre.
pParentWnd
Pointeur vers le parent du cadre.
pContext
Pointeur vers une CCreateContext structure. Ce paramètre peut être NULL.
Notes
Construisez un CFrameWnd objet en deux étapes. Tout d’abord, appelez le constructeur, qui construit l’objet CFrameWnd , puis appelez LoadFrame, qui charge la fenêtre frame Windows et les ressources associées et attache la fenêtre frame à l’objet CFrameWnd . Le nIDResource paramètre spécifie le menu, la table accélérateur, l’icône et la ressource de chaîne du titre de la fenêtre frame.
Utilisez la Create fonction membre plutôt que LoadFrame lorsque vous souhaitez spécifier tous les paramètres de création de la fenêtre frame.
L’infrastructure appelle LoadFrame lorsqu’elle crée une fenêtre frame à l’aide d’un objet de modèle de document.
L’infrastructure utilise l’argument pContext pour spécifier les objets à connecter à la fenêtre frame, y compris les objets d’affichage contenu. Vous pouvez définir l’argument pContextNULL sur quand vous appelez LoadFrame.
CFrameWnd::m_bAutoMenuEnable
Lorsque ce membre de données est activé (qui est la valeur par défaut), les éléments de menu qui n’ont ON_UPDATE_COMMAND_UI pas ou ON_COMMAND les gestionnaires sont automatiquement désactivés lorsque l’utilisateur extrait un menu.
BOOL m_bAutoMenuEnable;
Notes
Les éléments de menu qui ont un ON_COMMAND gestionnaire, mais aucun gestionnaire n’est ON_UPDATE_COMMAND_UI activé automatiquement.
Lorsque ce membre de données est défini, les éléments de menu sont automatiquement activés de la même façon que les boutons de barre d’outils sont activés.
Remarque
m_bAutoMenuEnable n’a aucun effet sur les éléments de menu de niveau supérieur.
Ce membre de données simplifie l’implémentation de commandes facultatives en fonction de la sélection actuelle et réduit la nécessité d’écrire ON_UPDATE_COMMAND_UI des gestionnaires pour activer et désactiver les éléments de menu.
Exemple
// CMainFrame is application-defined object of type CFrameWnd
CMainFrame::CMainFrame()
: m_hDrawMenu(NULL), m_hDrawAccel(NULL), m_bCheck(false), m_nWindowTimer(0), m_nCallbackTimer(0)
{
// Set to FALSE so no ON_UPDATE_COMMAND_UI
// or ON_COMMAND handlers are needed, and
// CMenu::EnableMenuItem() will work as expected.
m_bAutoMenuEnable = FALSE;
}
CFrameWnd::NegotiateBorderSpace
Appelez cette fonction membre pour négocier l’espace de bordure dans une fenêtre frame pendant l’activation de l’emplacement OLE.
virtual BOOL NegotiateBorderSpace(
UINT nBorderCmd,
LPRECT lpRectBorder);
Paramètres
nBorderCmd
Contient l’une des valeurs suivantes à partir des enum BorderCmdéléments suivants :
borderGet= 1borderRequest= 2borderSet= 3
lpRectBorder
Pointeur vers une RECT structure ou un CRect objet qui spécifie les coordonnées de la bordure.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Cette fonction membre est l’implémentation de la CFrameWnd négociation d’espace frontière OLE.
CFrameWnd::OnBarCheck
Appelée chaque fois qu’une action est effectuée sur la barre de contrôle spécifiée.
afx_msg BOOL OnBarCheck(UINT nID);
Paramètres
nID
ID de la barre de contrôle affichée.
Valeur de retour
Différent de zéro si la barre de contrôle existait ; sinon 0.
CFrameWnd::OnContextHelp
Gère l’aide maj+F1 pour les éléments sur place.
afx_msg void OnContextHelp();
Notes
Pour activer l’aide contextuelle, vous devez ajouter une
ON_COMMAND(ID_CONTEXT_HELP, &CMainFrame::OnContextHelp)
instruction à votre CFrameWnd mappage de messages de classe et ajoutez également une entrée de table accélérateur, généralement MAJ+F1, pour activer cette fonction membre.
Si votre application est un conteneur OLE, OnContextHelp place tous les éléments sur place contenus dans l’objet de fenêtre frame en mode Aide. Le curseur passe à une flèche et à un point d’interrogation, et l’utilisateur peut ensuite déplacer le pointeur de la souris et appuyer sur le bouton gauche de la souris pour sélectionner une boîte de dialogue, une fenêtre, un menu ou un bouton de commande. Cette fonction membre appelle la fonction WinHelp Windows avec le contexte d’aide de l’objet sous le curseur.
CFrameWnd::OnCreateClient
Appelé par l’infrastructure pendant l’exécution de OnCreate.
virtual BOOL OnCreateClient(
LPCREATESTRUCT lpcs,
CCreateContext* pContext);
Paramètres
lpcs
Pointeur vers une structure Windows CREATESTRUCT .
pContext
Pointeur vers une CCreateContext structure.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
N’appelez jamais cette fonction.
L’implémentation par défaut de cette fonction crée un CView objet à partir des informations fournies dans pContext, si possible.
Remplacez cette fonction pour remplacer les valeurs passées dans l’objet CCreateContext ou pour modifier la façon dont les contrôles dans la zone cliente principale de la fenêtre frame sont créés. Les CCreateContext membres que vous pouvez remplacer sont décrits dans la CCreateContext classe.
Remarque
Ne remplacez pas les valeurs passées dans la CREATESTRUCT structure. Elles sont destinées uniquement à des fins d’information. Si vous souhaitez remplacer le rectangle de fenêtre initial, par exemple, remplacer la CWnd fonction PreCreateWindowmembre .
CFrameWnd::OnHideMenuBar
Cette fonction est appelée lorsque le système est sur le point de masquer la barre de menus dans l’application MFC actuelle.
virtual void OnHideMenuBar();
Notes
Ce gestionnaire d’événements permet à votre application d’effectuer des actions personnalisées lorsque le système est sur le point de masquer le menu. Vous ne pouvez pas empêcher le menu d’être masqué, mais vous pouvez, par exemple, appeler d’autres méthodes pour récupérer le style de menu ou l’état.
CFrameWnd::OnSetPreviewMode
Appelez cette fonction membre pour définir la fenêtre frame principale de l’application dans et en dehors du mode Aperçu avant impression.
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
Paramètres
bPreview
Spécifie s’il faut ou non placer l’application en mode aperçu avant impression. Définissez la valeur à TRUE placer en préversion avant impression pour FALSE annuler le mode aperçu.
pState
Pointeur vers une CPrintPreviewState structure.
Notes
L’implémentation par défaut désactive toutes les barres d’outils standard et masque le menu principal et la fenêtre cliente principale. Cela transforme les fenêtres de cadre MDI en fenêtres de cadre SDI temporaires.
Remplacez cette fonction membre pour personnaliser le masquage et l’affichage des barres de contrôle et d’autres parties de fenêtre frame pendant l’aperçu avant impression. Appelez l’implémentation de classe de base à partir de la version substituée.
CFrameWnd::OnShowMenuBar
Cette fonction est appelée lorsque le système est sur le point d’afficher la barre de menus dans l’application MFC actuelle.
virtual void OnShowMenuBar();
Notes
Ce gestionnaire d’événements permet à votre application d’effectuer des actions personnalisées lorsque le menu est sur le point d’être affiché. Vous ne pouvez pas empêcher l’affichage du menu, mais vous pouvez, par exemple, appeler d’autres méthodes pour récupérer le style de menu ou l’état.
CFrameWnd::OnUpdateControlBarMenu
Appelé par l’infrastructure lorsque le menu associé est mis à jour.
afx_msg void OnUpdateControlBarMenu(CCmdUI* pCmdUI);
Paramètres
pCmdUI
Pointeur vers un CCmdUI objet représentant le menu qui a généré la commande de mise à jour. Le gestionnaire de mise à jour appelle la Enable fonction membre de l’objet par le CCmdUI biais pCmdUI de la mise à jour de l’interface utilisateur.
CFrameWnd::RecalcLayout
Appelé par l’infrastructure lorsque les barres de contrôle standard sont activées ou désactivées ou lorsque la fenêtre frame est redimensionnée.
virtual void RecalcLayout(BOOL bNotify = TRUE);
Paramètres
bNotify
Détermine si l’élément actif sur place de la fenêtre frame reçoit la notification du changement de disposition. Si TRUE, l’élément est averti ; sinon FALSE.
Notes
L’implémentation par défaut de cette fonction membre appelle la CWnd fonction RepositionBars membre pour repositionner toutes les barres de contrôle dans le cadre, ainsi que dans la fenêtre cliente principale (généralement a CView ou MDICLIENT).
Remplacez cette fonction membre pour contrôler l’apparence et le comportement des barres de contrôle une fois la disposition de la fenêtre frame modifiée. Par exemple, appelez-le lorsque vous activez ou désactivez les barres de contrôle ou ajoutez une autre barre de contrôle.
CFrameWnd::rectDefault
Transmettez cette statique CRect en tant que paramètre lors de la création d’une fenêtre pour permettre à Windows de choisir la taille et la position initiales de la fenêtre.
static AFX_DATA const CRect rectDefault;
CFrameWnd::SaveBarState
Appelez cette fonction pour stocker des informations sur chaque barre de contrôle appartenant à la fenêtre frame.
void SaveBarState(LPCTSTR lpszProfileName) const;
Paramètres
lpszProfileName
Nom d’une section dans le fichier d’initialisation ou une clé dans le Registre Windows où les informations d’état sont stockées.
Notes
Ces informations peuvent être lues à partir du fichier d’initialisation à l’aide LoadBarStatede . Les informations stockées incluent la visibilité, l’orientation horizontale/verticale, l’état d’ancrage et la position de la barre de contrôle.
CFrameWnd::SetActivePreviewView
Désigne l’affichage spécifié comme affichage actif pour l’aperçu enrichi.
void SetActivePreviewView(CView* pViewNew);
Paramètres
pViewNew
Pointeur vers une vue à activer.
Notes
CFrameWnd::SetActiveView
Appelez cette fonction membre pour définir la vue active.
void SetActiveView(
CView* pViewNew,
BOOL bNotify = TRUE);
Paramètres
pViewNew
Spécifie un pointeur vers un CView objet ou NULL pour aucune vue active.
bNotify
Spécifie si la vue doit être avertie de l’activation. Si TRUE, OnActivateView est appelé pour la nouvelle vue ; si FALSE, ce n’est pas le cas.
Notes
L’infrastructure appelle automatiquement cette fonction à mesure que l’utilisateur modifie le focus sur une vue dans la fenêtre frame. Vous pouvez appeler SetActiveView explicitement pour modifier le focus sur l’affichage spécifié.
CFrameWnd::SetDockState
Appelez cette fonction membre pour appliquer les informations d’état stockées dans un CDockState objet aux barres de contrôle de la fenêtre frame.
void SetDockState(const CDockState& state);
Paramètres
state
Appliquez l’état stocké aux barres de contrôle de la fenêtre frame.
Notes
Pour restaurer un état précédent des barres de contrôle, vous pouvez charger l’état stocké avec CDockState::LoadState ou Serializeutiliser SetDockState pour l’appliquer aux barres de contrôle de la fenêtre frame. L’état précédent est stocké dans l’objet CDockState avec GetDockState
CFrameWnd::SetMenuBarState
Définit l’état d’affichage du menu dans l’application MFC actuelle sur masqué ou affiché.
virtual BOOL SetMenuBarState(DWORD nState);
Paramètres
nState
[in] Spécifie s’il faut afficher ou masquer le menu. Le nState paramètre peut avoir les valeurs suivantes :
-
AFX_MBS_VISIBLE(0x01) : affiche le menu s’il est masqué, mais n’a aucun effet s’il est visible. -
AFX_MBS_HIDDEN(0x02) : masque le menu s’il est visible, mais n’a aucun effet s’il est masqué.
Valeur de retour
TRUE si cette méthode modifie correctement l’état du menu ; sinon, FALSE.
Notes
Si une erreur d’exécution se produit, cette méthode s’affirme en mode Débogage et déclenche une exception dérivée de la CException classe.
CFrameWnd::SetMenuBarVisibility
Définit le comportement par défaut du menu dans l’application MFC actuelle pour qu’il soit masqué ou visible.
virtual void SetMenuBarVisibility(DWORD nStyle);
Paramètres
nStyle
[in] Spécifie si le menu est masqué par défaut ou est visible et a le focus. Le nStyle paramètre peut avoir les valeurs suivantes :
AFX_MBV_KEEPVISIBLE(0x01) : le menu s’affiche à tout moment et, par défaut, n’a pas le focus.AFX_MBV_DISPLAYONFOCUS(0x02) : le menu est masqué par défaut. Si le menu est masqué, appuyez sur la touche Alt pour afficher le menu et lui donner le focus. Si le menu est affiché, appuyez sur la touche Alt ou Échap pour masquer le menu.AFX_MBV_DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10(0x06) : le menu est masqué par défaut. Si le menu est masqué, appuyez sur la touche F10 pour afficher le menu et lui donner le focus. Si le menu s’affiche, appuyez sur la touche F10 pour activer ou désactiver le focus sur le menu. Le menu s’affiche jusqu’à ce que vous appuyiez sur la touche Alt ou Échap pour la masquer.
Notes
Si la valeur du nStyle paramètre n’est pas valide, cette méthode s’affirme en mode Débogage et déclenche CInvalidArgException en mode Mise en production. En cas d’autres erreurs d’exécution, cette méthode s’affirme en mode Débogage et déclenche une exception dérivée de la CException classe.
Cette méthode affecte l’état des menus dans les applications écrites pour Windows Vista et versions ultérieures.
CFrameWnd::SetMessageText
Appelez cette fonction pour placer une chaîne dans le volet de barre d’état qui a un ID de 0.
void SetMessageText(LPCTSTR lpszText);
void SetMessageText(UINT nID);
Paramètres
lpszText
Pointe vers la chaîne à placer sur la barre d’état.
nID
ID de ressource de chaîne de la chaîne à placer dans la barre d’état.
Notes
Il s’agit généralement du volet le plus à gauche et le plus long de la barre d’état.
CFrameWnd::SetProgressBarPosition
Définit la position actuelle de la barre de progression Windows 7 affichée dans la barre des tâches.
void SetProgressBarPosition(int nProgressPos);
Paramètres
nProgressPos
Spécifie la position à définir. Elle doit se trouver dans la plage définie par SetProgressBarRange.
Notes
CFrameWnd::SetProgressBarRange
Définit la plage de la barre de progression Windows 7 affichée dans la barre des tâches.
void SetProgressBarRange(
int nRangeMin,
int nRangeMax);
Paramètres
nRangeMin
Valeur minimale.
nRangeMax
Valeur maximale.
Notes
CFrameWnd::SetProgressBarState
Définit le type et l’état de l’indicateur de progression affichés sur un bouton de barre des tâches.
void SetProgressBarState(TBPFLAG tbpFlags);
Paramètres
tbpFlags
Indicateurs qui contrôlent l’état actuel du bouton de progression. Spécifiez uniquement l’un des indicateurs suivants, car tous les états s’excluent mutuellement : TBPF_NOPROGRESS, , TBPF_INDETERMINATETBPF_NORMAL, TBPF_ERROR, TBPF_PAUSED.
Notes
CFrameWnd::SetTaskbarOverlayIcon
Surcharge. Applique une superposition à un bouton de barre des tâches pour indiquer l’état de l’application ou avertir l’utilisateur.
BOOL SetTaskbarOverlayIcon(
UINT nIDResource,
LPCTSTR lpcszDescr);
BOOL SetTaskbarOverlayIcon(
HICON hIcon,
LPCTSTR lpcszDescr);
Paramètres
nIDResource
Spécifie l’ID de ressource d’une icône à utiliser comme superposition. Pour plus d’informations hIcon , consultez la description.
lpcszDescr
Pointeur vers une chaîne qui fournit une version de texte de remplacement des informations transmises par la superposition, à des fins d’accessibilité.
hIcon
Handle d’une icône à utiliser comme superposition. Il doit s’agir d’une petite icône, mesurant 16 x 16 pixels à 96 points par pouce (ppp). Si une icône de superposition est déjà appliquée au bouton de la barre des tâches, cette superposition existante est remplacée. Cette valeur peut être NULL. La façon dont une NULL valeur est gérée dépend du bouton de la barre des tâches qui représente une seule fenêtre ou un groupe de fenêtres. Il incombe à l’application appelante de libérer hIcon lorsqu’elle n’est plus nécessaire.
Valeur de retour
TRUE si elle réussit ; FALSE si la version du système d’exploitation est inférieure à Windows 7 ou si une erreur se produit lors de la définition de l’icône.
Notes
CFrameWnd::SetTitle
Définit le titre de l’objet de fenêtre.
void SetTitle(LPCTSTR lpszTitle);
Paramètres
lpszTitle
Pointeur vers une chaîne de caractères contenant le titre de l’objet fenêtre.
CFrameWnd::ShowControlBar
Appelez cette fonction membre pour afficher ou masquer la barre de contrôle.
void ShowControlBar(
CControlBar* pBar,
BOOL bShow,
BOOL bDelay);
Paramètres
pBar
Pointeur vers la barre de contrôle à afficher ou masquer.
bShow
Si TRUE, spécifie que la barre de contrôle doit être affichée. Si FALSE, spécifie que la barre de contrôle doit être masquée.
bDelay
Si TRUE, retard affichant la barre de contrôle. Si FALSE, affichez immédiatement la barre de contrôle.
CFrameWnd::ShowOwnedWindows
Appelez cette fonction membre pour afficher toutes les fenêtres descendants de l’objet CFrameWnd .
void ShowOwnedWindows(BOOL bShow);
Paramètres
bShow
Spécifie si les fenêtres détenues doivent être affichées ou masquées.
Voir aussi
CWnd Classe
Graphique hiérarchique
CWnd Classe
CMDIFrameWnd Classe
CMDIChildWnd Classe
CView Classe
CDocTemplate Classe
CRuntimeClass Structure