CPane, classe

La CPane classe est une amélioration de la classe CControlBar. Si vous mettez à niveau un projet MFC existant, remplacez toutes les occurrences par CControlBar CPane.

Syntaxe

class CPane : public CBasePane

Membres

Constructeurs publics

Nom Description
CPane::~CPane Destructeur.

Méthodes publiques

Nom Description
CPane ::AdjustSizeImmediate Recalcule immédiatement la disposition d’un volet.
CPane ::AllocElements Alloue le stockage pour une utilisation interne.
CPane ::AllowShowOnPaneMenu Spécifie si le volet est répertorié dans la liste générée par le runtime des volets pour l’application.
CPane ::CalcAvailableSize Calcule la différence de taille entre un rectangle spécifié et le rectangle de fenêtre actuel.
CPane ::CalcInsideRect Calcule le rectangle intérieur d’un volet, en tenant compte des bordures et des pinces.
CPane ::CalcRecentDockedRect Calcule le rectangle récemment ancré.
CPane ::CalcSize Calcule la taille du volet.
CPane ::CanBeDocked Détermine si le volet peut être ancré dans le volet de base spécifié.
CPane ::CanBeTabbedDocument Détermine si le volet peut être converti en document à onglets.
CPane ::ConvertToTabbedDocument Convertit un volet ancreable en document à onglets.
CPane ::CopyState Copie l’état d’un volet. (Remplacements CBasePane ::CopyState.)
CPane ::Create Crée une barre de contrôle et l’attache à l’objet CPane .
CPane ::CreateDefaultMiniframe Crée une fenêtre mini-frame pour un volet flottant.
CPane ::CreateEx Crée une barre de contrôle et l’attache à l’objet CPane .
CPane::CreateObject Utilisé par l'infrastructure pour créer une instance dynamique de ce type de classe.
CPane ::D ockByMouse Ancre un volet à l’aide de la méthode d’ancrage de la souris.
CPane ::D ockPane Ancre le volet flottant dans un volet de base.
CPane ::D ockPaneStandard Ancre un volet à l’aide de l’ancrage hiérarchique (standard).
CPane ::D ockToFrameWindow Ancre un volet d’ancrage sur un cadre. (Substitue CBasePane::DockToFrameWindow.)
CPane ::D oesAllowSiblingBars Indique si vous pouvez ancrer un autre volet sur la même ligne où le volet actif est ancré.
CPane ::FloatPane Flotte le volet.
CPane ::GetAvailableExpandSize Retourne la quantité, en pixels, que le volet peut développer.
CPane ::GetAvailableStretchSize Retourne la quantité, en pixels, que le volet peut réduire.
CPane ::GetBorders Retourne la largeur des bordures du volet.
CPane ::GetClientHotSpot Retourne le point chaud du volet.
CPane ::GetDockSiteRow Retourne la ligne d’ancrage dans laquelle le volet est ancré.
CPane ::GetExclusiveRowMode Détermine si le volet est en mode ligne exclusif.
CPane ::GetHotSpot Retourne le point chaud stocké dans un objet sous-jacent CMFCDragFrameImpl .
CPane ::GetMinSize Récupère la taille minimale autorisée pour le volet.
CPane ::GetPaneName Récupère le titre du volet.
CPane::GetResizeStep Utilisé en interne.
CPane::GetThisClass Utilisé par l’infrastructure pour obtenir un pointeur vers l’objet CRuntimeClass associé à ce type de classe.
CPane ::GetVirtualRect Récupère le rectangle virtuel du volet.
CPane ::IsChangeState À mesure que le volet est déplacé, cette méthode analyse la position du volet par rapport à d’autres volets, lignes d’ancrage et fenêtres mini-frame, et retourne la valeur AFX_CS_STATUS appropriée.
CPane ::IsDragMode Spécifie si le volet est déplacé.
CPane ::IsInFloatingMultiPaneFrameWnd Spécifie si le volet se trouve dans une fenêtre de cadre à plusieurs volets. (Substitue CBasePane::IsInFloatingMultiPaneFrameWnd.)
CPane ::IsLeftOf Détermine si le volet est à gauche (ou au-dessus) du rectangle spécifié.
CPane ::IsResizable Détermine si le volet peut être redimensionné. (Remplacements CBasePane ::IsResizable.)
CPane ::IsTabbed Détermine si le volet a été inséré dans le contrôle Onglet d’une fenêtre à onglets. (Remplacements CBasePane ::IsTabbed.)
CPane ::LoadState Charge l’état du volet à partir du Registre. (Remplacements CBasePane ::LoadState.)
CPane ::MoveByAlignment Déplace le volet et le rectangle virtuel par la quantité spécifiée.
CPane ::MovePane Déplace le volet vers le rectangle spécifié.
CPane ::OnAfterChangeParent Appelé par l’infrastructure lorsque le parent d’un volet a changé.
CPane ::OnBeforeChangeParent Appelé par l’infrastructure lorsque le parent du volet est sur le point de changer.
CPane ::OnPressCloseButton Appelé par l’infrastructure lorsque l’utilisateur choisit le bouton Fermer dans la légende du volet.
CPane::OnProcessDblClk Utilisé en interne.
CPane ::OnShowControlBarMenu Appelé par l'infrastructure quand un menu de volet spécial va être affiché.
CPane ::OnShowControlBarMenu Appelé par l'infrastructure quand un menu de volet spécial va être affiché.
CPane::PrepareToDock Utilisé en interne.
CPane ::RecalcLayout Recalcule les informations de disposition pour le volet. (Remplacements CBasePane ::RecalcLayout.)
CPane ::SaveState Enregistre l’état du volet dans le Registre. (Remplacements CBasePane ::SaveState.)
CPane ::SetActiveInGroup Signale un volet comme actif.
CPane ::SetBorders Définit les valeurs de bordure du volet.
CPane ::SetClientHotSpot Définit le point chaud du volet.
CPane ::SetDockState Restaure les informations d’état d’ancrage pour le volet.
CPane ::SetExclusiveRowMode Active ou désactive le mode de ligne exclusif.
CPane ::SetMiniFrameRTC Définit les informations de classe runtime pour la fenêtre mini-frame par défaut.
CPane ::SetMinSize Définit la taille minimale autorisée pour le volet.
CPane ::SetVirtualRect Définit le rectangle virtuel du volet.
CPane ::StretchPaneDeferWndPos Étire le volet verticalement ou horizontalement en fonction du style d’ancrage.
CPane ::ToggleAutoHide Bascule le mode de masquage automatique.
CPane ::UndockPane Supprime le volet du site d’ancrage, du curseur par défaut ou de la fenêtre mini-frame où il est actuellement ancré. (Remplacements CBasePane ::UndockPane.)
CPane ::UpdateVirtualRect Met à jour le rectangle virtuel.

