classe CDockablePane
Implémente un volet qui peut être ancré dans un site d’ancrage ou inclus dans un volet à onglets.
Syntaxe
class CDockablePane : public CPane
Membres
Constructeurs publics
Nom | Description |
---|---|
CDockablePane::CDockablePane |
Construit et initialise un objet CDockablePane . |
Méthodes publiques
Nom | Description |
---|---|
CDockablePane::AttachToTabWnd |
Attache un volet à un autre volet. Cela crée un volet à onglets. |
CDockablePane::CalcFixedLayout |
Retourne la taille du rectangle du volet. |
CDockablePane::CanAcceptMiniFrame |
Détermine si le mini frame spécifié peut être ancré dans le volet. |
CDockablePane::CanAcceptPane |
Détermine si un autre volet peut être ancré dans le volet actif. |
CDockablePane::CanAutoHide |
Détermine si le volet prend en charge le mode de masquage automatique. (Substitue CBasePane::CanAutoHide .) |
CDockablePane::CanBeAttached |
Détermine si le volet actif peut être ancré à un autre volet. |
CDockablePane::ConvertToTabbedDocument |
Convertit un ou plusieurs volets ancrés en documents à ongletS MDI. |
CDockablePane::CopyState |
Copie l’état d’un volet ancre. |
CDockablePane::Create |
Crée le contrôle Windows et l’attache à l’objet CDockablePane . |
CDockablePane::CreateDefaultPaneDivider |
Crée un séparateur par défaut pour le volet tel qu’il est ancré dans une fenêtre frame. |
CDockablePane::CreateEx |
Crée le contrôle Windows et l’attache à l’objet CDockablePane . |
CDockablePane::CreateTabbedPane |
Crée un volet à onglets à partir du volet actif. |
CDockablePane::DockPaneContainer |
Ancre un conteneur dans le volet. |
CDockablePane::DockPaneStandard |
Ancre un volet à l’aide de l’ancrage hiérarchique (standard). |
CDockablePane::DockToFrameWindow |
Utilisé en interne. Pour ancrer un volet, utilisez CPane::DockPane ou CDockablePane::DockToWindow . |
CDockablePane::DockToRecentPos |
Ancre un volet à sa position d’ancrage récente stockée. |
CDockablePane::DockToWindow |
Ancre un volet d’ancrage vers un autre volet d’ancrage. |
CDockablePane::EnableAutohideAll |
Active ou désactive le mode de masquage automatique pour ce volet avec d’autres volets du conteneur. |
CDockablePane::EnableGripper |
Affiche ou masque la légende (grippe). |
CDockablePane::GetAHRestoredRect |
Spécifie la position du volet lorsqu’il est visible en mode masquage automatique. |
CDockablePane::GetAHSlideMode |
Récupère le mode masque automatiquement la diapositive pour le volet. |
CDockablePane::GetAutoHideButton |
Utilisé en interne. |
CDockablePane::GetAutoHideToolBar |
Utilisé en interne. |
CDockablePane::GetCaptionHeight |
Retourne la hauteur de la légende actuelle. |
CDockablePane::GetDefaultPaneDivider |
Retourne le diviseur de volet par défaut pour le conteneur du volet. |
CDockablePane::GetDockingStatus |
Détermine la capacité d’un volet à ancrer en fonction de l’emplacement du pointeur fourni. |
CDockablePane::GetDragSensitivity |
Retourne la sensibilité du glissement d’un volet d’ancrage. |
CDockablePane::GetLastPercentInPaneContainer |
Récupère le pourcentage d’espace qu’un volet occupe dans son conteneur. |
CDockablePane::GetTabArea |
Récupère la zone d’onglet du volet. |
CDockablePane::GetTabbedPaneRTC |
Retourne les informations de classe runtime sur une fenêtre à onglets créée quand un autre volet est ancré dans le volet actif. |
CDockablePane::HasAutoHideMode |
Spécifie si un volet d’ancrage peut être basculé en mode de masquage automatique. |
CDockablePane::HitTest |
Spécifie l’emplacement spécifique dans un volet où l’utilisateur clique sur une souris. |
CDockablePane::IsAccessibilityCompatible |
Utilisé en interne. |
CDockablePane::IsAutohideAllEnabled |
Indique si le volet d’ancrage et tous les autres volets du conteneur peuvent être placés en mode masquage automatique. |
CDockablePane::IsAutoHideMode |
Détermine si un volet est en mode masquer automatiquement. |
CDockablePane::IsChangeState |
Utilisé en interne. |
CDockablePane::IsDocked |
Détermine si le volet actif est ancré. |
CDockablePane::IsHideInAutoHideMode |
Détermine le comportement d’un volet qui est en mode masque automatiquement s’il est affiché (ou masqué) en appelant ShowPane . |
CDockablePane::IsInFloatingMultiPaneFrameWnd |
Spécifie si le volet se trouve dans une fenêtre de cadre à plusieurs volets. |
CDockablePane::IsResizable |
Spécifie si le volet est redimensionnable. |
CDockablePane::IsTabLocationBottom |
Spécifie si les onglets se trouvent en haut ou en bas du volet. |
CDockablePane::IsTracked |
Spécifie si un volet est déplacé par l’utilisateur. |
CDockablePane::IsVisible |
Détermine si le volet actif est visible. |
CDockablePane::LoadState |
Utilisé en interne. |
CDockablePane::OnAfterChangeParent |
Appelé par l’infrastructure lorsque le parent d’un volet a changé. (Substitue CPane::OnAfterChangeParent .) |
CDockablePane::OnAfterDockFromMiniFrame |
Appelé par l’infrastructure lorsqu’une barre d’ancrage flottante s’ancre dans une fenêtre frame. |
CDockablePane::OnBeforeChangeParent |
Appelé par l’infrastructure lorsque le parent du volet est sur le point de changer. (Substitue CPane::OnBeforeChangeParent .) |
CDockablePane::OnBeforeFloat |
Appelé par l’infrastructure lorsqu’un volet est sur le point de flotter. (Substitue CPane::OnBeforeFloat .) |
CDockablePane::RemoveFromDefaultPaneDividier |
L’infrastructure appelle cette méthode lorsqu’un volet n’est pas mis en place. |
CDockablePane::ReplacePane |
Remplace le volet par un volet spécifié. |
CDockablePane::RestoreDefaultPaneDivider |
L’infrastructure appelle cette méthode en tant que volet désérialisé pour restaurer le diviseur de volet par défaut. |
CDockablePane::SaveState |
Utilisé en interne. |
CDockablePane::Serialize |
Sérialise le volet. (Substitue CBasePane::Serialize .) |
CDockablePane::SetAutoHideMode |
Bascule le volet d’ancrage entre le mode visible et le mode de masquage automatique. |
CDockablePane::SetAutoHideParents |
Définit le bouton masquer automatiquement et la barre d’outils masquer automatiquement pour le volet. |
CDockablePane::SetDefaultPaneDivider |
Utilisé en interne. |
CDockablePane::SetLastPercentInPaneContainer |
Définit le pourcentage d’espace qu’un volet occupe dans son conteneur. |
CDockablePane::SetResizeMode |
Utilisé en interne. |
CDockablePane::SetRestoredDefaultPaneDivider |
Définit le séparateur de volet par défaut restauré. |
CDockablePane::SetTabbedPaneRTC |
Définit les informations de classe runtime pour une fenêtre à onglets créée lorsque deux volets s’ancrent ensemble. |
CDockablePane::ShowPane |
Affiche ou masque un volet. |
CDockablePane::Slide |
Affiche ou masque un volet avec une animation glissante qui s’affiche uniquement lorsque le volet est en mode de masquage automatique. |
CDockablePane::ToggleAutoHide |
Bascule le mode de masquage automatique. (Substitue CPane::ToggleAutoHide .) |
CDockablePane::UndockPane |
Désactive un volet à partir de la fenêtre cadre principale ou d’un conteneur de fenêtre miniframe. |
CDockablePane::UnSetAutoHideMode |
Utilisé en interne. Pour définir le mode de masquage automatique, utilisez CDockablePane::SetAutoHideMode |
Méthodes protégées
Nom | Description |
---|---|
CDockablePane::CheckAutoHideCondition |
Détermine si le volet d’ancrage est masqué (en mode masque automatique). |
CDockablePane::CheckStopSlideCondition |
Détermine quand un volet d’ancrage de masquage automatique doit cesser de glisser. |
CDockablePane::DrawCaption |
Dessine la légende du volet d’ancrage (gripper). |
CDockablePane::OnPressButtons |
Appelé lorsque l’utilisateur appuie sur un bouton de légende autre que le AFX_HTCLOSE et les boutons AFX_HTMAXBUTTON . |
CDockablePane::OnSlide |
Appelé par l’infrastructure pour afficher l’effet de diapositive masquer automatiquement lorsque le volet est affiché ou masqué. |
Membres de données
Nom | Description |
---|---|
CDockablePane::m_bDisableAnimation |
Spécifie si l’animation de masquage automatique du volet ancre est désactivée. |
CDockablePane::m_bHideInAutoHideMode |
Détermine le comportement du volet lorsque le volet est en mode masquer automatiquement. |
CDockablePane::m_nSlideSteps |
Spécifie la vitesse d’animation du volet lorsqu’il est affiché ou masqué en mode masque automatiquement. |
Remarques
CDockablePane
implémente les fonctionnalités suivantes :
Ancrage d’un volet dans une fenêtre de cadre principale.
Basculement d’un volet vers le mode de masquage automatique.
Attachement d’un volet à une fenêtre à onglets.
Flottant un volet dans une fenêtre miniframe.
Ancrer un volet dans un autre volet flottant dans une fenêtre miniframe.
Redimensionnement d’un volet.
Chargement et enregistrement de l’état d’un volet d’ancrage.
Note
Les informations d’état sont enregistrées dans le Registre Windows.
Création d’un volet avec ou sans légende. La légende peut avoir une étiquette de texte et elle peut être remplie d’une couleur de dégradé.
Faire glisser un volet lors de l’affichage du contenu du volet
Faire glisser un volet lors de l’affichage d’un rectangle de glisser.
Pour utiliser un volet d’ancrage dans votre application, dérivez votre classe de volet de la classe CDockablePane
. Incorporez l’objet dérivé dans l’objet de fenêtre de cadre principal ou dans un objet de fenêtre qui contrôle l’instance de votre volet. Appelez ensuite la méthode CDockablePane::Create
ou la méthode CDockablePane::CreateEx
lorsque vous traitez le message WM_CREATE
dans la fenêtre de cadre principale. Enfin, configurez l’objet volet en appelant CBasePane::EnableDocking
, CBasePane::DockPane
ou CDockablePane::AttachToTabWnd
.
Conseils de personnalisation
Les conseils suivants s’appliquent aux objets CDockablePane
:
Si vous appelez
CDockablePane::AttachToTabWnd
pour deux volets non tabulations, ancreables, un pointeur vers une fenêtre à onglets est retourné dans le paramètreppTabbedControlBar
. Vous pouvez continuer à ajouter des onglets à la fenêtre à onglets à l’aide de ce paramètre.Le type de volet à onglets créé par
CDockablePane::AttachToTabWnd
est déterminé par l’objetCDockablePane
dans le paramètrepTabControlBarAttachTo
. Vous pouvez appelerCDockablePane::SetTabbedPaneRTC
pour définir le type de volet à onglets que leCDockablePane
créera. Le type par défaut est déterminé par ladwTabbedStyle
deCDockablePane::Create
lorsque vous créez l'CDockablePane
. SidwTabbedStyle
estAFX_CBRS_OUTLOOK_TABS
le type par défaut estCMFCOutlookBar
classe; sidwTabbedStyle
estAFX_CBRS_REGULAR_TABS
le type par défaut estCTabbedPane
classe.Si vous souhaitez ancrer un volet ancré à un autre, appelez la méthode
CDockablePane::DockToWindow
. Le volet d’origine doit être ancré quelque part avant d’appeler cette méthode.La variable membre
CDockablePane::m_bHideInAutoHideMode
contrôle le comportement des volets ancrés en mode masquer automatiquement lorsque vous appelezCDockablePane::ShowPane
. Si cette variable membre est définie surTRUE
, les volets ancrés et leurs boutons de masquage automatique sont masqués. Sinon, ils glissent et sortent.Vous pouvez désactiver l’animation de masquage automatique en définissant la variable membre
CDockablePane::m_bDisableAnimation
surTRUE
.
Exemple
L’exemple suivant montre comment configurer un objet CDockablePane
à l’aide de différentes méthodes dans la classe CDockablePane
. L’exemple montre comment activer la fonctionnalité de masquage automatique de toutes les fonctionnalités du volet ancre, activer la légende ou le grippeur, activer le mode de masquage automatique, afficher le volet et animer un volet en mode masque automatique. Cet extrait de code fait partie de l’exemple de démonstration visual Studio .
// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);
Hiérarchie d’héritage
Exigences
en-tête :afxDockablePane.h
CDockablePane::AttachToTabWnd
Joint le volet actif à un volet cible, en créant un volet à onglets.
virtual CDockablePane* AttachToTabWnd(
CDockablePane* pTabControlBarAttachTo,
AFX_DOCK_METHOD dockMethod,
BOOL bSetActive= TRUE,
CDockablePane** ppTabbedControlBar = NULL);
Paramètres
pTabControlBarAttachTo
[in, out] Spécifie le volet cible auquel le volet actif est attaché. Le volet cible doit être un volet ancreable.
dockMethod
[in] Spécifie la méthode d’ancrage.
bSetActive
[in] TRUE
pour activer le volet tabulation après l’opération d’attachement ; sinon, FALSE
.
ppTabbedControlBar
[out] Contient le volet à onglets qui résulte de l’opération d’attachement.
Valeur de retour
Pointeur vers le volet actif, s’il ne s’agit pas d’un volet à onglets ; sinon, pointeur vers le volet à onglets qui résulte de l’opération d’attachement. La valeur de retour est NULL
si le volet actuel ne peut pas être attaché ou si une erreur se produit.
Remarques
Lorsqu’un volet ancre est attaché à un autre volet à l’aide de cette méthode, les événements suivants se produisent :
L’infrastructure vérifie si le volet cible
pTabControlBarAttachTo
est un volet d’ancrage normal ou s’il est dérivé deCBaseTabbedPane
.Si le volet cible est un volet à onglets, l’infrastructure y ajoute le volet actif sous la forme d’un onglet.
Si le volet cible est un volet d’ancrage standard, l’infrastructure crée un volet à onglets.
Le framework appelle
pTabControlBarAttachTo->CreateTabbedPane
. Le style du nouveau volet à onglets dépend du membrem_pTabbedControlBarRTC
. Par défaut, ce membre est défini sur la classe runtime deCTabbedPane
. Si vous passez le styleAFX_CBRS_OUTLOOK_TABS
comme paramètredwTabbedStyle
à la méthodeCDockablePane::Create
, l’objet de classe runtime est défini sur la classe runtime deCMFCOutlookBar
. Vous pouvez modifier ce membre à tout moment pour modifier le style du nouveau volet.Lorsque cette méthode crée un volet à onglets, l’infrastructure remplace le pointeur par
pTabControlBarAttachTo
(si le volet est ancré ou flottant dans une fenêtre multiframe) par un pointeur vers le nouveau volet à onglets.L’infrastructure ajoute le volet
pTabControlBarAttachTo
au volet à onglets comme premier onglet. L’infrastructure ajoute ensuite le volet actif sous la forme d’un deuxième onglet.
Si le volet actif est dérivé de
CBaseTabbedPane
, tous ses onglets sont déplacés verspTabControlBarAttachTo
et le volet actif est détruit. Par conséquent, soyez prudent lorsque vous appelez cette méthode, car un pointeur vers le volet actuel peut ne pas être valide lorsque la méthode retourne.
Si vous attachez un volet à un autre lors de la création d’une disposition d’ancrage, définissez dockMethod
sur DM_SHOW
.
Vous devez ancrer le premier volet avant d’y attacher un autre volet.
CDockablePane::CalcFixedLayout
Retourne la taille du rectangle du volet.
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Paramètres
bStretch
[in] Non utilisé.
bHorz
[in] Non utilisé.
Valeur de retour
Objet CSize
qui contient la taille du rectangle du volet.
CDockablePane::CanAcceptMiniFrame
Détermine si le mini-frame spécifié peut être ancré dans le volet.
virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;
Paramètres
pMiniFrame
[in] Pointeur vers un objet CPaneFrameWnd
.
Valeur de retour
TRUE
si pMiniFrame
peut être ancré dans le volet ; sinon, FALSE
.
CDockablePane::CanAcceptPane
Détermine si un autre volet peut être ancré dans le volet actif.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Paramètres
pBar
[in] Spécifie le volet à ancrer dans le volet actif.
Valeur de retour
TRUE
si le volet spécifié peut être ancré dans ce volet ; sinon, FALSE
.
Remarques
L’infrastructure appelle cette méthode avant qu’un volet soit ancré dans le volet actif.
Remplacez cette fonction dans une classe dérivée pour activer ou désactiver l’ancrage dans un volet spécifique.
Par défaut, cette méthode retourne TRUE
si pBar
ou son parent est de type CDockablePane
.
CDockablePane::CanAutoHide
Détermine si le volet peut masquer automatiquement.
virtual BOOL CanAutoHide() const;
Valeur de retour
TRUE
si le volet peut masquer automatiquement ; sinon, FALSE
.
Remarques
CDockablePane::CanAutoHide
retourne FALSE
dans l’une des situations suivantes :
Le volet n’a pas de parent.
Le gestionnaire d’ancrage n’autorise pas les volets à masquer automatiquement.
Le volet n’est pas ancré.
CDockablePane::CanBeAttached
Détermine si le volet actif peut être ancré à un autre volet.
virtual BOOL CanBeAttached() const;
Valeur de retour
TRUE
si le volet d’ancrage peut être ancré dans un autre volet ou dans la fenêtre de cadre principale ; sinon, FALSE
.
Remarques
Par défaut, cette méthode retourne toujours TRUE
. Remplacez cette méthode dans une classe dérivée pour activer ou désactiver l’ancrage sans appeler CBasePane::EnableDocking
.
CDockablePane::CDockablePane
Construit et initialise un objet CDockablePane
.
CDockablePane();
Remarques
Après avoir construit un objet de volet ancré, appelez CDockablePane::Create
ou CDockablePane::CreateEx
pour le créer.
CDockablePane::ConvertToTabbedDocument
Convertit un ou plusieurs volets ancrés en documents à ongletS MDI.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
Paramètres
bActiveTabOnly
[in] Lorsque vous convertissez un CTabbedPane
, spécifiez TRUE
pour convertir uniquement l’onglet actif. Spécifiez FALSE
pour convertir tous les onglets dans le volet.
CDockablePane::CheckAutoHideCondition
Détermine si le volet d’ancrage est masqué (également appelé mode d’autohide).
virtual BOOL CheckAutoHideCondition();
Valeur de retour
TRUE
si la condition de masquage est remplie ; sinon, FALSE
.
Remarques
L’infrastructure utilise un minuteur pour vérifier périodiquement s’il faut masquer un volet ancré automatiquement. La méthode retourne TRUE
lorsque le volet n’est pas actif, le volet n’est pas redimensionné et le pointeur de la souris n’est pas sur le volet.
Si toutes les conditions précédentes sont remplies, l’infrastructure appelle CDockablePane::Slide
pour masquer le volet.
CDockablePane::CheckStopSlideCondition
Détermine quand un volet d’ancrage automatique doit cesser de glisser.
virtual BOOL CheckStopSlideCondition(BOOL bDirection);
Paramètres
bDirection
[in] TRUE
si le volet est visible ; FALSE
si le volet est masqué.
Valeur de retour
TRUE
si la condition d’arrêt est remplie ; sinon, FALSE
.
Remarques
Lorsqu’un volet ancre est défini sur le mode d’autohide, l’infrastructure utilise des effets glissants pour afficher ou masquer le volet. L’infrastructure appelle cette fonction lorsque le volet est glissant.
CheckStopSlideCondition
retourne TRUE
lorsque le volet est entièrement visible ou lorsqu’il est entièrement masqué.
Remplacez cette méthode dans une classe dérivée pour implémenter des effets d’autohide personnalisés.
CDockablePane::CopyState
Copie l’état d’un volet ancre.
virtual void CopyState(CDockablePane* pOrgBar);
Paramètres
pOrgBar
[in] Pointeur vers un volet ancreable.
Remarques
CDockablePane::CopyState
copie l’état de pOrgBar
dans le volet actif en appelant les méthodes suivantes :
CDockablePane::Create
Crée le contrôle Windows et l’attache à l’objet CDockablePane
.
virtual BOOL Create(
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
CCreateContext* pContext = NULL);
virtual BOOL Create(
LPCTSTR lpszWindowName,
CWnd* pParentWnd,
CSize sizeDefault,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);
Paramètres
lpszCaption
[in] Spécifie le nom de la fenêtre.
pParentWnd
[in, out] Spécifie la fenêtre parente.
rect
[in] Spécifie la taille et la position de la fenêtre, dans les coordonnées du client de pParentWnd
.
bHasGripper
[in] TRUE
créer le volet avec une légende ; sinon, FALSE
.
nID
[in] Spécifie l’ID de la fenêtre enfant. Cette valeur doit être unique si vous souhaitez enregistrer l’état d’ancrage pour ce volet d’ancrage.
dwStyle
[in] Spécifie les attributs de style de fenêtre.
dwTabbedStyle
[in] Spécifie le style tabulation d’une fenêtre à onglets créée lorsque l’utilisateur fait glisser un volet sur la légende de ce volet.
dwControlBarStyle
[in] Spécifie des attributs de style supplémentaires.
pContext
[in, out] Spécifie le contexte de création de la fenêtre.
lpszWindowName
[in] Spécifie le nom de la fenêtre.
sizeDefault
[in] Spécifie la taille de la fenêtre.
Valeur de retour
TRUE
si le volet ancre est correctement créé ; sinon, FALSE
.
Remarques
Crée un volet Windows et l’attache à l’objet CDockablePane
.
Si le style de fenêtre dwStyle
a l’indicateur CBRS_FLOAT_MULTI
, la fenêtre miniframe peut flotter avec d’autres volets dans la fenêtre miniframe. Par défaut, les volets d’ancrage ne peuvent flotter qu’individuellement.
Si le paramètre dwTabbedStyle
a l’indicateur AFX_CBRS_OUTLOOK_TABS
spécifié, le volet crée des volets à onglets de style Outlook lorsqu’un autre volet est attaché à ce volet à l’aide de la méthode CDockablePane::AttachToTabWnd
. Par défaut, les volets ancreables créent des volets à onglets réguliers de type CTabbedPane
.
CDockablePane::CreateDefaultPaneDivider
Crée un séparateur par défaut pour le volet tel qu’il est ancré dans une fenêtre frame.
static CPaneDivider* __stdcall CreateDefaultPaneDivider(
DWORD dwAlignment,
CWnd* pParent,
CRuntimeClass* pSliderRTC = NULL);
Paramètres
dwAlignment
[in] Spécifie le côté du cadre principal auquel le volet est ancré. Si dwAlignment
contient l’indicateur CBRS_ALIGN_LEFT
ou CBRS_ALIGN_RIGHT
, cette méthode crée un séparateur vertical (CPaneDivider::SS_VERT
) ; sinon, cette méthode crée un séparateur horizontal (CPaneDivider::SS_HORZ
).
pParent
[in] Pointeur vers le cadre parent.
pSliderRTC
[in] Non utilisé.
Valeur de retour
Cette méthode retourne un pointeur vers le séparateur nouvellement créé, ou NULL
si la création du séparateur échoue.
Remarques
dwAlignment
peut être l’une des valeurs suivantes :
Valeur | Description |
---|---|
CBRS_ALIGN_TOP |
Le volet est ancré en haut de la zone cliente d’une fenêtre frame. |
CBRS_ALIGN_BOTTOM |
Le volet est ancré en bas de la zone cliente d’une fenêtre frame. |
CBRS_ALIGN_LEFT |
Le volet est ancré sur le côté gauche de la zone cliente d’une fenêtre frame. |
CBRS_ALIGN_RIGHT |
Le volet est ancré à droite de la zone cliente d’une fenêtre frame. |
CDockablePane::CreateEx
Crée le contrôle Windows et l’attache à l’objet CDockablePane
.
virtual BOOL CreateEx(
DWORD dwStyleEx,
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
CCreateContext* pContext = NULL);
Paramètres
dwStyleEx
[in] Spécifie les attributs de style étendu pour la nouvelle fenêtre.
lpszCaption
[in] Spécifie le nom de la fenêtre.
pParentWnd
[in, out] Spécifie la fenêtre parente.
rect
[in] Spécifie la taille et la position de la fenêtre, dans les coordonnées du client de pParentWnd
.
bHasGripper
[in] TRUE
créer le volet avec une légende ; sinon, FALSE
.
nID
[in] Spécifie l’ID de la fenêtre enfant. Cette valeur doit être unique si vous souhaitez enregistrer l’état d’ancrage de ce volet d’ancrage.
dwStyle
[in] Spécifie les attributs de style de fenêtre.
dwTabbedStyle
[in] Spécifie le style tabulation d’une fenêtre à onglets créée lorsque l’utilisateur fait glisser un volet sur la légende de ce volet.
dwControlBarStyle
[in] Spécifie les attributs de style supplémentaires.
pContext
[in, out] Spécifie le contexte de création de la fenêtre.
Valeur de retour
TRUE
si le volet ancre est correctement créé ; sinon, FALSE
.
Remarques
Crée un volet Windows et l’attache à l’objet CDockablePane
.
Si le style de fenêtre dwStyle
a l’indicateur CBRS_FLOAT_MULTI
, la fenêtre miniframe peut flotter avec d’autres volets dans la fenêtre miniframe. Par défaut, les volets d’ancrage ne peuvent flotter qu’individuellement.
Si le paramètre dwTabbedStyle
a l’indicateur AFX_CBRS_OUTLOOK_TABS
spécifié, le volet crée des volets à onglets de style Outlook lorsqu’un autre volet est attaché à ce volet à l’aide de la méthode CDockablePane::AttachToTabWnd
. Par défaut, les volets ancreables créent des volets à onglets réguliers de type CTabbedPane
.
CDockablePane::CreateTabbedPane
Crée un volet à onglets à partir du volet actif.
virtual CTabbedPane* CreateTabbedPane();
Valeur de retour
Le nouveau volet à onglets ou NULL
si l’opération de création a échoué.
Remarques
L’infrastructure appelle cette méthode lorsqu’elle crée un volet à onglets pour remplacer ce volet. Pour plus d’informations, consultez CDockablePane::AttachToTabWnd
.
Remplacez cette méthode dans une classe dérivée pour personnaliser la façon dont les volets à onglets sont créés et initialisés.
Le volet à onglets est créé en fonction des informations de classe runtime stockées dans le membre m_pTabbedControlBarRTC
, qui est initialisé par la méthode CDockablePane::CreateEx
.
CDockablePane::DockPaneContainer
Ancre un conteneur dans le volet.
virtual BOOL DockPaneContainer(
CPaneContainerManager& barContainerManager,
DWORD dwAlignment,
AFX_DOCK_METHOD dockMethod);
Paramètres
barContainerManager
[in] Référence au gestionnaire de conteneurs du conteneur qui est ancré.
dwAlignment
[in] DWORD
qui spécifie le côté du volet auquel le conteneur est ancré.
dockMethod
[in] Non utilisé.
Valeur de retour
TRUE
si le conteneur a été correctement ancré dans le volet ; sinon, FALSE
.
Remarques
dwAlignment
peut être l’une des valeurs suivantes :
Valeur | Description |
---|---|
CBRS_ALIGN_TOP |
Le conteneur est ancré en haut du volet. |
CBRS_ALIGN_BOTTOM |
Le conteneur est ancré au bas du volet. |
CBRS_ALIGN_LEFT |
Le conteneur est ancré à gauche du volet. |
CBRS_ALIGN_RIGHT |
Le conteneur est ancré à droite du volet. |
CDockablePane::DockPaneStandard
Ancre un volet à l’aide de l’ancrage hiérarchique (standard).
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
Paramètres
bWasDocked
[in] Lorsque la méthode est retournée, cette valeur contient TRUE
si le volet a été correctement ancré ; sinon, il contient FALSE
.
Valeur de retour
Si le volet a été ancré dans une fenêtre à onglets ou si une fenêtre à onglets a été créée suite à l’ancrage, cette méthode retourne un pointeur vers la fenêtre à onglets. Si le volet a été correctement ancré, cette méthode retourne le pointeur this
. En cas d’échec de l’ancrage, cette méthode retourne NULL
.
CDockablePane::DockToRecentPos
Ancre un volet à sa position d’ancrage stockée.
BOOL CDockablePane::DockToRecentPos();
Valeur de retour
TRUE
si le volet est correctement ancré ; sinon, FALSE
.
Remarques
Les volets ancrés stockent les informations d’ancrage récentes dans un objet CRecentDockSiteInfo
.
CDockablePane::DockToWindow
Ancre un volet d’ancrage vers un autre volet d’ancrage.
virtual BOOL DockToWindow(
CDockablePane* pTargetWindow,
DWORD dwAlignment,
LPCRECT lpRect = NULL);
Paramètres
pTargetWindow
[in, out] Spécifie le volet ancre pour ancrer ce volet.
dwAlignment
[in] Spécifie l’alignement d’ancrage pour le volet. Peut être l’un des CBRS_ALIGN_LEFT
, CBRS_ALIGN_TOP
, CBRS_ALIGN_RIGHT
, CBRS_ALIGN_BOTTOM
ou CBRS_ALIGN_ANY
. (Défini dans afxres.h
.)
lpRect
[in] Spécifie le rectangle d’ancrage du volet.
Valeur de retour
TRUE
si le volet a été ancré correctement ; sinon, FALSE
.
Remarques
Appelez cette méthode pour ancrer un volet vers un autre volet avec l’alignement spécifié par dwAlignment
.
CDockablePane::DrawCaption
Dessine la légende (également appelée grippe) d’un volet d’ancrage.
virtual void DrawCaption(
CDC* pDC,
CRect rectCaption);
Paramètres
pDC
[in] Représente le contexte d’appareil utilisé pour le dessin.
rectCaption
[in] Spécifie le rectangle englobant de la légende du volet.
Remarques
L’infrastructure appelle cette méthode pour dessiner la légende d’un volet ancre.
Remplacez cette méthode dans une classe dérivée pour personnaliser l’apparence de la légende.
CDockablePane::EnableAutohideAll
Active ou désactive le mode d’autohide pour ce volet et pour les autres volets du conteneur.
void EnableAutohideAll(BOOL bEnable = TRUE);
Paramètres
bEnable
[in] TRUE
pour activer la fonctionnalité d’autohide de tous les volets ancres ; sinon, FALSE
.
Remarques
Lorsqu’un utilisateur contient le Ctrl touche et clique sur le bouton épingle pour basculer un volet en mode autohide, tous les autres volets du même conteneur sont également basculés en mode d’autohide.
Appelez cette méthode avec bEnable
défini sur FALSE
pour désactiver cette fonctionnalité pour un volet particulier.
CDockablePane::EnableGripper
Affiche ou masque la légende (également appelée grippe).
virtual void EnableGripper(BOOL bEnable);
Paramètres
bEnable
[in] TRUE
pour activer la légende ; sinon, FALSE
.
Remarques
Lorsque l’infrastructure crée des volets ancres, ils n’ont pas le style de fenêtre WS_STYLE
, même s’ils sont spécifiés. Cela signifie que la légende du volet est une zone non cliente contrôlée par l’infrastructure, mais cette zone diffère de la légende de la fenêtre standard.
Vous pouvez afficher ou masquer la légende à tout moment. L’infrastructure masque la légende lorsqu’un volet est ajouté sous forme d’onglet à une fenêtre à onglets ou lorsqu’un volet est flottant dans une fenêtre miniframe.
CDockablePane::GetAHRestoredRect
Spécifie la position du volet en mode masquer automatiquement.
CRect GetAHRestoredRect() const;
Valeur de retour
Objet CRect
qui contient la position du volet lorsqu’il est en mode masquage automatique.
Remarques
CDockablePane::GetAHSlideMode
Récupère le mode masque automatiquement la diapositive pour le volet.
virtual UINT GetAHSlideMode() const;
Valeur de retour
Un UINT
qui spécifie le mode de diapositive de masquage automatique pour le volet. La valeur de retour peut être AFX_AHSM_MOVE
ou AFX_AHSM_STRETCH
, mais l’implémentation utilise uniquement AFX_AHSM_MOVE
.
Remarques
CDockablePane::GetCaptionHeight
Retourne la hauteur, en pixels, de la légende actuelle.
virtual int GetCaptionHeight() const;
Valeur de retour
Hauteur de la légende, en pixels.
Remarques
La hauteur de légende est 0 si la légende a été masquée par la méthode CDockablePane::EnableGripper
, ou si le volet n’a pas de légende.
CDockablePane::GetDefaultPaneDivider
Retourne le diviseur de volet par défaut pour le conteneur du volet.
CPaneDivider* GetDefaultPaneDivider() const;
Valeur de retour
Objet CPaneDivider
valide si le volet d’ancrage est ancré dans la fenêtre du cadre principal, ou NULL
si le volet d’ancrage n’est pas ancré ou s’il est flottant.
Remarques
Pour plus d’informations sur les séparateurs de volets, consultez CPaneDivider
classe.
CDockablePane::GetDockingStatus
Détermine la capacité d’un volet à ancrer en fonction de l’emplacement du pointeur fourni.
virtual AFX_CS_STATUS GetDockingStatus(
CPoint pt,
int nSensitivity);
Paramètres
pt
[in] Emplacement du pointeur dans les coordonnées de l’écran.
nSensitivity
[in] La distance, en pixels, loin du bord d’un rectangle, doit être pour activer l’ancrage.
Valeur de retour
Une des valeurs d’état suivantes :
valeur AFX_CS_STATUS |
Signification |
---|---|
CS_NOTHING |
Le pointeur n’est pas sur un site d’ancrage. L’infrastructure ne ancre pas le volet. |
CS_DOCK_IMMEDIATELY |
Le pointeur se trouve sur le site d’ancrage en mode immédiat (le volet utilise le mode d’ancrage DT_IMMEDIATE ). L’infrastructure ancre immédiatement le volet. |
CS_DELAY_DOCK |
Le pointeur se trouve sur un site d’ancrage qui est un autre volet d’ancrage ou est un bord du cadre principal. L’infrastructure ancre le volet après un délai. Pour plus d’informations sur ce délai, consultez la section Remarques. |
CS_DELAY_DOCK_TO_TAB |
Le pointeur se trouve sur un site d’ancrage qui provoque l’ancrage du volet dans une fenêtre à onglets. Cela se produit lorsque le pointeur se trouve sur la légende d’un autre volet d’ancrage ou sur la zone d’onglet d’un volet à onglets. |
Remarques
L’infrastructure appelle cette méthode pour gérer l’ancrage d’un volet flottant.
Pour les barres d’outils flottantes ou les volets d’ancrage qui utilisent le mode d’ancrage DT_IMMEDIATE
, l’infrastructure retarde la commande d’ancrage pour permettre à l’utilisateur de déplacer la fenêtre hors de la zone cliente du cadre parent avant l’ancrage. La longueur du délai est mesurée en millisecondes et contrôlée par le membre de données CDockingManager::m_nTimeOutBeforeToolBarDock
. La valeur par défaut de CDockingManager::m_nTimeOutBeforeToolBarDock
est 200. Ce comportement émule le comportement d’ancrage de Microsoft Word 2007.
Pour les états d’ancrage différés (CS_DELAY_DOCK
et CS_DELAY_DOCK_TO_TAB
), l’infrastructure n’effectue pas d’ancrage tant que l’utilisateur n’a pas libéré le bouton de la souris. Si un volet utilise le mode d’ancrage DT_STANDARD
, l’infrastructure affiche un rectangle à l’emplacement d’ancrage projeté. Si un volet utilise le mode d’ancrage DT_SMART
, l’infrastructure affiche des marqueurs d’ancrage intelligents et des rectangles semi-transparents à l’emplacement d’ancrage projeté. Pour spécifier le mode d’ancrage de votre volet, appelez la méthode CBasePane::SetDockingMode
. Pour plus d’informations sur l’ancrage intelligent, consultez CDockingManager::GetSmartDockingParams
.
CDockablePane::GetDragSensitivity
Retourne la sensibilité du glissement d’un volet d’ancrage.
static const CSize& GetDragSensitivity();
Valeur de retour
Objet CSize
qui contient la largeur et la hauteur, en pixels, d’un rectangle centré sur un point de glissement. L’opération de glissement ne commence pas tant que le pointeur de la souris ne se déplace pas en dehors de ce rectangle.
CDockablePane::GetLastPercentInPaneContainer
Récupère le pourcentage d’espace qu’un volet occupe dans son conteneur ( CPaneContainer
classe).
int GetLastPercentInPaneContainer() const;
Valeur de retour
Un int
qui spécifie le pourcentage d’espace occupé par le volet dans son conteneur.
Remarques
Cette méthode est utilisée lorsque le conteneur ajuste sa disposition.
CDockablePane::GetTabArea
Récupère la zone d’onglet du volet.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Paramètres
rectTabAreaTop
[in] GetTabArea
remplit cette variable avec la zone d’onglet si les onglets se trouvent en haut du volet. Si les onglets se trouvent en bas du volet, cette variable est remplie d’un rectangle vide.
rectTabAreaBottom
[in] GetTabArea
remplit cette variable avec la zone d’onglet si les onglets se trouvent en bas du volet. Si les onglets se trouvent en haut du volet, cette variable est remplie d’un rectangle vide.
Remarques
Cette méthode est utilisée uniquement dans les classes dérivées de CDockablePane
et qui ont des onglets. Pour plus d’informations, consultez CTabbedPane::GetTabArea
et CMFCOutlookBar::GetTabArea
.
CDockablePane::GetTabbedPaneRTC
Retourne les informations de classe runtime sur une fenêtre à onglets créée quand un autre volet est ancré dans le volet actif.
CRuntimeClass* GetTabbedPaneRTC() const;
Valeur de retour
Informations de classe runtime pour le volet ancreable.
Remarques
Appelez cette méthode pour récupérer les informations de classe runtime pour les volets à onglets créés dynamiquement. Cela peut se produire lorsqu’un utilisateur fait glisser un volet vers la légende d’un autre volet, ou si vous appelez la méthode CDockablePane::AttachToTabWnd
pour créer par programmation un volet à onglets à partir de deux volets ancrés.
Vous pouvez définir les informations de classe runtime en appelant la méthode CDockablePane::SetTabbedPaneRTC
.
CDockablePane::HasAutoHideMode
Spécifie si un volet d’ancrage peut être basculé en mode d’autohide.
virtual BOOL HasAutoHideMode() const;
Valeur de retour
TRUE
si le volet d’ancrage peut être basculé en mode d’autohide ; sinon, FALSE
.
Remarques
Remplacez cette méthode dans une classe dérivée pour désactiver le mode d’autohide pour un volet ancre spécifique.
CDockablePane::HitTest
Spécifie l’emplacement dans un volet où l’utilisateur clique sur une souris.
virtual int HitTest(
CPoint point,
BOOL bDetectCaption = FALSE);
Paramètres
point
[in] Spécifie le point à tester.
bDetectCaption
[in] TRUE
si HTCAPTION
doit être retourné si le point se trouve sur la légende du volet ; sinon, FALSE
.
Valeur de retour
Une des valeurs suivantes :
HTNOWHERE
sipoint
n’est pas dans le volet d’ancrage.HTCLIENT
sipoint
se trouve dans la zone cliente du volet ancre.HTCAPTION
sipoint
se trouve dans la zone de légende du volet ancre.AFX_HTCLOSE
sipoint
se trouve sur le bouton fermer.HTMAXBUTTON
sipoint
se trouve sur le bouton épingle.
CDockablePane::IsAutohideAllEnabled
Indique si le volet d’ancrage et tous les autres volets du conteneur peuvent être basculés en mode d’autohide.
virtual BOOL IsAutohideAllEnabled() const;
Valeur de retour
TRUE
si le volet d’ancrage et tous les autres volets du conteneur peuvent être basculés en mode d’autohide ; sinon, FALSE
.
Remarques
Un utilisateur active le mode d’autohide en cliquant sur le bouton épingle d’ancrage tout en maintenant la touche Ctrl
Pour activer ou désactiver ce comportement, appelez la méthode CDockablePane::EnableAutohideAll
.
CDockablePane::IsAutoHideMode
Détermine si un volet est en mode d’autohide.
virtual BOOL IsAutoHideMode() const;
Valeur de retour
TRUE
si le volet d’ancrage est en mode d’autohide ; sinon, FALSE
.
CDockablePane::IsDocked
Détermine si le volet actif est ancré.
virtual BOOL IsDocked() const;
Valeur de retour
TRUE
si le volet d’ancrage n’appartient pas à une fenêtre miniframe ou s’il flotte dans une fenêtre miniframe avec un autre volet.
FALSE
si le volet est un enfant d’une fenêtre miniframe et qu’il n’existe aucun autre volet appartenant à la fenêtre miniframe.
Remarques
Pour déterminer si le volet est ancré dans la fenêtre cadre principale, appelez CDockablePane::GetDefaultPaneDivider
. Si la méthode retourne un pointeur nonNULL
, le volet est ancré dans la fenêtre de cadre principale.
CDockablePane::IsHideInAutoHideMode
Détermine le comportement d’un volet qui est en mode d’autohide s’il est affiché (ou masqué) en appelant CDockablePane::ShowPane
.
virtual BOOL IsHideInAutoHideMode() const;
Valeur de retour
TRUE
si le volet ancre doit être masqué en mode d’autohide ; sinon, FALSE
.
Remarques
Lorsqu’un volet d’ancrage est en mode de mise en page automatique, il se comporte différemment lorsque vous appelez ShowPane
pour masquer ou afficher le volet. Ce comportement est contrôlé par le membre statique CDockablePane::m_bHideInAutoHideMode
. Si ce membre est TRUE
, le volet ancre et sa barre d’outils d’autohide ou son bouton d’autohide associés sont masqués ou affichés lorsque vous appelez ShowPane
. Sinon, le volet ancreable est activé ou désactivé, et sa barre d’outils d’autohide ou son bouton d’autohide associé est toujours visible.
Remplacez cette méthode dans une classe dérivée pour modifier le comportement par défaut pour les volets individuels.
La valeur par défaut de m_bHideInAutoHideMode
est FALSE
.
CDockablePane::IsInFloatingMultiPaneFrameWnd
Spécifie si le volet se trouve dans une fenêtre frame à plusieurs volets (CMultiPaneFrameWnd Class
).
virtual BOOL IsInFloatingMultiPaneFrameWnd() const;
Valeur de retour
TRUE
si le volet se trouve dans une fenêtre de cadre à plusieurs volets ; sinon, FALSE
.
Remarques
CDockablePane::IsResizable
Spécifie si le volet est redimensionnable.
virtual BOOL IsResizable() const;
Valeur de retour
TRUE
si le volet est redimensionnable ; sinon, FALSE
.
Remarques
Par défaut, les volets ancreables sont redimensionnables. Pour empêcher le redimensionnement, remplacez cette méthode dans une classe dérivée et retournez FALSE
. Notez qu’une valeur FALSE
entraîne un échec ASSERT
dans CPane::DockPane
. Utilisez CDockingManager::AddPane
à la place pour ancrer un volet dans un cadre parent.
Les volets qui ne peuvent pas être redimensionnés ne peuvent ni flotter ni entrer en mode de masquage automatique et sont toujours situés au bord externe du cadre parent.
CDockablePane::IsTabLocationBottom
Spécifie si les onglets se trouvent en haut ou en bas du volet.
virtual BOOL IsTabLocationBottom() const;
Valeur de retour
TRUE
si les onglets se trouvent en bas du volet ; FALSE
si les onglets se trouvent en haut du volet.
Remarques
Pour plus d’informations, consultez CTabbedPane::IsTabLocationBottom
.
CDockablePane::IsTracked
Spécifie si un volet est déplacé par l’utilisateur.
BOOL IsTracked() const;
Valeur de retour
TRUE
si le volet est déplacé ; sinon, FALSE
.
CDockablePane::IsVisible
Détermine si le volet actif est visible.
virtual BOOL IsVisible() const;
Valeur de retour
TRUE
si le volet d’ancrage est visible ; sinon, FALSE
.
Remarques
Appelez cette méthode pour déterminer si un volet ancre est visible. Vous pouvez utiliser cette méthode au lieu d’appeler CWnd::IsWindowVisible
ou de tester le style WS_VISIBLE
. L’état de visibilité retourné dépend de l’activation ou de la désactivation du mode d’autohide et de la valeur de la propriété CDockablePane::IsHideInAutoHideMode
.
Si le volet d’ancrage est en mode d’autohide et IsHideInAutoHideMode
retourne FALSE
l’état de visibilité est toujours FALSE
.
Si le volet d’ancrage est en mode autohide et IsHideInAutoHideMode
retourne TRUE
l’état de visibilité dépend de l’état de visibilité de la barre d’outils d’autohide associée.
Si le volet d’ancrage n’est pas en mode d’autohide, l’état de visibilité est déterminé par la méthode CBasePane::IsVisible
.
##
CDockablePane::LoadState
Pour une utilisation interne uniquement. Pour plus d’informations, consultez le code source situé dans le dossier mfc
de votre installation de Visual Studio. Par exemple, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc
.
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1
);
CDockablePane::m_bDisableAnimation
Spécifie si l’animation de mise en page automatique du volet ancre est désactivée.
AFX_IMPORT_DATA static BOOL m_bDisableAnimation;
CDockablePane::m_bHideInAutoHideMode
Détermine le comportement du volet lorsque le volet est en mode d’autohide.
AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;
Remarques
Cette valeur affecte tous les volets d’ancrage de l’application.
Si vous définissez ce membre sur TRUE
, les volets ancrés sont masqués ou affichés avec leurs barres d’outils et boutons d’autohide associés lorsque vous appelez CDockablePane::ShowPane
.
Si vous définissez ce membre sur FALSE
, les volets ancrés sont activés ou désactivés lorsque vous appelez CDockablePane::ShowPane
.
CDockablePane::m_nSlideSteps
Spécifie la vitesse d’animation du volet lorsqu’il est en mode d’autohide.
AFX_IMPORT_DATA static int m_nSlideSteps;
Remarques
Pour un effet d’animation plus rapide, réduisez cette valeur. Pour un effet d’animation plus lent, augmentez cette valeur.
CDockablePane::OnAfterChangeParent
Pour plus d’informations, consultez le code source situé dans le dossier mfc
de votre installation de Visual Studio. Par exemple, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc
.
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
Paramètres
[in] pWndOldParent
Remarques
CDockablePane::OnAfterDockFromMiniFrame
Appelé par l’infrastructure lorsqu’une barre d’ancrage flottante s’ancre dans une fenêtre frame.
virtual void OnAfterDockFromMiniFrame();
Remarques
Par défaut, cette méthode ne fait rien.
CDockablePane::OnBeforeChangeParent
L’infrastructure appelle cette méthode avant de modifier le parent du volet.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
Paramètres
pWndNewParent
[in] Pointeur vers la nouvelle fenêtre parente.
bDelay
[in] BOOL qui spécifie s’il faut retarder le recalcul de la disposition d’ancrage si le volet n’est pas suspendu. Pour plus d’informations, consultez CDockablePane::UndockPane
.
Remarques
Si le volet est ancré et que le nouveau parent n’autorise pas l’ancrage, cette méthode désactive le volet.
Si le volet est converti en document à onglets, cette méthode stocke sa position d’ancrage récente. L’infrastructure utilise la position d’ancrage récente pour restaurer la position du volet lorsqu’elle est convertie en état ancré.
CDockablePane::OnBeforeFloat
L’infrastructure appelle cette méthode avant qu’un volet passe à un état flottant.
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. Consultez CPane::DockPane
pour obtenir la liste des valeurs possibles.
Valeur de retour
TRUE
si le volet peut être flottant ; sinon, FALSE
.
Remarques
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 flotte.
CDockablePane::OnPressButtons
Appelé lorsque l’utilisateur appuie sur un bouton de légende autre que le AFX_HTCLOSE
et les boutons AFX_HTMAXBUTTON
.
virtual void OnPressButtons(UINT nHit);
Paramètres
nHit
[in] Ce paramètre n’est pas utilisé.
Remarques
Si vous ajoutez un bouton personnalisé à la légende d’un volet ancre, remplacez cette méthode pour recevoir des notifications lorsqu’un utilisateur appuie sur le bouton.
CDockablePane::OnSlide
Appelé par l’infrastructure pour animer le volet lorsqu’il est en mode d’autohide.
virtual void OnSlide(BOOL bSlideOut);
Paramètres
bSlideOut
[in] TRUE
afficher le volet ; FALSE
pour masquer le volet.
Remarques
Remplacez cette méthode dans une classe dérivée pour implémenter des effets d’autohide personnalisés.
CDockablePane::RemoveFromDefaultPaneDividier
L’infrastructure appelle cette méthode lorsqu’un volet n’est pas mis en place.
void RemoveFromDefaultPaneDividier();
Remarques
Cette méthode définit le séparateur de volet par défaut sur NULL
et supprime le volet de son conteneur.
CDockablePane::ReplacePane
Remplace le volet par un volet spécifié.
BOOL ReplacePane(
CDockablePane* pBarToReplaceWith,
AFX_DOCK_METHOD dockMethod,
BOOL bRegisterWithFrame = FALSE);
Paramètres
pBarToReplaceWith
[in] Pointeur vers un volet ancreable.
dockMethod
[in] Non utilisé.
bRegisterWithFrame
[in] Si TRUE
, le nouveau volet est inscrit auprès du gestionnaire d’ancrage du parent de l’ancien volet. Le nouveau volet est inséré à l’index de l’ancien volet dans la liste des volets gérés par le gestionnaire d’ancrage.
Valeur de retour
TRUE
si le remplacement réussit ; sinon, FALSE
.
CDockablePane::RestoreDefaultPaneDivider
Lorsqu’un volet est désérialisé, l’infrastructure appelle cette méthode pour restaurer le diviseur de volet par défaut.
void RestoreDefaultPaneDivider();
Remarques
Le diviseur de volet par défaut restauré remplace le séparateur de volet par défaut actuel, s’il existe.
CDockablePane::SetAutoHideMode
Bascule le volet d’ancrage entre le mode visible et l’autohide.
virtual CMFCAutoHideBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
Paramètres
bMode
[in] TRUE
pour activer le mode d’autohide ; FALSE
pour activer le mode d’ancrage standard.
dwAlignment
[in] Spécifie l’alignement du volet d’autohide à créer.
pCurrAutoHideBar
[in, out] Pointeur vers la barre d’outils d’autohide actuelle. Peut être NULL
.
bUseTimer
[in] Spécifie s’il faut utiliser l’effet d’autohide lorsque l’utilisateur bascule le volet en mode d’autohide ou pour masquer immédiatement le volet.
Valeur de retour
Barre d’outils d’autohide créée suite au passage en mode d’autohide ou NULL
.
Remarques
L’infrastructure appelle cette méthode lorsqu’un utilisateur clique sur le bouton épingle pour basculer le volet d’ancrage en mode autohide ou en mode d’ancrage standard.
Appelez cette méthode pour basculer un volet dockable en mode d’autohide par programmation. Le volet doit être ancré dans la fenêtre de cadre principal ( CDockablePane::GetDefaultPaneDivider
doit retourner un pointeur valide vers l'CPaneDivider
).
CDockablePane::SetAutoHideParents
Définit le bouton masquer automatiquement et la barre d’outils masquer automatiquement pour le volet.
void SetAutoHideParents(
CMFCAutoHideBar* pToolBar,
CMFCAutoHideButton* pBtn);
Paramètres
pToolBar
[in] Pointeur vers une barre d’outils de masquage automatique.
pBtn
[in] Pointeur vers un bouton masquer automatiquement.
CDockablePane::SetLastPercentInPaneContainer
Définit le pourcentage d’espace qu’un volet occupe dans son conteneur.
void SetLastPercentInPaneContainer(int n);
Paramètres
n
[in] Un int
qui spécifie le pourcentage d’espace occupé par le volet dans son conteneur.
Remarques
L’infrastructure ajuste le volet pour utiliser la nouvelle valeur lorsque la disposition est recalculée.
CDockablePane::SetRestoredDefaultPaneDivider
Définit le séparateur de volet par défaut restauré.
void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);
Paramètres
hRestoredSlider
[in] Handle vers un séparateur de volet (curseur).
Remarques
Un diviseur de volet par défaut restauré est obtenu lorsqu’un volet est désérialisé. Pour plus d’informations, consultez CDockablePane::RestoreDefaultPaneDivider
.
CDockablePane::SetTabbedPaneRTC
Définit les informations de classe runtime pour une fenêtre à onglets créée lorsque deux volets s’ancrent ensemble.
void SetTabbedPaneRTC(CRuntimeClass* pRTC);
Paramètres
pRTC
[in] Informations de classe runtime pour le volet à onglets.
Remarques
Appelez cette méthode pour définir les informations de classe runtime pour les volets à onglets créés dynamiquement. Cela peut se produire lorsqu’un utilisateur fait glisser un volet vers la légende d’un autre volet, ou si vous appelez la méthode CDockablePane::AttachToTabWnd
pour créer par programmation un volet à onglets à partir de deux volets ancrés.
La classe runtime par défaut est définie en fonction du paramètre dwTabbedStyle
de CDockablePane::Create
et de CDockablePane::CreateEx
. Pour personnaliser les nouveaux volets à onglets, dérivez votre classe de l’une des classes suivantes :
Ensuite, appelez cette méthode avec le pointeur vers ses informations de classe runtime.
CDockablePane::ShowPane
Affiche ou masque un volet.
virtual void ShowPane(
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Paramètres
bShow
[in] TRUE
afficher le volet ; FALSE
pour masquer le volet.
bDelay
[in] TRUE
pour retarder l’ajustement de la disposition d’ancrage ; FALSE
pour ajuster immédiatement la disposition d’ancrage.
bActivate
[in] TRUE
pour activer le volet lorsqu’il s’affiche ; sinon, FALSE
.
Remarques
Appelez cette méthode au lieu du CWnd::ShowWindow
lors de l’affichage ou de la masquage des volets ancrés.
CDockablePane::Slide
Anime un volet qui est en mode d’autohide.
virtual void Slide(
BOOL bSlideOut,
BOOL bUseTimer = TRUE);
Paramètres
bSlideOut
[in] TRUE
afficher le volet ; FALSE
pour masquer le volet.
bUseTimer
[in] TRUE
afficher ou masquer le volet avec l’effet d’autohide ; FALSE
afficher ou masquer immédiatement le volet.
Remarques
L’infrastructure appelle cette méthode pour animer un volet en mode d’autohide.
Cette méthode utilise la valeur CDockablePane::m_nSlideDefaultTimeOut
pour déterminer le délai d’expiration de l’effet de diapositive. La valeur par défaut du délai d’expiration est 1. Si vous personnalisez l’algorithme d’autohide, modifiez ce membre pour modifier le délai d’expiration.
CDockablePane::ToggleAutoHide
Bascule le volet entre le mode de masquage automatique et toujours visible.
virtual void ToggleAutoHide();
Remarques
Cette méthode bascule le mode de masquage automatique pour le volet en appelant CDockablePane::SetAutoHideMode
.
CDockablePane::UndockPane
Désactive un volet à partir de la fenêtre cadre principale ou d’un conteneur de fenêtre miniframe.
virtual void UndockPane(BOOL bDelay = FALSE);
Paramètres
bDelay
[in] TRUE
retarder le calcul de la disposition d’ancrage ; FALSE
pour recalculer immédiatement la disposition d’ancrage.
Remarques
Appelez cette méthode pour détacher un volet de la fenêtre cadre principale ou à partir d’un conteneur de fenêtre multiframe (volet flottant dans une seule fenêtre miniframe avec d’autres volets).
Vous devez détacher un volet avant d’effectuer une opération externe qui n’est pas effectuée par le CDockingManager
. Par exemple, vous devez détacher un volet pour le déplacer par programmation d’un emplacement vers un autre.
Le framework désactive automatiquement les volets avant qu’ils ne soient détruits.
Voir aussi
graphique hiérarchique
classes
CPane
classe