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
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
* CDockingPanesRow
qui 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_dragFrameImpl
qui 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 CPaneFrameWnd
qui 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.