Méthodes protégées

Nom Description
CPane ::OnAfterDock Appelé par l’infrastructure lorsqu’un volet a été ancré.
CPane ::OnAfterFloat Appelé par l’infrastructure lorsqu’un volet a été flottant.
CPane ::OnBeforeDock Appelé par l’infrastructure lorsque le volet est sur le point d’être ancré.
CPane ::OnBeforeFloat Appelé par l’infrastructure lorsqu’un volet est sur le point d’être flottant.

Données membres

Nom Description
CPane ::m_bHandleMinSize Permet une gestion cohérente de la taille minimale pour les volets.
CPane ::m_recentDockInfo Contient des informations d’ancrage récentes.

Notes

En règle générale, CPane les objets ne sont pas instanciés directement. Si vous avez besoin d’un volet doté de fonctionnalités d’ancrage, dérivez votre objet de CDockablePane. Si vous avez besoin de fonctionnalités de barre d’outils, dérivez votre objet de CMFCToolBar.

Lorsque vous dérivez une classe de CPane, elle peut être ancrée dans un CDockSite et peut être flottante dans un CPaneFrameWnd.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CBasePane

CPane

Spécifications

En-tête : afxPane.h

CPane ::AdjustSizeImmediate

Recalcule immédiatement la disposition d’un volet.

virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);

Paramètres

bRecalcLayout
[in] TRUE pour recalculer automatiquement la disposition du volet ; sinon, FALSE.

Notes

Appelez cette méthode lorsque vous modifiez dynamiquement la disposition d’un volet. Par exemple, vous pouvez appeler cette méthode lorsque vous masquez ou affichez des boutons de barre d’outils.

CPane ::AllocElements

Alloue le stockage pour une utilisation interne.

BOOL AllocElements(
    int nElements,
    int cbElement);

Paramètres

nElements
[in] Nombre d’éléments pour lesquels allouer le stockage.

cbElement
[in] Taille, en octets, d’un élément.

Valeur de retour

FALSE si l’allocation de mémoire échoue ; sinon, TRUE.

CPane ::AllowShowOnPaneMenu

Spécifie si le volet est répertorié dans la liste générée par le runtime des volets pour l’application.

virtual BOOL AllowShowOnPaneMenu() const;

Valeur de retour

TRUE si le volet est affiché dans la liste ; sinon, FALSE. L’implémentation de base retourne toujours TRUE.

Notes

L’application générée par AppWizard contient une option de menu qui répertorie les volets qu’il contient. Cette méthode détermine si le volet est affiché dans la liste.

CPane ::CalcAvailableSize

Calcule la différence de taille entre un rectangle spécifié et le rectangle de fenêtre actuel.

virtual CSize CalcAvailableSize(CRect rectRequired);

Paramètres

rectRequired
[in] Rectangle requis.

Valeur de retour

Différence de largeur et de hauteur entre rectRequired et le rectangle de la fenêtre active.

CPane ::CalcInsideRect

Calcule le rectangle intérieur d’un volet, y compris les bordures et les pinces.

void CalcInsideRect(
    CRect& rect,
    BOOL bHorz) const;

Paramètres

rect
[out] Contient la taille et le décalage de la zone cliente du volet.

bHorz
[in] TRUE si le volet est orienté horizontalement ; sinon, FALSE.

Notes

Cette méthode est appelée par l’infrastructure lorsqu’elle doit recalculer la disposition d’un volet. Le paramètre rect est rempli avec la taille et le décalage de la zone cliente du volet. Cela inclut ses bordures et ses pinces.

CPane ::CalcRecentDockedRect

Calcule le rectangle récemment ancré.

void CalcRecentDockedRect();

Notes

Cette méthode met à jour CPane ::m_recentDockInfo.

CPane ::CalcSize

Calcule la taille du volet.

virtual CSize CalcSize(BOOL bVertDock);

Paramètres

bVertDock
[in] TRUE si le volet est ancré verticalement, FALSE sinon.

Valeur de retour

L’implémentation par défaut de cette méthode retourne une taille de (0, 0).

Notes

Les classes dérivées doivent remplacer cette méthode.

CPane ::CanBeDocked

Détermine si le volet peut être ancré dans le volet de base spécifié.

virtual BOOL CanBeDocked(CBasePane* pDockBar) const;

Paramètres

pDockBar
[in] Spécifie le volet dans lequel ce volet doit être ancré.

Valeur de retour

TRUE si ce volet peut être ancré dans le volet d’ancrage spécifié ; sinon, FALSE.

Notes

Cette méthode est généralement appelée par l’infrastructure pour déterminer si un volet peut être ancré dans le volet d’ancrage spécifié. Pour déterminer si le volet peut être ancré, la méthode évalue l’alignement d’ancrage actuellement activé du volet.

