Share via


COleIPFrameWndEx, classe

La classe COleIPFrameWndEx implémente un conteneur OLE qui prend en charge MFC. Vous devez dériver la classe de fenêtres frames sur place pour votre application depuis la classe COleIPFrameWndEx , au lieu de la dériver de la classe COleIPFrameWnd. Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.

Syntaxe

class COleIPFrameWndEx : public COleIPFrameWnd

Membres

Méthodes publiques

Nom Description
COleIPFrameWndEx ::AddDockSite
COleIPFrameWndEx ::AddPane
COleIPFrameWndEx ::AdjustDockingLayout
COleIPFrameWndEx ::D ockPane
COleIPFrameWndEx ::D ockPaneLeftOf Ancre un volet à gauche d’un autre volet.
COleIPFrameWndEx ::EnableAutoHidePanes
COleIPFrameWndEx ::EnableDocking
COleIPFrameWndEx ::EnablePaneMenu
COleIPFrameWndEx ::GetActivePopup Retourne un pointeur vers le menu contextuel actuellement affiché.
COleIPFrameWndEx ::GetContainerFrameWindow
COleIPFrameWndEx ::GetDefaultResId Retourne l’ID de ressource de la fenêtre frame que vous avez spécifié quand la fenêtre a été chargée.
COleIPFrameWndEx ::GetDockFrame
COleIPFrameWndEx ::GetDockingManager
COleIPFrameWndEx ::GetMainFrame
COleIPFrameWndEx ::GetMenuBar Retourne un pointeur vers l’objet de barre de menu attaché à la fenêtre frame.
COleIPFrameWndEx ::GetPane
COleIPFrameWndEx ::GetTearOffBars Retourne une liste d’objets de volet qui sont dans un état détachable.
COleIPFrameWndEx ::GetToolbarButtonToolTipText Appelée par l’infrastructure avant l’affichage de l’info-bulle pour un bouton.
COleIPFrameWndEx ::InsertPane
COleIPFrameWndEx ::IsMenuBarAvailable Détermine si le pointeur vers l’objet de barre de menu n’est pas NULL.
COleIPFrameWndEx ::IsPointNearDockSite
COleIPFrameWndEx ::LoadFrame (Substitue COleIPFrameWnd::LoadFrame.)
COleIPFrameWndEx ::OnCloseDockingPane
COleIPFrameWndEx ::OnCloseMiniFrame
COleIPFrameWndEx ::OnClosePopupMenu Appelée par l’infrastructure quand un menu contextuel actif traite un message WM_DESTROY.
COleIPFrameWndEx ::OnCmdMsg (Substitue CFrameWnd::OnCmdMsg.)
COleIPFrameWndEx ::OnDrawMenuImage Appelée par l’infrastructure quand l’image associée à un élément de menu est dessinée.
COleIPFrameWndEx ::OnDrawMenuLogo Appelée par l’infrastructure quand un objet CMFCPopupMenutraite un message WM_PAINT.
COleIPFrameWndEx ::OnMenuButtonToolHitTest Appelée par l’infrastructure quand un objet CMFCToolBarButtontraite un message WM_NCHITTEST.
COleIPFrameWndEx ::OnMoveMiniFrame
COleIPFrameWndEx ::OnSetPreviewMode Appelez cette fonction membre pour définir la fenêtre frame principale de l’application dans et en dehors du mode Aperçu avant impression. (Substitue CFrameWnd::OnSetPreviewMode.)
COleIPFrameWndEx ::OnShowCustomizePane
COleIPFrameWndEx ::OnShowPanes
COleIPFrameWndEx ::OnShowPopupMenu Appelée par l’infrastructure quand un menu contextuel est activé.
COleIPFrameWndEx ::OnTearOffMenu Appelée par l’infrastructure quand un menu avec une barre détachable est activé.
COleIPFrameWndEx ::P aneFromPoint
COleIPFrameWndEx ::P reTranslateMessage (Substitue COleIPFrameWnd::PreTranslateMessage.)
COleIPFrameWndEx ::RecalcLayout (Substitue COleIPFrameWnd::RecalcLayout.)
COleIPFrameWndEx ::RemovePaneFromDockManager
COleIPFrameWndEx ::SetDockState Applique l’état d’ancrage spécifié aux volets qui appartiennent à la fenêtre frame.
COleIPFrameWndEx ::SetupToolbarMenu Modifie un objet de barre d’outils en recherchant des objets factices et en les remplaçant par les éléments définis par l’utilisateur spécifiés.
COleIPFrameWndEx ::ShowPane
COleIPFrameWndEx ::WinHelpA Appelée par l’infrastructure pour lancer l’application WinHelp ou l’aide contextuelle.

