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
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 COleIPFrameWndEx
dérivé.
COleIPFrameWndEx ::OnDrawMenuLogo
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 COleIPFrameWndEx
dé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