Vous activez l’ancrage sur les différents côtés de la fenêtre frame en appelant CBasePane ::EnableDocking.

CPane ::CanBeTabbedDocument

Détermine si le volet peut être converti en document à onglets.

virtual BOOL CanBeTabbedDocument() const;

Valeur de retour

TRUE si le volet peut être converti en document à onglets ; sinon, FALSE.

Notes

Remplacez cette méthode dans une classe dérivée et retournez FALSE si vous souhaitez empêcher la conversion d’un volet en document à onglets. Un document à onglets ne sera pas répertorié dans le menu Position de la fenêtre.

CPane ::ConvertToTabbedDocument

Convertit un volet ancreable en document à onglets.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Paramètres

bActiveTabOnly
[in] Non utilisé dans CPane::ConvertToTabbedDocument.

Notes

Seuls les volets ancreables peuvent être convertis en documents à onglets. Pour plus d’informations, consultez CDockablePane ::ConvertToTabbedDocument.

CPane ::CopyState

Copie l’état d’un volet.

virtual void CopyState(CPane* pOrgBar);

Paramètres

pOrgBar
[in] Pointeur vers un volet.

Notes

Cette méthode copie l’état de pOrgBar dans le volet actif.

CPane ::Create

Crée une barre de contrôle et l’attache à l’objet CPane .

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

Paramètres

lpszClassName
[in] Spécifie le nom de la classe Windows.

dwStyle
[in] Spécifie les attributs de style de fenêtre. Pour plus d’informations, consultez Styles de fenêtre.

rect
[in] Spécifie la taille et la position initiales de la fenêtre pParentWnd , dans les coordonnées du client.

pParentWnd
[in, out] Spécifie la fenêtre parente de ce volet.

nID
[in] Spécifie l’ID du volet.

dwControlBarStyle
[in] Spécifie le style du volet. Pour plus d’informations, consultez CBasePane ::CreateEx.

pContext
[in, out] Spécifie le contexte de création du volet.

Valeur de retour

TRUE si le volet a été créé avec succès ; sinon, FALSE.

Notes

Cette méthode crée un volet Windows et l’attache à l’objet CPane .

Si vous n’avez pas initialisé explicitement CPane ::m_recentDockInfo avant d’appeler Create, le paramètre rect sera utilisé comme rectangle lors de la flottante ou de l’ancrage du volet.

CPane ::CreateDefaultMiniframe

Crée une fenêtre mini-frame pour un volet flottant.

virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);

Paramètres

rectInitial
[in] Spécifie la taille et la position initiales, dans les coordonnées de l’écran, de la fenêtre mini-frame à créer.

Valeur de retour

Fenêtre mini-frame nouvellement créée.

Notes

Cette méthode est appelée par l’infrastructure pour créer une fenêtre mini-frame lorsqu’un volet est flottant. La fenêtre mini-frame peut être de type CPaneFrameWnd ou de type CMultiPaneFrameWnd. Une fenêtre multi-frame est créée si le volet a le style AFX_CBRS_FLOAT_MULTI.

Les informations de classe runtime pour la fenêtre mini-frame sont stockées dans le CPane::m_pMiniFrameRTC membre. Vous pouvez utiliser une classe dérivée pour définir ce membre si vous décidez de créer des fenêtres mini-frame personnalisées.

CPane ::CreateEx

Crée une barre de contrôle et l’attache à l’objet CPane .

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszClassName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
    CCreateContext* pContext = NULL);

Paramètres

dwStyleEx
[in] Spécifie les attributs de style de fenêtre étendus. Pour plus d’informations, consultez Styles de fenêtre étendus.

lpszClassName
[in] Spécifie le nom de la classe Windows.

dwStyle
[in] Spécifie les attributs de style de fenêtre. Pour plus d’informations, consultez Styles de fenêtre.

rect
[in] Spécifie la taille et la position initiales de la fenêtre pParentWnd , dans les coordonnées du client.

pParentWnd
[in, out] Spécifie la fenêtre parente de ce volet.

nID
[in] Spécifie l’ID du volet.

dwControlBarStyle
[in] Spécifie le style du volet. Pour plus d’informations, consultez CBasePane ::CreateEx.

pContext
[in, out] Spécifie le contexte de création du volet.

Valeur de retour

TRUE si le volet a été créé avec succès ; sinon, FALSE.

Notes

Cette méthode crée un volet Windows et l’attache à l’objet CPane .

Si vous n’avez pas initialisé explicitement CPane ::m_recentDockInfo avant d’appeler CreateEx, le paramètre rect sera utilisé comme rectangle lors de la flottante ou de l’ancrage du volet.

CPane ::D ockByMouse

Ancre un volet à l’aide de la souris.

virtual BOOL DockByMouse(CBasePane* pDockBar);

Paramètres

pDockBar
[in] Spécifie le volet de base auquel ancrer ce volet.

Valeur de retour

TRUE si le volet a été ancré avec succès ; sinon, FALSE.

CPane ::D ockPane

Ancre le volet flottant dans un volet de base.