Méthodes protégées

Nom Description
COleIPFrameWndEx ::InitUserToobars Indique à l’infrastructure d’initialiser une plage d’ID de contrôle qui sont affectés aux barres d’outils définies par l’utilisateur.

Exemple

L’exemple suivant montre comment créer une sous-classe d’une instance de la classe COleIPFrameWndEx et surcharger ses méthodes. L’exemple montre comment surcharger la méthode OnDestory , la méthode RepositionFrame , la méthode RecalcLayout et la méthode CalcWindowRect . Cet extrait de code fait partie de l’ exemple Word Pad.

void CInPlaceFrame::OnDestroy()
{
   m_wndToolBar.DestroyWindow();
   m_wndFormatBar.DestroyWindow();
   COleIPFrameWndEx::OnDestroy();
}

void CInPlaceFrame::RepositionFrame(LPCRECT lpPosRect, LPCRECT lpClipRect)
{
   CRect rectNew = lpPosRect;
   rectNew.left -= HORZ_TEXTOFFSET;
   rectNew.top -= VERT_TEXTOFFSET;
   m_wndResizeBar.BringWindowToTop();
   COleIPFrameWndEx::RepositionFrame(&rectNew, lpClipRect);
   CWnd *pWnd = GetActiveView();
   if (pWnd != NULL)
      pWnd->BringWindowToTop();
   m_wndRulerBar.BringWindowToTop();
}

void CInPlaceFrame::RecalcLayout(BOOL bNotify)
{
   if (m_wndResizeBar.m_hWnd != NULL)
      m_wndResizeBar.BringWindowToTop();
   COleIPFrameWndEx::RecalcLayout(bNotify);
   CWnd *pWnd = GetActiveView();
   if (pWnd != NULL)
      pWnd->BringWindowToTop();
   if (m_wndRulerBar.m_hWnd != NULL)
      m_wndRulerBar.BringWindowToTop();

   // at least 12 pt region plus ruler if it exists
   CDisplayIC dc;
   CSize size;
   size.cy = MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72) + 1;
   size.cx = dc.GetDeviceCaps(LOGPIXELSX) / 4; // 1/4"
   size.cx += HORZ_TEXTOFFSET;                 //adjust for offset
   size.cy += VERT_TEXTOFFSET;
   if (m_wndRulerBar.m_hWnd != NULL && m_wndRulerBar.IsVisible())
   {
      CRect rect;
      m_wndRulerBar.GetWindowRect(&rect);
      size.cy += rect.Height();
   }
   m_wndResizeBar.SetMinSize(size);
}

void CInPlaceFrame::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType)
{
   COleIPFrameWndEx::CalcWindowRect(lpClientRect, nAdjustType);
}

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CFrameWnd

COleIPFrameWnd

COleIPFrameWndEx

Spécifications

En-tête : afxoleipframewndex.h

COleIPFrameWndEx ::AddDockSite

void AddDockSite();

Notes

COleIPFrameWndEx ::AddPane

BOOL AddPane(
    CBasePane* pControlBar,
    BOOL bTail = TRUE);

Paramètres

