KLASSE CMFCOutlookBar

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een deelvenster met tabbladen met het visuele uiterlijk van het navigatiedeelvenster in Microsoft Outlook 2000 of Outlook 2003. Het CMFCOutlookBar object bevat een CMFCOutlookBarTabCtrl-klasseobject en een reeks tabbladen. De tabbladen kunnen CMFCOutlookBarPane Class-objecten of CWnd-afgeleide objecten zijn. Voor de gebruiker wordt de Outlook-balk weergegeven als een reeks knoppen en een weergavegebied. Wanneer de gebruiker op een knop klikt, wordt het bijbehorende besturingselement of knopvenster weergegeven.

Syntaxis

class CMFCOutlookBar : public CBaseTabbedPane

Leden

Openbare constructors

Naam Description
CMFCOutlookBar::CMFCOutlookBar Standaardconstructor.
CMFCOutlookBar::~CMFCOutlookBar Destructor.

Openbare methoden

Naam Description
CMFCOutlookBar::AllowDestroyEmptyTabbedPane Hiermee geeft u op of een leeg deelvenster met tabbladen kan worden vernietigd. (Overschrijft CBaseTabbedPane::AllowDestroyEmptyTabbedPane.)
CMFCOutlookBar::CanAcceptPane Bepaalt of een ander deelvenster kan worden gekoppeld aan het Outlook-balkvenster. (Overschrijft CDockablePane::CanAcceptPane.)
CMFCOutlookBar::CanSetCaptionTextToTabName Bepaalt of het bijschrift voor het deelvenster met tabbladen dezelfde tekst weergeeft als het actieve tabblad. (Hiermee wordt CBaseTabbedPane::CanSetCaptionTextToTabName overschreven.)
CMFCOutlookBar::Maken Hiermee maakt u het besturingselement van de Outlook-balk.
CMFCOutlookBar::CreateCustomPage Hiermee maakt u een aangepast outlook-balktabblad.
CMFCOutlookBar::CreateObject Wordt door het framework gebruikt om een dynamisch exemplaar van dit klassetype te maken.
CMFCOutlookBar::D oesAllowDynInsertBefore Bepaalt of een gebruiker een besturingsbalk aan de buitenrand van de Outlook-balk kan docken.
CMFCOutlookBar::FloatTab Hiermee wordt een deelvenster zwevend, maar alleen als het deelvenster zich momenteel op een loskoppelbaar tabblad bevindt. (Overschrijft CBaseTabbedPane::FloatTab.)
CMFCOutlookBar::GetButtonsFont Retourneert het lettertype van de tekst op de knoppen van de Outlook-balk.
CMFCOutlookBar::GetTabArea Retourneert de grootte en positie van de tabbladgebieden op de Outlook-balk. (Overschrijft CBaseTabbedPane::GetTabArea.)
CMFCOutlookBar::GetThisClass Wordt door het framework gebruikt om een aanwijzer te verkrijgen naar het CRuntimeClass-object dat is gekoppeld aan dit klassetype.
CMFCOutlookBar::IsMode2003 Bepaalt of het gedrag van de Outlook-balk dat van Microsoft Office Outlook 2003 nabootst (zie Opmerkingen).
CMFCOutlookBar::OnAfterAnimation Aangeroepen door CMFCOutlookBarTabCtrl::SetActiveTab nadat het actieve tabblad is ingesteld met behulp van animatie.
CMFCOutlookBar::OnBeforeAnimation Aangeroepen door CMFCOutlookBarTabCtrl::SetActiveTab voordat een tabbladpagina is ingesteld als het actieve tabblad met behulp van animatie.
CMFCOutlookBar::OnScroll Aangeroepen door het framework als de Outlook-balk omhoog of omlaag schuift.
CMFCOutlookBar::RemoveCustomPage Hiermee verwijdert u een aangepast outlook-balktabblad.
CMFCOutlookBar::SetButtonsFont Hiermee stelt u het lettertype van de tekst in op de knoppen van de Outlook-balk.
CMFCOutlookBar::SetMode2003 Hiermee geeft u op of het gedrag van de Outlook-balk die van Outlook 2003 nabootst (zie Opmerkingen).

Opmerkingen

Zie het OutlookDemo-voorbeeld: MFC OutlookDemo-toepassing voor een voorbeeld van een Outlook-balk.

De Outlook-balk implementeren