virtual BOOL DockPane(
    CBasePane* pDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Paramètres

pDockBar
[in, out] Spécifie le volet de base pour ancrer ce volet.

lpRect
[in] Spécifie le rectangle dans le volet de base où ce volet doit être ancré.

dockMethod
[in] Spécifie la méthode d’ancrage à utiliser. Les options disponibles sont les suivantes :

Option Description
DM_UNKNOWN L’infrastructure utilise cette option lorsque la méthode d’ancrage est inconnue. Le volet ne stocke pas sa position flottante la plus récente. Vous pouvez également utiliser cette option pour ancrer par programmation un volet lorsque vous n’avez pas besoin de stocker la position flottante récente.
DM_MOUSE Utilisé en interne.
DM_DBL_CLICK Cette option est utilisée lorsque le grippeur est double-cliqué. Le volet est repositionné à sa position d’ancrage la plus récente. Si le volet n’est pas suspendu en double-cliquant, le volet est repositionné à sa position flottante la plus récente.
DM_SHOW Cette option peut être utilisée pour ancrer le volet par programmation. Le volet stocke sa position flottante la plus récente.
DM_RECT Le volet est ancré dans la région spécifiée par lpRect.
DM_STANDARD Lorsque vous utilisez cette option, l’infrastructure dessine le volet sous la forme d’un cadre hiérarchique pendant son déplacement.

Valeur de retour

TRUE si le volet a été ancré avec succès ; sinon, FALSE.

Notes

Cette méthode ancre le volet dans le volet de base spécifié par le paramètre pDockBar . Vous devez d’abord activer l’ancrage en appelant CBasePane ::EnableDocking.

CPane ::D ockPaneStandard

Ancre un volet à l’aide de l’ancrage hiérarchique (standard).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Paramètres

bWasDocked
[in] TRUE si le volet a été correctement ancré ; sinon, FALSE.

Valeur de retour

Cette méthode retourne toujours le this pointeur.

Notes

Cette méthode est utilisée uniquement pour les volets dérivés de la classe CDockablePane. Pour plus d’informations, consultez CDockablePane ::D ockPaneStandard.

CPane ::D ockToFrameWindow

Ancre un volet d’ancrage sur un cadre.

virtual BOOL DockToFrameWindow(
    DWORD dwAlignment,
    LPCRECT lpRect = NULL,
    DWORD dwDockFlags = DT_DOCK_LAST,
    CBasePane* pRelativeBar = NULL,
    int nRelativeIndex = -1,
    BOOL bOuterEdge = FALSE);

Paramètres

dwAlignment
[in] Côté du cadre parent auquel vous souhaitez ancrer le volet.

lpRect
[in] Taille spécifiée.

dwDockFlags
[in] Ignoré.

pRelativeBar
[in] Ignoré.

nRelativeIndex
[in] Ignoré.

bOuterEdge
[in] Si TRUE et qu’il existe d’autres volets ancrés sur le côté spécifiés par dwAlignment, le volet est ancré en dehors des autres volets, plus près du bord du cadre parent. Si la valeur est FALSE, le volet est ancré plus près du centre de la zone cliente.

Valeur de retour

FALSE si un séparateur de volets ( classe CPaneDivider) ne peut pas être créé ; sinon, TRUE.

Notes

CPane ::D oesAllowSiblingBars

Indique si vous pouvez ancrer un autre volet sur la même ligne où le volet actif est ancré.

virtual BOOL DoesAllowSiblingBars() const;

Valeur de retour

TRUE si ce volet peut ancrer un autre volet sur la même ligne que lui-même ; sinon, FALSE.

Notes

Vous pouvez activer ou désactiver ce comportement en appelant CPane ::SetExclusiveRowMode.

Par défaut, les barres d’outils ont le mode ligne exclusif désactivé et la barre de menus a activé le mode ligne exclusif.

CPane ::FloatPane

Flotte le volet.

virtual BOOL FloatPane(
    CRect rectFloat,
    AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
    bool bShow = true);

Paramètres

rectFloat
[in] Spécifie l’emplacement, dans les coordonnées de l’écran, pour positionner le volet lorsqu’il est flottant.

dockMethod
[in] Spécifie la méthode d’ancrage à utiliser lorsque le volet est flottant. Pour obtenir la liste des valeurs possibles, consultez CPane ::D ockPane.

bShow
[in] TRUE pour afficher le volet lorsqu’il est flottant ; sinon, FALSE.

Valeur de retour

TRUE si le volet a été flottant correctement ou si le volet ne peut pas être flottant, car CBasePane ::CanFloat retourne FALSE ; sinon, FALSE.

Notes

Appelez cette méthode pour flotter le volet à la position spécifiée par le paramètre rectFloat . Cette méthode crée automatiquement une fenêtre mini-frame parente pour le volet.

CPane ::GetAvailableExpandSize

Retourne la quantité, en pixels, que le volet peut développer.

virtual int GetAvailableExpandSize() const;

Valeur de retour

Si le volet est ancré horizontalement, la valeur de retour est la largeur disponible ; sinon, la valeur de retour est la hauteur disponible.

Notes

CPane ::GetAvailableStretchSize

Retourne la quantité, en pixels, que le volet peut réduire.

virtual int GetAvailableStretchSize() const;

Valeur de retour

Quantité, en pixels, que le volet peut réduire. Si le volet est ancré horizontalement, cette quantité est la largeur disponible ; sinon, il s’agit de la hauteur disponible.

Notes

La taille d’étirement disponible est calculée en soustrayant la taille minimale autorisée pour le volet ( CPane ::GetMinSize) de la taille actuelle ( CWnd ::GetWindowRect).

CPane ::GetBorders

Retourne la largeur des bordures du volet.

CRect GetBorders() const;

Valeur de retour

Objet CRect qui contient la largeur actuelle, en pixels, de chaque côté du volet. Par exemple, la valeur du left membre de l’objet CRect est la largeur de la bordure gauche.

Notes

Pour définir la taille des bordures, appelez CPane ::SetBorders.

CPane ::GetClientHotSpot

Retourne le point chaud du volet.

CPoint GetClientHotSpot() const;

Valeur de retour

Notes

Le point chaud est le point dans le volet que l’utilisateur sélectionne et conserve pour déplacer le volet. Un point chaud est utilisé pour l’animation fluide lorsque le volet est déplacé d’une position ancrée.

CPane ::GetDockSiteRow

Retourne la ligne d’ancrage ( classe CDockingPanesRow) dans laquelle le volet est ancré.

CDockingPanesRow* GetDockSiteRow() const;

Valeur de retour

* CDockingPanesRowqui pointe vers la ligne d’ancrage dans laquelle le volet est ancré, ou NULL si le volet n’est pas ancré.

CPane ::GetExclusiveRowMode

Détermine si le volet est en mode ligne exclusif.

virtual BOOL GetExclusiveRowMode() const;

Valeur de retour

TRUE si le volet est en mode ligne exclusif ; sinon, FALSE.

Notes

Pour plus d’informations sur le mode de ligne exclusif, consultez CPane ::SetExclusiveRowMode.

CPane ::GetHotSpot

Retourne le point chaud stocké dans un objet sous-jacent CMFCDragFrameImpl .

CPoint GetHotSpot() const;

Valeur de retour

Notes

La CPane classe contient un CMFCDragFrameImpl objet, m_dragFrameImplqui est chargé de dessiner le rectangle qui s’affiche lorsque l’utilisateur déplace un volet en mode d’ancrage standard. Le point chaud est utilisé pour dessiner le rectangle par rapport à la position actuelle de la souris lorsque l’utilisateur déplace le volet.

CPane ::GetMinSize

Récupère la taille minimale autorisée pour le volet.

virtual void GetMinSize(CSize& size) const;

Paramètres

size
[out] Objet CSize rempli avec la taille minimale autorisée.

Notes

CPane ::GetPaneName

Récupère le titre du volet.

virtual void GetPaneName(CString& strName) const;

Paramètres

strName
[out] Objet CString rempli avec le nom de la légende.

Notes

Le titre du volet s’affiche dans la zone de légende lorsque le volet est ancré ou flottant. Si le volet fait partie d’un groupe à onglets, le titre s’affiche dans la zone d’onglets. Si le volet est en mode de masquage automatique, le titre s’affiche sur un CMFCAutoHideButton.

CPane ::GetVirtualRect

Récupère le rectangle virtuel du volet.

void GetVirtualRect(CRect& rectVirtual) const;

Paramètres

rectVirtual
[out] Objet CRect rempli avec le rectangle virtuel.

Notes

Lorsqu’un volet est déplacé, l’infrastructure stocke la position d’origine du volet dans un rectangle virtuel. L’infrastructure peut utiliser le rectangle virtuel pour restaurer la position d’origine du volet.

N’appelez pas de méthodes liées aux rectangles virtuels, sauf si vous déplacez des volets par programmation.

CPane ::IsChangeState

À mesure que le volet est déplacé, cette méthode analyse sa position par rapport à d’autres volets, lignes d’ancrage et fenêtres mini-frame, et retourne la valeur de AFX_CS_STATUS appropriée.

virtual AFX_CS_STATUS IsChangeState(
    int nOffset,
    CBasePane** ppTargetBar) const;

Paramètres

nOffset
[in] Spécifie la sensibilité d’ancrage. Par exemple, un volet déplacé au sein de nOffset pixels à partir d’une ligne d’ancrage est ancré.

ppTargetBar
[in] Lorsque la méthode est retournée, ppTargetBar contient un pointeur vers l’objet vers lequel le volet actif doit être ancré, ou NULL si aucun ancrage ne doit se produire.

Valeur de retour

Une des valeurs AFX_CS_STATUS suivantes :

Valeur Description
CS_NOTHING Le volet n’est pas près d’un site d’ancrage. L’infrastructure n’ancre pas le volet.
CS_DOCK_IMMEDIATELY Le volet se trouve sur un site d’ancrage et le style DT_IMMEDIATE est activé. L’infrastructure ancre immédiatement le volet.
CS_DELAY_DOCK Le volet se trouve sur un site d’ancrage qui est soit un autre volet d’ancrage, soit un bord du cadre principal. L’infrastructure ancre le volet lorsque l’utilisateur libère le déplacement.
CS_DELAY_DOCK_TO_TAB Le volet se trouve sur un site d’ancrage qui provoque l’ancrage du volet dans une fenêtre à onglets. Cela se produit lorsque le volet est sur la légende d’un autre volet d’ancrage ou sur la zone d’onglet d’un volet à onglets. L’infrastructure ancre le volet lorsque l’utilisateur libère le déplacement.

CPane ::IsDragMode

Spécifie si le volet est déplacé.

virtual BOOL IsDragMode() const;

Valeur de retour

TRUE si le volet est déplacé ; sinon, FALSE.

Notes

CPane ::IsInFloatingMultiPaneFrameWnd

Spécifie si le volet se trouve dans une fenêtre de cadre à plusieurs volets ( classe CMultiPaneFrameWnd).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valeur de retour

TRUE si le volet se trouve dans une fenêtre frame à plusieurs volets ; sinon, FALSE.

Notes

Seuls les volets ancreables peuvent flotter dans une fenêtre frame à plusieurs volets. Par conséquent, CPane::IsInFloatingMultiPaneFrameWnd retourne toujours FALSE.

CPane ::IsLeftOf

Détermine si le volet est à gauche (ou au-dessus) du rectangle spécifié.

bool IsLeftOf(
    CRect rect,
    bool bWindowRect = true) const;

Paramètres

rect
[in] Objet CRect utilisé pour la comparaison.

bWindowRect
[in] Si true, rect est supposé contenir des coordonnées d’écran ; si false, rect est supposé contenir des coordonnées clientes.

Valeur de retour

Notes

Si le volet est ancré horizontalement, cette méthode vérifie si son emplacement est à gauche de rect. Dans le cas contraire, cette méthode vérifie si l’emplacement est au-dessus de la rect.

CPane ::IsResizable

Spécifie si le volet est redimensionnable.

virtual BOOL IsResizable() const;

Valeur de retour

TRUE si le volet est redimensionnable ; sinon, FALSE.

Notes

Les objets de base CPane ne sont pas redimensionnables.

Le gestionnaire d’ancrage utilise l’indicateur redimensionnable pour déterminer la disposition du volet. Les volets non redimensionnables sont toujours situés aux bords externes du cadre parent.

Les volets non redimensionnables ne peuvent pas résider dans des conteneurs d’ancrage.

CPane ::IsTabbed

Détermine si le volet a été inséré dans le contrôle Onglet d’une fenêtre à onglets.

virtual BOOL IsTabbed() const;

Valeur de retour

TRUE si le volet est tabulé ; sinon, FALSE.

Notes

L’état de tabulation est traité séparément des états flottants, ancrés et masqués automatiquement.

CPane ::LoadState

Charge l’état du volet à partir du Registre.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT) -1);