[in] pControlBar
[in] bTail

Valeur de retour

Notes

COleIPFrameWndEx ::AdjustDockingLayout

virtual void AdjustDockingLayout(HDWP hdwp = NULL);

Paramètres

[in] hdwp

Notes

COleIPFrameWndEx ::D ockPane

void DockPane(
    CBasePane* pBar,
    UINT nDockBarID = 0,
    LPCRECT lpRect = NULL);

Paramètres

[in] pBar
[in] nDockBarID
[in] lpRect

Notes

COleIPFrameWndEx ::D ockPaneLeftOf

Ancre un volet à gauche d’un autre volet.

BOOL DockPaneLeftOf(
    CPane* pBar,
    CPane* pLeftOf);

Paramètres

pBar
[in] Pointeur vers le volet à ancrer.

pLeftOf
[in] Pointeur vers le volet qui sert d’origine.

Valeur de retour

Retourne TRUE si l’opération réussit. Sinon, retourne la valeur FALSE.

Notes

Appelez cette méthode pour ancrer plusieurs objets de volet dans un ordre prédéfini. Cette méthode ancre le volet spécifié par pBar à gauche du volet spécifié par pLeftOf.

COleIPFrameWndEx ::EnableAutoHidePanes

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Paramètres

[in] dwDockStyle

Valeur de retour

Notes

COleIPFrameWndEx ::EnableDocking

BOOL EnableDocking(DWORD dwDockStyle);

Paramètres

[in] dwDockStyle

Valeur de retour

Notes

COleIPFrameWndEx ::EnablePaneMenu

void EnablePaneMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeLabel,
    UINT uiViewToolbarsMenuEntryID,
    BOOL bContextMenuShowsToolbarsOnly = FALSE,
    BOOL bViewMenuShowsToolbarsOnly = FALSE);

Paramètres

[in] bEnable
[in] uiCustomizeCmd
[in] strCustomizeLabel
[in] uiViewToolbarsMenuEntryID
[in] bContextMenuShowsToolbarsOnly
[in] bViewMenuShowsToolbarsOnly

Notes

COleIPFrameWndEx ::GetActivePopup

Retourne un pointeur vers le menu contextuel actuellement affiché.

CMFCPopupMenu* GetActivePopup() const;

Valeur de retour

Pointeur vers le menu contextuel actif ; sinon NULL.

Notes

Utilisez cette méthode pour obtenir un pointeur vers l’objet CMFCPopupMenu Class actuellement affiché.

COleIPFrameWndEx ::GetContainerFrameWindow

COleCntrFrameWndEx* GetContainerFrameWindow();

Valeur de retour

Notes

COleIPFrameWndEx ::GetDefaultResId

Retourne l’ID de ressource de menu spécifié lorsque la fenêtre frame a chargé le menu.

UINT GetDefaultResId() const;

Valeur de retour

Retourne l’ID de ressource du menu, ou 0 si la fenêtre frame n’a pas de barre de menus.

Notes

Appelez cette fonction pour récupérer l’ID de ressource spécifié lorsque la fenêtre frame a chargé la ressource de menu en appelant COleIPFrameWndEx::LoadFrame.

COleIPFrameWndEx ::GetDockFrame

CFrameWnd* GetDockFrame();

Valeur de retour

Notes

COleIPFrameWndEx ::GetDockingManager

CDockingManager* GetDockingManager();

Valeur de retour

Notes

COleIPFrameWndEx ::GetMainFrame

CFrameWnd* GetMainFrame();

Valeur de retour

Notes

COleIPFrameWndEx ::GetMenuBar

Retourne un pointeur vers l’objet de barre de menu attaché à la fenêtre frame.

const CMFCMenuBar* GetMenuBar() const;

Valeur de retour

Pointeur vers l’objet de barre de menus.

Notes

Utilisez cette fonction pour récupérer un pointeur vers l’objet de barre de menus qui appartient à l’objet COleIPFrameWndEx .