Voer de volgende stappen uit om het CMFCOutlookBar besturingselement in uw toepassing te gebruiken:

  1. CMFCOutlookBar Een object insluiten in de hoofdframevensterklasse.

    class CMainFrame : public CMDIFrameWnd
    {
        // ...
        CMFCOutlookBar m_wndOutlookBar;
        CMFCOutlookBarPane m_wndOutlookPane;
        // ...
    };
    
  2. Wanneer u het WM_CREATE bericht in het hoofdframe verwerkt, roept u de methode CMFCOutlookBar::Create aan om het tabblad van Outlook te maken.

    m_wndOutlookBar.Create (_T("Shortcuts"),
        this,
        CRect (0, 0, 100, 100),
        ID_VIEW_OUTLOOKBAR,
        WS_CHILD | WS_VISIBLE | CBRS_LEFT);
    
  3. Haal een aanwijzer naar de onderliggende CMFCOutlookBarTabCtrl waarde met behulp van CBaseTabbedPane::GetUnderlyingWindow.

    CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
    
  4. Maak een CMFCOutlookBarPane Class-object voor elk tabblad met knoppen.

    m_wndOutlookPane.Create(&m_wndOutlookBar,
        AFX_DEFAULT_TOOLBAR_STYLE,
        ID_OUTLOOK_PANE_GENERAL,
        AFX_CBRS_FLOAT | AFX_CBRS_RESIZE);
    
    // make the Outlook pane detachable (enable docking)
    m_wndOutlookPane.EnableDocking(CBRS_ALIGN_ANY);
    
    // add buttons
    m_wndOutlookPane.AddButton(theApp.LoadIcon (IDR_MAINFRAME),
        "About",
        ID_APP_ABOUT);
    
    m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_CUSTOM_OPEN_ICON),
        "Open",
        ID_FILE_OPEN);
    
  5. Roep CMFCOutlookBarTabCtrl::AddTab aan om elk nieuw tabblad toe te voegen. Stel de parameter bDetachable in op FALSE om een pagina niet-ontkoppelbaar te maken. Of gebruik CMFCOutlookBarTabCtrl::AddControl om loskoppelbare pagina's toe te voegen.

    pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);
    
  6. Als u een CWnd-afgeleide besturingselement (bijvoorbeeld CMFCShellTreeCtrl-klasse) wilt toevoegen als tabblad, maakt u het besturingselement en roept u CMFCOutlookBarTabCtrl::AddTab toe om dit toe te voegen aan de Outlook-balk.

Opmerking

U moet unieke besturingselement-id's gebruiken voor elk CMFCOutlookBarPane Class-object en voor elk CWnd-afgeleide object.

Als u tijdens runtime dynamisch nieuwe pagina's wilt toevoegen of verwijderen, gebruikt u CMFCOutlookBar::CreateCustomPage en CMFCOutlookBar::RemoveCustomPage.

Outlook 2003-modus

In de outlook 2003-modus worden de tabknoppen onder aan het deelvenster van de Outlook-balk geplaatst. Wanneer er onvoldoende ruimte is om de knoppen weer te geven, worden ze weergegeven als pictogrammen in een werkbalkachtig gebied onderaan het deelvenster.

Gebruik CMFCOutlookBar::SetMode2003 om de Outlook 2003-modus in te schakelen. Gebruik CMFCOutlookBarTabCtrl::SetToolbarImageList om de bitmap in te stellen die de pictogrammen bevat die onder aan de Outlook-balk worden weergegeven. De pictogrammen in de bitmap moeten worden geordend op tabindex.

Overnamehiërarchie

CObject

CCmdTarget-

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CMFCOutlookBar

Requirements

Koptekst: afxoutlookbar.h

CMFCOutlookBar::AllowDestroyEmptyTabbedPane

Hiermee geeft u op of een leeg deelvenster met tabbladen kan worden vernietigd.

virtual BOOL AllowDestroyEmptyTabbedPane() const;

Retourwaarde

WAAR als een leeg deelvenster met tabbladen kan worden vernietigd; anders, ONWAAR. De standaard implementatie retourneert altijd TRUE.

Opmerkingen

Als een leeg deelvenster met tabbladen niet kan worden vernietigd, verbergt het framework het in plaats daarvan.

CMFCOutlookBar::CanAcceptPane

Bepaalt of een ander deelvenster kan worden gekoppeld aan het Outlook-balkvenster.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parameterwaarden

pBar
[in] Een aanwijzer naar een ander deelvenster dat wordt gekoppeld aan dit deelvenster.

Retourwaarde

WAAR als een ander deelvenster kan worden gekoppeld aan het Outlook-balkvenster; anders ONWAAR.

Opmerkingen