Paramètres

lpszProfileName
[in] Nom du profil.

nIndex
[in] Index de profil.

uiID
[in] ID du volet.

Valeur de retour

TRUE si l’état du volet a été chargé avec succès ; sinon, FALSE.

Notes

L’infrastructure appelle cette méthode pour charger l’état du volet à partir du Registre. Remplacez-le dans une classe dérivée pour charger des informations supplémentaires enregistrées par CPane ::SaveState.

Lorsque vous remplacez cette méthode, appelez également la méthode de base et retournez FALSE si la méthode de base retourne FALSE.

CPane ::m_bHandleMinSize

Permet une gestion cohérente des tailles minimales de volet.

AFX_IMPORT_DATA static BOOL m_bHandleMinSize;

Notes

Si un ou plusieurs volets d’ancrage dans votre application remplacent GetMinSize, ou si votre application appelle SetMinSize, vous pouvez définir ce membre statique sur TRUE pour permettre au framework de gérer de manière cohérente la taille des volets.

Si cette valeur est définie sur TRUE, tous les volets dont la taille doit être réduite en dessous de leur taille minimale sont rognés, et non étirés. Étant donné que l’infrastructure utilise des régions de fenêtre à des fins de dimensionnement de volet, ne modifiez pas la taille de la région de fenêtre pour les volets d’ancrage si cette valeur a la valeur TRUE.