COleIPFrameWndEx ::GetPane

CBasePane* GetPane(UINT nID);

Paramètres

[in] nID

Valeur de retour

Notes

COleIPFrameWndEx ::GetTearOffBars

Retourne une liste d’objets de volet qui sont dans un état détachable.

const CObList& GetTearOffBars() const;

Valeur de retour

Référence à un CObList objet qui contient une collection de pointeurs vers les objets dérivés de la classe CBasePane.

Notes

L’objet COleIPFrameWndEx conserve la collection de menus déchirures sous la forme d’une liste d’objets dérivés de la classe CBasePane. Utilisez cette méthode pour récupérer une référence à cette liste.

COleIPFrameWndEx ::GetToolbarButtonToolTipText

Appelée par l’infrastructure avant l’affichage de l’info-bulle pour un bouton.

virtual BOOL GetToolbarButtonToolTipText(
    CMFCToolBarButton* pButton,
    CString& strTTText);

Paramètres

pButton
[in] Pointeur vers le bouton.

strTTText
[in] Pointeur vers le texte de l’info-bulle.

Valeur de retour

L’implémentation par défaut retourne 0.

Notes

Remplacez cette fonction pour personnaliser l’affichage des info-bulles sur les boutons de barre d’outils.

COleIPFrameWndEx ::InitUserToobars

Spécifie une plage d’ID de contrôle que l’infrastructure affecte aux barres d’outils définies par l’utilisateur.

void InitUserToolbars(
    LPCTSTR lpszRegEntry,
    UINT uiUserToolbarFirst,
    UINT uiUserToolbarLast)

Paramètres

lpszRegEntry
[in] Entrée de Registre dans laquelle la bibliothèque stocke les paramètres de barre d’outils utilisateur.

uiUserToolbarFirst
[in] ID de contrôle affecté à la première barre d’outils définie par l’utilisateur.

uiUserToolbarLast
[in] ID de contrôle affecté à la dernière barre d’outils définie par l’utilisateur.

Notes

Utilisez cette fonction pour initialiser une plage d’ID de contrôle pour l’affectation aux barres d’outils que les utilisateurs définissent dynamiquement. Les paramètres uiUserToolbarFirst et uiUserToolbarLast définissent une plage d’ID de contrôle de barre d’outils autorisés. Pour désactiver la création de barres d’outils définies par l’utilisateur, définissez uiUserToolbarFirst ou uiUserToolbarLast sur -1.

COleIPFrameWndEx ::InsertPane

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter = TRUE);

Paramètres

[in] pControlBar
[in] pTarget
[in] bAfter

Valeur de retour

Notes

COleIPFrameWndEx ::IsMenuBarAvailable

Détermine si le pointeur vers l’objet de barre de menus n’est pas NULL

BOOL IsMenuBarAvailable() const;

Valeur de retour

Retourne une valeur différente de zéro si la fenêtre frame a une barre de menus ; sinon retourne 0.

Notes

Appelez cette méthode pour déterminer si la fenêtre frame conserve un pointeur non NULL vers son objet de barre de menus.

COleIPFrameWndEx ::IsPointNearDockSite

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Paramètres

[in] Point
[in] dwBarAlignment
[in] bOuterEdge

Valeur de retour

Notes

COleIPFrameWndEx ::LoadFrame

virtual BOOL LoadFrame(
    UINT nIDResource,
    DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
    CWnd* pParentWnd = NULL,
    CCreateContext* pContext = NULL);

Paramètres

[in] nIDResource
[in] dwDefaultStyle
[in] pParentWnd
[in] Pcontext

Valeur de retour

Notes

COleIPFrameWndEx ::OnCloseDockingPane

virtual BOOL OnCloseDockingPane(CDockablePane*);

Paramètres

[in] CDockablePane*

Valeur de retour

Notes

COleIPFrameWndEx ::OnCloseMiniFrame

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Paramètres