Als de Outlook-balk zich in de Outlook 2003-modus bevindt, wordt docking niet ondersteund, dus de retourwaarde is FALSE.

Als de parameter pBar NULL is, retourneert deze methode FALSE.

Anders gedraagt deze methode zich als de basismethode CBasePane::CanAcceptPane, behalve dat, zelfs als docking niet is ingeschakeld, een Outlook-balk nog steeds een Outlook-balk kan worden vastgezet.

CMFCOutlookBar::CanSetCaptionTextToTabName

Bepaalt of het bijschrift voor het deelvenster met tabbladen dezelfde tekst weergeeft als het actieve tabblad.

virtual BOOL CanSetCaptionTextToTabName() const;

Retourwaarde

WAAR als het bijschrift van het Outlook-balkvenster automatisch is ingesteld op de tekst van het actieve tabblad; anders ONWAAR.

Opmerkingen

Gebruik CBaseTabbedPane::EnableSetCaptionTextToTabName om deze functionaliteit in of uit te schakelen.

In de Outlook 2003-modus is deze instelling altijd ingeschakeld.

CMFCOutlookBar::Maken

Hiermee maakt u het besturingselement van de Outlook-balk.

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

Parameterwaarden

lpszCaption
[in] Hiermee geeft u het bijschrift van het venster.

pParentWnd
[in] Hiermee geeft u een aanwijzer naar een bovenliggend venster. Deze mag niet NULL zijn.

Rect
[in] Hiermee geeft u de grootte en positie van de Outlook-balk op in pixels.

nID
[in] Hiermee geeft u de besturingselement-id. Moet verschillen van andere besturings-id's die in de toepassing worden gebruikt.

dwStyle
[in] Hiermee geeft u de gewenste stijl van de besturingsbalk op. Zie Vensterstijlen voor mogelijke waarden.

dwControlBarStyle
[in] Hiermee geeft u de speciale bibliotheek gedefinieerde stijlen.

pContext-
[in] Context maken.

Retourwaarde

Niet-nul als de methode is geslaagd; anders 0.

Opmerkingen

U maakt een CMFCOutlookBar object in twee stappen. Roep eerst de constructor aan en roep Createvervolgens het outlook-balk besturingselement aan en koppelt het aan het CMFCOutlookBar object.

Zie CBasePane::CreateEx voor de lijst met beschikbare door de bibliotheek gedefinieerde stijlen die moeten worden opgegeven door dwControlBarStyle.

Example

In het volgende voorbeeld ziet u hoe u de Create methode van de CMFCOutlookBar klasse gebruikt. Dit codefragment maakt deel uit van het outlook-voorbeeld met meerdere weergaven.