CPane ::m_recentDockInfo

Contient des informations d’ancrage récentes.

CRecentDockSiteInfo m_recentDockInfo;

Notes

L’infrastructure stocke les dernières informations d’état d’ancrage pour le volet de ce membre.

CPane ::MoveByAlignment

Déplace le volet et le rectangle virtuel par la quantité spécifiée.

BOOL MoveByAlignment(
    DWORD dwAlignment,
    int nOffset);

Paramètres

dwAlignment
[in] Spécifie l’alignement du volet.

nOffset
[in] Quantité, en pixels, par laquelle déplacer le volet et le rectangle virtuel.

Valeur de retour

Notes

dwAlignment peut être l’une des valeurs suivantes :

Valeur Description
CBRS_ALIGN_TOP Permet au volet d’être ancré en haut de la zone cliente d’une fenêtre frame.
CBRS_ALIGN_BOTTOM Permet au volet d’être ancré au bas de la zone cliente d’une fenêtre frame.
CBRS_ALIGN_LEFT Permet au volet d’être ancré à gauche de la zone cliente d’une fenêtre frame.
CBRS_ALIGN_RIGHT Permet au volet d’être ancré à droite de la zone cliente d’une fenêtre frame.
CBRS_ALIGN_ANY Permet au volet d’être ancré à n’importe quel côté de la zone cliente d’une fenêtre frame.

Si dwAlignment contient l’indicateur CBRS_ALIGN_LEFT ou CBRS_ALIGN_RIGHT, le volet et le rectangle virtuel sont déplacés horizontalement ; sinon, si dwAlignment contient l’indicateur CBRS_ALIGN_TOP ou CBRS_ALIGN_BOTTOM, le volet et le rectangle virtuel sont déplacés verticalement.

CPane ::MovePane

Déplace le volet vers le rectangle spécifié.

virtual CSize MovePane(
    CRect rectNew,
    BOOL bForceMove,
    HDWP& hdwp);

Paramètres

rectNew
[in] Spécifie le nouveau rectangle pour le volet.

bForceMove
[in] Si la valeur est TRUE, cette méthode ignore la taille minimale autorisée du volet ( CPane ::GetMinSize) ; sinon, le volet est ajusté, le cas échéant, pour s’assurer qu’il est au moins la taille minimale autorisée.

hdwp
[in] Non utilisé.

Valeur de retour

Objet CSize qui contient les différences de largeur et de hauteur entre les nouveaux et anciens rectangles (ancien rectangle - rectNew).

Notes

Cette méthode est utilisée uniquement pour les volets ancreables.

CPane ::OnAfterChangeParent

Appelé par l’infrastructure lorsque le parent d’un volet a changé.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Paramètres

pWndOldParent
[in, out] Fenêtre parente précédente du volet.

Notes

Cette méthode est appelée par l’infrastructure lorsque le parent d’un volet a changé en raison d’une opération d’ancrage ou flottante.

CPane ::OnAfterDock

Appelé par l’infrastructure lorsqu’un volet a été ancré.