[in] CPaneFrameWnd*

Valeur de retour

Notes

COleIPFrameWndEx ::OnClosePopupMenu

Appelée par l’infrastructure quand un menu contextuel actif traite un message WM_DESTROY.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Paramètres

pMenuPopup
[in] Pointeur vers l’objet de menu contextuel.

Notes

Remplacez cette méthode pour recevoir des notifications d’objets CMFCPopupMenu lorsqu’ils traitent WM_DESTROY messages.

COleIPFrameWndEx ::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Paramètres

[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo

Valeur de retour

Notes

COleIPFrameWndEx ::OnDrawMenuImage

Appelé par l’infrastructure lorsque l’image associée à un élément de menu est dessinée.

virtual BOOL OnDrawMenuImage(
    CDC* pDC,
    const CMFCToolBarMenuButton* pMenuButton,
    const CRect& rectImage);

Paramètres

pDC
[in] Pointeur vers le contexte de l’appareil.

pMenuButton
[in] Pointeur vers le bouton de menu.

rectImage
[in] Image associée à l’élément de menu.

Valeur de retour

L’implémentation par défaut ne fait rien et retourne 0.

Notes

Remplacez cette méthode si vous souhaitez personnaliser le dessin d’image pour les éléments de menu appartenant à la barre de menus appartenant à l’objet COleIPFrameWndExdérivé.

Appelée par l’infrastructure quand un objet CMFCPopupMenutraite un message WM_PAINT.

virtual void OnDrawMenuLogo(
    CDC* pDC,
    CMFCPopupMenu* pMenu,
    const CRect& rectLogo);

Paramètres

pDC
[in] Pointeur vers le contexte de l’appareil.

pMenu
[in] Pointeur vers l’objet de menu contextuel.

rectLogo
[in] Pointeur vers le logo à afficher.

Notes

Remplacez cette méthode pour afficher un logo dans le menu contextuel associé à la barre de menus appartenant à l’objet COleIPFrameWndExdérivé. L'implémentation par défaut n'exécute aucune opération.

COleIPFrameWndEx ::OnMenuButtonToolHitTest

Appelé par l’infrastructure lorsqu’un objet CMFCToolBarButtontraite un message WM_NCHITTEST.

virtual BOOL OnMenuButtonToolHitTest(
    CMFCToolBarButton* pButton,
    TOOLINFO* pTI);

Paramètres

[in] pointeur pButton vers un bouton de menu.

[out] pointeur pTI vers une TOOLINFO structure.

Valeur de retour

L’implémentation par défaut ne fait rien et retourne 0. Votre implémentation doit retourner une valeur non nulle si elle remplit le paramètre pTI .

Notes

Remplacez cette méthode pour fournir des informations d’info-bulle sur un élément de menu spécifique.

COleIPFrameWndEx ::OnMoveMiniFrame

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Paramètres

[in] pFrame

Valeur de retour

Notes

COleIPFrameWndEx ::OnSetPreviewMode

virtual void OnSetPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Paramètres

[in] bPreview
[in] pState

Notes

COleIPFrameWndEx ::OnShowCustomizePane

virtual BOOL OnShowCustomizePane(
    CMFCPopupMenu* pMenuPane,
    UINT uiToolbarID);

Paramètres

[in] pMenuPane
[in] uiToolbarID

Valeur de retour

Notes

COleIPFrameWndEx ::OnShowPanes

virtual BOOL OnShowPanes(BOOL bShow);

Paramètres

[in] bShow

Valeur de retour

Notes

COleIPFrameWndEx ::OnShowPopupMenu

Appelé par l’infrastructure lorsqu’un menu contextuel s’affiche.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);

Paramètres

pMenuPopup
[in] Pointeur vers le menu contextuel à afficher.

Valeur de retour

L’implémentation par défaut ne fait rien et retourne une valeur non nulle. Votre implémentation doit retourner FALSE si le menu contextuel ne peut pas être affiché.