CMFCOutlookBar m_wndShortcutsBar;
// int nInitialWidth
// CString strCaption
if (!m_wndShortcutsBar.Create(strCaption, this,
                              CRect(0, 0, nInitialWidth, nInitialWidth),
                              ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
{
   TRACE0("Failed to create outlook bar\n");
   return FALSE; // fail to create
}

CMFCOutlookBar::CreateCustomPage

Hiermee maakt u een aangepast outlook-balktabblad.

CMFCOutlookBarPane* CreateCustomPage(
    LPCTSTR lpszPageName,
    BOOL bActivatePage=TRUE,
    DWORD dwEnabledDocking=CBRS_ALIGN_ANY,
    BOOL bEnableTextLabels=TRUE);

Parameterwaarden

lpszPageName
[in] Het paginalabel.

bActivatePage
[in] Indien WAAR, wordt de pagina actief bij het maken.

dwEnabledDocking
[in] Een combinatie van CBRS_ALIGN_ vlaggen waarmee de ingeschakelde dockingkanten worden opgegeven wanneer de pagina wordt losgekoppeld.

bEnableTextLabels
[in] Als WAAR is, worden de tekstlabels ingeschakeld voor de knoppen die zich op de pagina bevinden.

Retourwaarde

Een aanwijzer naar de zojuist gemaakte pagina of NULL als het maken is mislukt.

Opmerkingen

Gebruik deze methode om de gebruikers in staat te stellen aangepaste Outlook-balkpagina's te maken. U kunt maximaal 100 pagina's per toepassing maken. De paginabeheer-id's beginnen vanaf 0xF000. Het maken mislukt als het totale aantal aangepaste Outlook-balkpagina's groter is dan 100.

Gebruik CMFCOutlookBar::RemoveCustomPage om aangepaste pagina's te verwijderen.

CMFCOutlookBar::D oesAllowDynInsertBefore

Hiermee geeft u op of een gebruiker een deelvenster aan de buitenrand van de Outlook-balk kan koppelen.

DECLARE_MESSAGE_MAP virtual BOOL DoesAllowDynInsertBefore() const;

Retourwaarde

De standaard implementatie retourneert FALSE.

Opmerkingen

Het framework roept de DoesAllowDynInsertBefore methode aan wanneer wordt gezocht naar een locatie om een dynamisch deelvenster te docken. Als de functie FALSE retourneert, staat het framework het koppelen van een dynamisch deelvenster aan de buitenranden van het deelvenster niet toe.

Meestal maakt u een Outlook-balk als een statisch niet-zwevend besturingselement. U kunt deze functie in een afgeleide klasse overschrijven en WAAR retourneren om dit gedrag te wijzigen.

Opmerking

Omdat dynamische deelvensters de status van gedokte statische deelvensters controleren wanneer ze worden gekoppeld, moet u dynamische deelvensters indien mogelijk docken na statische deelvensters.

CMFCOutlookBar::FloatTab

Hiermee wordt een deelvenster zwevend.

virtual BOOL FloatTab(
    CWnd* pBar,
    int nTabID,
    AFX_DOCK_METHOD dockMethod,
    BOOL bHide);

Parameterwaarden

pBar
[in] Een aanwijzer naar het deelvenster om te zweven.

nTabID
[in] De op nul gebaseerde index van het tabblad om te zweven.

dockMethod
[in] Hiermee geeft u de methode op die moet worden gebruikt om het deelvenster te laten zweven. Zie CBaseTabbedPane::FloatTab voor meer informatie.

bHide
[in] WAAR om het deelvenster te verbergen voordat het zwevend is; anders, ONWAAR. In tegenstelling tot de basisklasseversie van deze methode heeft deze parameter geen standaardwaarde.

Retourwaarde

WAAR als het deelvenster zwevend is; anders, ONWAAR.

Opmerkingen

Deze methode is vergelijkbaar met CBaseTabbedPane::FloatTab , behalve dat het laatste resterende tabblad op een Outlook-balkbesturingselement niet kan zweven.

CMFCOutlookBar::GetButtonsFont

Retourneert het lettertype van de tekst op de paginaknoptabbladen van de Outlook-balk.

CFont* GetButtonsFont() const;

Retourwaarde

Een aanwijzer naar het lettertypeobject dat wordt gebruikt om tekst weer te geven op de tabbladen van de outlook-balkpagina.

Opmerkingen

Gebruik deze functie om het lettertype op te halen dat wordt gebruikt om de tekst weer te geven op de tabbladen van de outlook-paginaknop. U kunt het lettertype instellen door CMFCOutlookBar::SetButtonsFont aan te roepen.

CMFCOutlookBar::GetTabArea

Bepaalt de grootte en positie van de tabbladgebieden op de Outlook-balk.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

Parameterwaarden

rectTabAreaTop
[uit] Bevat de grootte en positie (in de clientcoördinaten) van het bovenste tabbladgebied wanneer de functie wordt geretourneerd.

rectTabAreaBottom
[uit] Bevat de grootte en positie (in de clientcoördinaten) van het onderste tabbladgebied wanneer de functie wordt geretourneerd.

Opmerkingen

In het framework wordt deze methode aangeroepen om het type docking naar het doelvenster te bepalen. Wanneer het framework bepaalt dat de gebruiker het deelvenster sleept om over het tabbladgebied van het doelvenster te worden gedokt, wordt geprobeerd het eerste deelvenster toe te voegen als een nieuw tabblad van het doelvenster. Anders wordt geprobeerd het eerste deelvenster aan een geschikte kant van het doelvenster te docken. Het framework maakt een nieuwe container met een schuifregelaar voor het extra gedokte deelvenster.

De standaard implementatie van GetTabArea retourneert het hele clientgebied van de Outlook-balk als de Outlook-balk statisch is. Dat wil gezegd, als de Outlook-balk niet kan zweven. Anders wordt het gebied geretourneerd dat paginaknoppen boven en onder aan het besturingselement van de Outlook-balk nemen.

Overschrijf deze methode in klasse die is afgeleid van CMFCOutlookBar het wijzigen van dit gedrag.

CMFCOutlookBar::IsMode2003

Hiermee geeft u op of het gedrag van de Outlook-balk dat van Microsoft Office Outlook 2003 nabootst.

BOOL IsMode2003() const;

Retourwaarde

Niet-nul als de Outlook-balk wordt uitgevoerd in de Microsoft Office 2003-modus; anders 0.

Opmerkingen

U kunt deze modus inschakelen met behulp van CMFCOutlookBar::SetMode2003.

CMFCOutlookBar::OnAfterAnimation

Aangeroepen door CMFCOutlookBarTabCtrl::SetActiveTab nadat het actieve tabblad is ingesteld met behulp van animatie.

virtual void OnAfterAnimation(int nPage);

Parameterwaarden

nPagina
[in] De op nul gebaseerde index van de tabbladpagina die actief is gemaakt.

Opmerkingen

Het visuele effect van het instellen van het actieve tabblad is afhankelijk van of u animatie hebt ingeschakeld. Zie CMFCOutlookBarTabCtrl::EnableAnimation voor meer informatie.

CMFCOutlookBar::OnBeforeAnimation

Aangeroepen door CMFCOutlookBarTabCtrl::SetActiveTab voordat een tabbladpagina is ingesteld als het actieve tabblad met behulp van animatie.

virtual BOOL OnBeforeAnimation(int nPage);

Parameterwaarden

nPagina
[in] De op nul gebaseerde index van de tabbladpagina die op het punt staat actief te worden ingesteld.

Retourwaarde

Retourneert TRUE als animatie moet worden gebruikt bij het instellen van het nieuwe actieve tabblad of ONWAAR als animatie moet worden uitgeschakeld.

Opmerkingen

CMFCOutlookBar::OnScroll

Aangeroepen door het framework als de Outlook-balk omhoog of omlaag schuift.

virtual void OnScroll(BOOL bDown);

Parameterwaarden

bDown
[in] WAAR als de Outlook-balk omlaag schuift of ONWAAR als deze omhoog schuift.

Opmerkingen

CMFCOutlookBar::RemoveCustomPage

Hiermee verwijdert u een aangepaste tabbladpagina van de Outlook-balk.

BOOL RemoveCustomPage(
    UINT uiPage,
    CMFCOutlookBarTabCtrl* pTargetWnd);

Parameterwaarden

uiPage
[in] Op nul gebaseerde index van de pagina in het bovenliggende Outlook-venster.

pTargetWnd
[in] Wijs het bovenliggende Outlook-venster aan.

Retourwaarde

Niet-nul als de aangepaste pagina is verwijderd; anders 0.

Opmerkingen

Roep deze functie aan om aangepaste pagina's te verwijderen. Wanneer de pagina wordt verwijderd, wordt de besturings-id geretourneerd naar de groep beschikbare id's.

U moet een aanwijzer opgeven voor het CMFCOutlookBarTabCtrl-klasseobject waarin de pagina zich momenteel bevindt. Een gebruiker kan loskoppelbare pagina's verplaatsen tussen verschillende Outlook-balken, maar de informatie over een aangepaste pagina bevindt zich in het Outlook-balkobject waarvoor u CMFCOutlookBar::CreateCustomPage hebt genoemd.

Gebruik CBaseTabbedPane::GetUnderlyingWindow om een aanwijzer naar het Outlook-venster te krijgen.

CMFCOutlookBar::SetButtonsFont

Hiermee stelt u het lettertype van de tekst in op de knoppen van de Outlook-balk.

void SetButtonsFont(
    CFont* pFont,
    BOOL bRedraw=TRUE);

Parameterwaarden

pFont
[in] Hiermee geeft u het nieuwe lettertype.

bRedraw
[in] Als WAAR is, wordt de Outlook-balk opnieuw getekend.

Opmerkingen

Gebruik deze methode om een lettertype in te stellen voor de tekst die wordt weergegeven op de knoppen op de outlook-tabbladpagina.

CMFCOutlookBar::SetMode2003

Hiermee geeft u op of het gedrag van de Outlook-balk dat van Outlook 2003 nabootst.

void SetMode2003(BOOL bMode2003=TRUE);

Parameterwaarden

bMode2003
[in] Als WAAR is, is de Office 2003-modus ingeschakeld.

Opmerkingen

Gebruik deze functie om de Office 2003-modus in of uit te schakelen. In deze modus heeft de Outlook-balk een extra werkbalk met een aanpassingsknop. Het gedrag van de Outlook-balk voldoet aan het gedrag van de Outlook-balk in Microsoft Office 2003.

Deze modus is standaard uitgeschakeld.

Opmerking

Deze functie moet worden aangeroepen vóór CMFCOutlookBar::Create.

Zie ook

Hiërarchiegrafiek
Klassen
Klasse CBaseTabbedPane
CMFCOutlookBarTabCtrl-klasse
Klasse CMFCOutlookBarPane