virtual void OnAfterDock(
    CBasePane* pBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Paramètres

pBar
[in] Ce paramètre n’est pas utilisé.

lpRect
[in] Ce paramètre n’est pas utilisé.

dockMethod
[in] Ce paramètre n’est pas utilisé.

CPane ::OnAfterFloat

Appelé par l’infrastructure après un volet flottant.

virtual void OnAfterFloat();

Notes

Vous pouvez remplacer cette méthode dans une classe dérivée si vous souhaitez effectuer un traitement après un volet flottant.

CPane ::OnBeforeChangeParent

Appelé par l’infrastructure lorsque le parent du volet est sur le point de changer.

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

Paramètres

pWndNewParent
[in, out] Spécifie la nouvelle fenêtre parente.

bDelay
[in] TRUE pour retarder l’ajustement global de la disposition d’ancrage ; sinon, FALSE.

Notes

Cette méthode est appelée par l’infrastructure lorsque le parent du volet est sur le point de changer, car le volet est ancré ou flottant.

Par défaut, le volet n’est pas inscrit avec le volet d’ancrage en appelant CDockSite::RemovePane.

CPane ::OnBeforeDock

Appelé par l’infrastructure lorsque le volet est sur le point d’ancrer.

virtual BOOL OnBeforeDock(
    CBasePane** ppDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Paramètres

ppDockBar
[in, out] Spécifie le volet auquel ce volet est ancré.

lpRect
[in] Spécifie le rectangle d’ancrage.

dockMethod
[in] Spécifie la méthode d’ancrage.

Valeur de retour

TRUE si le volet peut être ancré. Si la fonction retourne FALSE, l’opération d’ancrage est abandonnée.

Notes

Cette méthode est appelée par l’infrastructure lorsqu’un volet est sur le point d’être ancré. Vous pouvez remplacer cette méthode dans une classe dérivée si vous souhaitez effectuer un traitement avant qu’un volet ne soit finalement ancré.

CPane ::OnBeforeFloat

Appelé par l’infrastructure lorsqu’un volet est sur le point de flotter.

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

Paramètres

rectFloat
[in] Spécifie la position et la taille du volet lorsqu’il est dans un état flottant.

dockMethod
[in] Spécifie la méthode d’ancrage du volet.

Valeur de retour

TRUE si le volet peut être flottant ; sinon, FALSE.

Notes

Cette méthode est appelée par l’infrastructure lorsqu’un volet est sur le point de flotter. Vous pouvez remplacer cette méthode dans une classe dérivée si vous souhaitez effectuer un traitement avant que le volet ne flotte.

CPane ::OnPressCloseButton

Appelé par l’infrastructure lorsque l’utilisateur appuie sur le bouton fermer sur la légende du volet.

virtual void OnPressCloseButton();

Notes

Cette méthode est appelée par l’infrastructure lorsqu’un utilisateur appuie sur le bouton Fermer sur la légende du volet. Pour recevoir des notifications sur l’événement Close , vous pouvez remplacer cette méthode dans une classe dérivée.

CPane ::OnShowControlBarMenu

Appelé par l'infrastructure quand un menu de volet spécial va être affiché.

virtual BOOL OnShowControlBarMenu(CPoint point);

Paramètres

point
[in] Spécifie l’emplacement du menu.

Valeur de retour

TRUE si le menu peut être affiché ; sinon, FALSE.

Notes

Le menu contient plusieurs éléments qui vous permettent de spécifier le comportement du volet, à savoir : Flottant, Docking, AutoHide et Hide. Vous pouvez activer ce menu pour tous les volets en appelant CDockingManager ::EnableDockSiteMenu.

CPane ::RecalcLayout

Recalcule les informations de disposition pour le volet.

virtual void RecalcLayout();

Notes

Si le volet est ancré, cette méthode met à jour le rectangle virtuel du volet en définissant sa taille sur la taille actuelle du volet.

Si le volet est flottant, cette méthode avertit le mini-cadre parent pour ajuster la taille du volet à la taille du mini-cadre. L’infrastructure garantit que le mini-frame est au moins la taille minimale autorisée pour le volet ( CPane ::GetMinSize) et redimensionne le mini-frame si nécessaire.

CPane ::SaveState

Enregistre l’état du volet dans le Registre.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT) -1);

Paramètres

lpszProfileName
[in] Nom du profil.

nIndex
[in] Index de profil.

uiID
[in] ID du volet.

Valeur de retour

TRUE si l’état a été enregistré avec succès ; sinon, FALSE.

Notes

L’infrastructure appelle cette méthode lorsqu’elle enregistre l’état du volet dans le Registre. Remplacez SaveState dans une classe dérivée pour stocker des informations supplémentaires.

Lorsque vous remplacez cette méthode, appelez également la méthode de base et retournez FALSE si la méthode de base retourne FALSE.

CPane ::SetActiveInGroup

Signale un volet comme actif.

virtual void SetActiveInGroup(BOOL bActive);

Paramètres

bActive
[in] BoOL qui spécifie si le volet est marqué comme actif.

Notes

Lorsqu’un volet ancreable s’affiche ou qu’un bouton de masquage automatique est choisi, le volet de masquage automatique correspondant est marqué comme actif.

L’apparence d’un bouton de masquage automatique associé au volet est basé sur deux facteurs. Si le volet est actif et que static BOOL CMFCAutoHideButton::m_bOverlappingTabs la valeur est TRUE, l’infrastructure affiche le bouton masquer automatiquement sous forme d’icône et d’étiquette. Pour un volet inactif, l’infrastructure affiche uniquement l’icône de masquage automatique.

Si CMFCAutoHideButton::m_bOverlappingTabs la valeur est FALSE ou si le volet n’est pas situé dans un groupe, l’infrastructure affiche le bouton de masquage automatique associé sous forme d’icône et d’étiquette.

CPane ::SetBorders

Définit les valeurs de bordure du volet.

void SetBorders(
    int cxLeft = 0,
    int cyTop = 0,
    int cxRight = 0,
    int cyBottom = 0);

void SetBorders(LPCRECT lpRect);

Paramètres

cxLeft
[in] Spécifie la largeur, en pixels, de la bordure gauche du volet.

cyTop
[in] Spécifie la largeur, en pixels, de la bordure supérieure du volet.