Notes

Remplacez cette méthode pour personnaliser l’affichage d’un menu contextuel. Par exemple, vous pouvez modifier les boutons de menu en boutons de menu couleur ou initialiser des barres de déchirure.

COleIPFrameWndEx ::OnTearOffMenu

Appelé par l’infrastructure lorsque l’utilisateur sélectionne un menu qui a une barre de déchirure.

virtual BOOL OnTearOffMenu(
    CMFCPopupMenu* pMenuPopup,
    CPane* pBar);

Paramètres

pMenuPopup
[in] Pointeur vers le menu contextuel sélectionné par l’utilisateur.

pBar
[in] Pointeur vers le volet qui héberge le menu.

Valeur de retour

TRUE si vous souhaitez que l’infrastructure active le menu contextuel ; sinon FALSE. La valeur par défaut est TRUE.

Notes

Remplacez cette fonction si vous souhaitez personnaliser la configuration de la barre de déchirure.

COleIPFrameWndEx ::P aneFromPoint

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar,
    CRuntimeClass* pRTCBarType) const;

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    DWORD& dwAlignment,
    CRuntimeClass* pRTCBarType) const;

Paramètres

[in] Point
[in] nSensitivity
[in] bExactBar
[in] pRTCBarType
[in] dwAlignment

Valeur de retour

Notes

COleIPFrameWndEx ::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paramètres

[in] pMsg

Valeur de retour

Notes

COleIPFrameWndEx ::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Paramètres

[in] bNotify

Notes

COleIPFrameWndEx ::RemovePaneFromDockManager

void RemovePaneFromDockManager(
    CBasePane* pControlBar,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide,
    CBasePane* pBarReplacement);

Paramètres

[in] pControlBar
[in] bDestroy
[in] bAdjustLayout
[in] bAutoHide
[in] pBarReplacement

Notes

COleIPFrameWndEx ::SetDockState

Applique l’état d’ancrage spécifié aux volets qui appartiennent à la fenêtre frame.

void SetDockState(const CDockState& state);

Paramètres

state
[in] Spécifie l’état d’ancrage.

Notes

Utilisez cette fonction pour spécifier un nouvel état d’ancrage pour les volets qui appartiennent à l’objet COleIPFrameWndEx .

COleIPFrameWndEx ::SetupToolbarMenu

Modifie un objet de barre d’outils en recherchant des objets factices et en les remplaçant par les éléments définis par l’utilisateur spécifiés.

void SetupToolbarMenu(
    CMenu& menu,
    const UINT uiViewUserToolbarCmdFirst,
    const UINT uiViewUserToolbarCmdLast);

Paramètres

menu
[in] Référence à un objet CMenu à modifier.

uiViewUserToolbarCmdFirst
[in] Spécifie la première commande définie par l’utilisateur.

uiViewUserToolbarCmdLast
[in] Spécifie la dernière commande définie par l’utilisateur.

Notes

COleIPFrameWndEx ::ShowPane

void ShowPane(
    CBasePane* pBar,
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Paramètres

[in] pBar
[in] bShow
[in] bDelay
[in] bActivate

Notes

COleIPFrameWndEx ::WinHelpA

Appelée par l’infrastructure pour lancer l’application WinHelp ou l’aide contextuelle.

virtual void WinHelp(
    DWORD dwData,
    UINT nCmd = HELP_CONTEXT);

Paramètres

[in] dwData Spécifie les données requises pour le type d’aide spécifié par nCmd.

nCmd
[in] Spécifie le type d’aide demandé. Pour obtenir la liste des valeurs possibles et leur impact sur le paramètre dwData , consultez la fonction WinHelp dans le Kit de développement logiciel (SDK) Windows.

Notes

Voir aussi

Graphique hiérarchique
Classes
CFrameWndEx, classe
CMDIFrameWndEx, classe