cxRight
[in] Spécifie la largeur, en pixels, de la bordure droite du volet.

cyBottom
[in] Spécifie la largeur, en pixels, de la bordure inférieure du volet.

lpRect
[in] Objet CRect qui contient la largeur, en pixels, de chaque bordure du volet.

Notes

Appelez cette fonction pour définir les tailles des bordures du volet.

CPane ::SetClientHotSpot

Définit le point chaud du volet.

void SetClientHotSpot(const CPoint& ptNew);

Paramètres

ptNew
[in] Objet CPoint qui spécifie le nouveau point chaud.

Notes

Le point chaud est le point dans le volet que l’utilisateur sélectionne et conserve pour déplacer le volet. Un point chaud est utilisé pour l’animation lisse lorsque le volet est déplacé à partir d’une position ancrée.

CPane ::SetDockState

Restaure les informations d’état d’ancrage pour le volet.

virtual void SetDockState(CDockingManager* pDockManager);

Paramètres

pDockManager
[in] Pointeur vers le gestionnaire d’ancrage pour la fenêtre frame principale.

Notes

Cette méthode est appelée par l’infrastructure pour restaurer les informations d’état d’ancrage récentes pour le volet. Un volet stocke les informations d’état d’ancrage récentes dans CPane ::m_recentDockInfo. Pour plus d’informations, consultez la classe CRecentDockSiteInfo.

Vous pouvez également appeler cette méthode pour définir l’état d’ancrage lorsque vous chargez des informations de volet à partir d’une source externe.

CPane ::SetExclusiveRowMode

Active ou désactive le mode de ligne exclusif.

virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);

Paramètres

bExclusive
[in] TRUE pour activer le mode de ligne exclusif ; sinon, FALSE.

Notes

Appelez cette méthode pour activer ou désactiver le mode de ligne exclusif. Lorsqu’un volet est en mode ligne exclusif, il ne peut pas partager la même ligne avec d’autres barres d’outils.

Par défaut, toutes les barres d’outils ont le mode ligne exclusif désactivé et la barre de menus est activée.

CPane ::SetMinSize

Définit la taille minimale autorisée pour le volet.

void SetMinSize(const CSize& size);

Paramètres

size
[in] Objet CSize qui contient la taille minimale autorisée pour le volet.

Notes

CPane ::SetVirtualRect

Définit le rectangle virtuel du volet.

void SetVirtualRect(
    const CRect& rect,
    BOOL bMapToParent = TRUE);

Paramètres

rect
[in] Objet CRect qui spécifie le rectangle virtuel à définir.

bMapToParent
[in] Spécifiez TRUE si rect contient des points par rapport à la fenêtre parente.

Notes

Un rectangle virtuel stocke la position d’origine d’un volet lorsqu’il est déplacé. L’infrastructure peut utiliser le rectangle virtuel pour restaurer la position d’origine.

N’appelez pas de méthodes liées aux rectangles virtuels, sauf si vous déplacez des volets par programmation.

CPane ::SetMiniFrameRTC

Définit les informations de classe runtime pour la fenêtre mini-frame par défaut.

void SetMiniFrameRTC(CRuntimeClass* pClass);

Paramètres

pClass
[in, out] Spécifie les informations de classe runtime pour la fenêtre mini-frame.

Notes

Lorsqu’un volet est flottant, il est placé sur une fenêtre CPaneFrameWnd (mini-frame). Vous pouvez fournir une classe dérivée personnalisée CPaneFrameWndqui sera utilisée lorsque CPane ::CreateDefaultMiniframe est appelé.

CPane ::StretchPaneDeferWndPos

Étire le volet verticalement ou horizontalement en fonction du style d’ancrage.

virtual int StretchPaneDeferWndPos(
    int nStretchSize,
    HDWP& hdwp);

Paramètres

nStretchSize
[in] Quantité, en pixels, pour étirer le volet. Utilisez une valeur négative pour réduire le volet.

hdwp
[in] Non utilisé.

Valeur de retour

Quantité réelle, en pixels, que le volet a été étiré.

Notes

Si nécessaire, cette méthode modifie nStretchSize pour s’assurer que le volet ne dépasse pas les limites de taille. Ces limites sont obtenues en appelant CPane ::GetAvailableStretchSize et CPane ::GetAvailableExpandSize.

CPane ::ToggleAutoHide

Bascule le mode de masquage automatique.

virtual void ToggleAutoHide();

Notes

Appelez cette méthode pour activer/masquer automatiquement le mode. Un volet doit être ancré dans une fenêtre de cadre principale afin d’être basculé en mode masquage automatique.

CPane ::UndockPane

Supprime le volet du site d’ancrage, du curseur par défaut ou de la fenêtre mini-frame où il est actuellement ancré.

virtual void UndockPane(BOOL bDelay = FALSE);

Paramètres

bDelay
[in] Si la valeur est FALSE, l’infrastructure appelle CBasePane ::AdjustDockingLayout pour ajuster la disposition d’ancrage.

Notes

Utilisez cette méthode pour dissocier par programmation un volet.

CPane ::UpdateVirtualRect

Met à jour le rectangle virtuel.

void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);

Paramètres

ptOffset
[in] Objet CPoint qui spécifie un décalage par lequel déplacer le volet.

sizeNew
[in] Objet CSize qui spécifie une nouvelle taille pour le volet.

Notes

La première surcharge définit le rectangle virtuel à l’aide de la position et de la taille actuelles du volet.

La deuxième surcharge déplace le rectangle virtuel par la quantité spécifiée par ptOffset.

La troisième surcharge définit le rectangle virtuel à l’aide de la position actuelle du volet et de la taille spécifiée par sizeNew.

Voir aussi

Graphique hiérarchique
Classes
CBasePane, classe