Aracılığıyla paylaş


CMFCOutlookBar Sınıfı

Microsoft Outlook 2000 veya Outlook 2003'te Gezinti Bölmesi'nin görsel görünümünü içeren sekmeli bölme. Nesnesi CMFCOutlookBar bir CMFCOutlookBarTabCtrl Sınıfı nesnesi ve bir dizi sekme içerir. Sekmeler CMFCOutlookBarPane Sınıfı nesneleri veya CWndtüretilmiş nesneler olabilir. Kullanıcıya göre, Outlook çubuğu bir dizi düğme ve bir görüntüleme alanı olarak görünür. Kullanıcı bir düğmeye tıkladığında ilgili denetim veya düğme bölmesi görüntülenir.

Sözdizimi

class CMFCOutlookBar : public CBaseTabbedPane

Üyeler

Ortak Oluşturucular

Ad Tanım
CMFCOutlookBar::CMFCOutlookBar Varsayılan oluşturucu.
CMFCOutlookBar::~CMFCOutlookBar Yıkıcı.

Genel Yöntemler

Ad Tanım
CMFCOutlookBar::AllowDestroyEmptyTabbedPane Boş bir sekmeli bölmenin yok edilip edilemeyeceğini belirtir. (Geçersiz Kılmalar CBaseTabbedPane::AllowDestroyEmptyTabbedPane.)
CMFCOutlookBar::CanAcceptPane Başka bir bölmenin Outlook çubuk bölmesine yerleştirilip yerleştirilemeyeceğini belirler. (CDockablePane::CanAcceptPane geçersiz kılar.)
CMFCOutlookBar::CanSetCaptionTextToTabName Sekmeli bölmenin başlık etkin sekmeyle aynı metni görüntüleyip görüntülemeyeceğini belirler. (Geçersiz Kılmalar CBaseTabbedPane::CanSetCaptionTextToTabName.)
CMFCOutlookBar::Create Outlook çubuk denetimini oluşturur.
CMFCOutlookBar::CreateCustomPage Özel bir Outlook çubuğu sekmesi oluşturur.
CMFCOutlookBar::CreateObject Bu sınıf türünün dinamik bir örneğini oluşturmak için çerçeve tarafından kullanılır.
CMFCOutlookBar::D oesAllowDynInsertBefore Kullanıcının denetim çubuğunu Outlook çubuğunun dış kenarına yerleştirip yerleştiremeyeceğini belirler.
CMFCOutlookBar::FloatTab Bölmeyi kaydırabilir, ancak bölme şu anda ayrılabilir bir sekmede bulunuyorsa. (CBaseTabbedPane::FloatTab'ı geçersiz kılar.)
CMFCOutlookBar::GetButtonsFont Outlook çubuğunun düğmelerindeki metnin yazı tipini döndürür.
CMFCOutlookBar::GetTabArea Outlook çubuğundaki sekme alanlarının boyutunu ve konumunu döndürür. (Geçersiz Kılmalar CBaseTabbedPane::GetTabArea.)
CMFCOutlookBar::GetThisClass Çerçeve tarafından, bu sınıf türüyle ilişkili CRuntimeClass nesnesine bir işaretçi almak için kullanılır.
CMFCOutlookBar::IsMode2003 Outlook çubuğunun davranışının Microsoft Office Outlook 2003'ün davranışını taklit edip etmediğini belirler (bkz. Açıklamalar).
CMFCOutlookBar::OnAfterAnimation Etkin sekme animasyon kullanılarak ayarlandıktan sonra CMFCOutlookBarTabCtrl::SetActiveTab tarafından çağrılır.
CMFCOutlookBar::OnBeforeAnimation Bir sekme sayfası animasyon kullanılarak etkin sekme olarak ayarlanmadan önce CMFCOutlookBarTabCtrl::SetActiveTab tarafından çağrılır.
CMFCOutlookBar::OnScroll Outlook çubuğu yukarı veya aşağı kaydırılıyorsa, çerçeve tarafından çağrılır.
CMFCOutlookBar::RemoveCustomPage Özel bir Outlook çubuğu sekmesini kaldırır.
CMFCOutlookBar::SetButtonsFont Outlook çubuğunun düğmelerindeki metnin yazı tipini ayarlar.
CMFCOutlookBar::SetMode2003 Outlook çubuğunun davranışının Outlook 2003'ün davranışını taklit edip etmediğini belirtir (bkz. Açıklamalar).

Açıklamalar

Outlook çubuğu örneği için bkz . OutlookDemo Örneği: MFC OutlookDemo Uygulaması.

Outlook Çubuğunu Uygulama

Denetimi uygulamanızda kullanmak CMFCOutlookBar için şu adımları izleyin:

  1. Ana çerçeve penceresi sınıfına bir CMFCOutlookBar nesne ekleyin.

    class CMainFrame : public CMDIFrameWnd
    {
        // ...
        CMFCOutlookBar m_wndOutlookBar;
        CMFCOutlookBarPane m_wndOutlookPane;
        // ...
    };
    
  2. Ana çerçevede WM_CREATE iletisini işlerken, Outlook çubuk sekmesi denetimini oluşturmak için CMFCOutlookBar::Create yöntemini çağırın.

    m_wndOutlookBar.Create (_T("Shortcuts"),
        this,
        CRect (0, 0, 100, 100),
        ID_VIEW_OUTLOOKBAR,
        WS_CHILD | WS_VISIBLE | CBRS_LEFT);
    
  3. CBaseTabbedPane::GetUnderlyingWindow kullanarak temel alınan CMFCOutlookBarTabCtrl işaretçiyi alın.

    CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
    
  4. Düğme içeren her sekme için bir CMFCOutlookBarPane Sınıfı nesnesi oluşturun.

    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. Her yeni sekmeyi eklemek için CMFCOutlookBarTabCtrl::AddTab'ı çağırın. Sayfayı ayrılamaz hale getirmek için bDetachable parametresini FALSE olarak ayarlayın. Ya da ayrılabilir sayfalar eklemek için CMFCOutlookBarTabCtrl::AddControl kullanın.

    pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);
    
  6. Sekme olarak türetilmiş bir CWnddenetim (örneğin, CMFCShellTreeCtrl Sınıfı) eklemek için, denetimi oluşturun ve CMFCOutlookBarTabCtrl::AddTab'ı çağırarak Outlook çubuğuna ekleyin.

Dekont

Her CMFCOutlookBarPane Sınıfı nesnesi ve türetilmiş her CWndnesne için benzersiz denetim kimlikleri kullanmalısınız.

Çalışma zamanında dinamik olarak yeni sayfalar eklemek veya silmek için CMFCOutlookBar::CreateCustomPage ve CMFCOutlookBar::RemoveCustomPage kullanın.

Outlook 2003 Modu

Outlook 2003 modunda, sekme düğmeleri Outlook çubuk bölmesinin en altına yerleştirilir. Düğmeleri görüntülemek için yeterli alan olmadığında, bölmenin alt kısmındaki araç çubuğu benzeri bir alanda simgeler olarak görüntülenirler.

Outlook 2003 modunu etkinleştirmek için CMFCOutlookBar::SetMode2003 kullanın. Outlook çubuğunun alt kısmında görüntülenen simgeleri içeren bit eşlemi ayarlamak için CMFCOutlookBarTabCtrl::SetToolbarImageList kullanın. Bit eşlem içindeki simgeler sekme dizinine göre sıralanmalıdır.

Devralma Hiyerarşisi

Cobject

Ccmdtarget

Cwnd

CBasePane

Cpane

Cdockablepane

CBaseTabbedPane

Cmfcoutlookbar

Gereksinimler

Üst bilgi: afxoutlookbar.h

CMFCOutlookBar::AllowDestroyEmptyTabbedPane

Boş bir sekmeli bölmenin yok edilip edilemeyeceğini belirtir.

virtual BOOL AllowDestroyEmptyTabbedPane() const;

İade Değeri

Boş bir sekmeli bölme yok edilebilirse TRUE; aksi takdirde YANLIŞ. Varsayılan uygulama her zaman TRUE döndürür.

Açıklamalar

Boş bir sekmeli bölme yok edilemezse, çerçeve bunun yerine bunu gizler.

CMFCOutlookBar::CanAcceptPane

Başka bir bölmenin Outlook çubuk bölmesine yerleştirilip yerleştirilemeyeceğini belirler.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parametreler

pBar
[in] Bu bölmeye yerleştirilmekte olan başka bir bölmenin işaretçisi.

İade Değeri

Outlook çubuk bölmesine başka bir bölme yerleştirilebiliyorsa TRUE; aksi takdirde YANLIŞ.

Açıklamalar

Outlook çubuğu Outlook 2003 modundaysa, yerleştirme desteklenmez, bu nedenle dönüş değeri YANLIŞ olur.

pBar parametresi NULL ise, bu yöntem YANLIŞ döndürür.

Aksi takdirde, bu yöntem CBasePane::CanAcceptPane temel yöntemi olarak davranır, ancak yerleştirme etkinleştirilmemiş olsa bile, bir Outlook çubuğunun üzerine başka bir Outlook çubuğunun yerleştirilebilmesini sağlayabilir.

CMFCOutlookBar::CanSetCaptionTextToTabName

Sekmeli bölmenin başlık etkin sekmeyle aynı metni görüntüleyip görüntülemeyeceğini belirler.

virtual BOOL CanSetCaptionTextToTabName() const;

İade Değeri

Outlook çubuk penceresi başlık otomatik olarak etkin sekmenin metnine ayarlanırsa DOĞRU; aksi takdirde YANLIŞ.

Açıklamalar

Bu işlevi etkinleştirmek veya devre dışı bırakmak için CBaseTabbedPane::EnableSetCaptionTextToTabName kullanın.

Outlook 2003 modunda bu ayar her zaman etkindir.

CMFCOutlookBar::Create

Outlook çubuk denetimini oluşturur.

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

Parametreler

lpszCaption
[in] başlık penceresini belirtir.

pParentWnd
[in] Üst pencere işaretçisini belirtir. NULL olmamalıdır.

Rect
[in] Outlook çubuğu boyutunu ve konumunu piksel cinsinden belirtir.

Nıd
[in] Denetim kimliğini belirtir. Uygulamada kullanılan diğer denetim kimliklerinden farklı olmalıdır.

Dwstyle
[in] İstenen denetim çubuğu stilini belirtir. Olası değerler için bkz . Pencere Stilleri.

dwControlBarStyle
[in] Kitaplık tanımlı özel stilleri belirtir.

Pcontext
[in] Bağlam oluşturun.

İade Değeri

Yöntem başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İki adımda bir CMFCOutlookBar nesne oluşturursunuz. Önce oluşturucuyu çağırın ve ardından outlook çubuğu denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreateCMFCOutlookBar.

dwControlBarStyle tarafından belirtilecek kullanılabilir kitaplık tanımlı stillerin listesi için bkz. CBasePane::CreateEx.

Örnek

Aşağıdaki örnekte sınıfının yönteminin Create nasıl kullanılacağı gösterilmektedir CMFCOutlookBar . Bu kod parçacığı, Outlook Çoklu Görünümler örneğinin bir parçasıdır.

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

Özel bir Outlook çubuğu sekmesi oluşturur.

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

Parametreler

lpszPageName
[in] Sayfa etiketi.

bActivatePage
[in] TRUE ise, sayfa oluşturuldukça etkin hale gelir.

dwEnabledDocking
[in] Sayfa ayrılırken etkinleştirilmiş takma taraflarını belirten CBRS_ALIGN_ bayraklarının birleşimi.

bEnableTextLabels
[in] TRUE ise, metin etiketleri sayfada bulunan düğmeler için etkinleştirilir.

İade Değeri

Yeni oluşturulan sayfaya bir işaretçi veya oluşturma başarısız olursa NULL.

Açıklamalar

Kullanıcıların özel Outlook çubuk sayfaları oluşturmasını sağlamak için bu yöntemi kullanın. Uygulama başına en fazla 100 sayfa oluşturabilirsiniz. Sayfa denetimi kimlikleri 0xF000 başlar. Toplam özel Outlook çubuk sayfası sayısı 100'ü aşarsa oluşturma işlemi başarısız olur.

Özel sayfaları silmek için CMFCOutlookBar::RemoveCustomPage kullanın.

CMFCOutlookBar::D oesAllowDynInsertBefore

Kullanıcının outlook çubuğunun dış kenarına bölme yerleştirip yerleştiremeyeceğini belirtir.

DECLARE_MESSAGE_MAP virtual BOOL DoesAllowDynInsertBefore() const;

İade Değeri

Varsayılan uygulama FALSE döndürür.

Açıklamalar

Çerçeve, dinamik bölmeyi DoesAllowDynInsertBefore yerleştirecek bir konum ararken yöntemini çağırır. İşlev YANLIŞ döndürürse, çerçeve herhangi bir dinamik bölmenin bölmenin dış kenarlarına yerleştirmesine izin vermez.

Genellikle, statik kayan olmayan denetim olarak bir Outlook çubuğu oluşturursunuz. Bu işlevi türetilmiş bir sınıfta geçersiz kılabilir ve bu davranışı değiştirmek için TRUE döndürebilirsiniz.

Dekont

Dinamik bölmeler yerleştirme sırasında yerleşik statik bölmelerin durumunu denetlediğinden, mümkün olduğunda dinamik bölmeleri statik bölmelerden sonra yerleştirmeniz gerekir.

CMFCOutlookBar::FloatTab

Bir bölmeyi kaydırıyor.

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

Parametreler

pBar
[in] Kaydıracak bölme işaretçisi.

nTabID
[in] Kayan sekmenin sıfır tabanlı dizini.

dockMethod
[in] Bölmeyi kayan yapmak için kullanılacak yöntemi belirtir. Daha fazla bilgi için bkz . CBaseTabbedPane::FloatTab.

bHide
[in] Kayan bölmeden önce bölmeyi gizlemek için TRUE; aksi takdirde YANLIŞ. Bu yöntemin temel sınıf sürümünden farklı olarak, bu parametrenin varsayılan değeri yoktur.

İade Değeri

Bölme kaydırıldıysa TRUE; aksi takdirde YANLIŞ.

Açıklamalar

Bu yöntem CBaseTabbedPane::FloatTab gibidir, ancak Outlook çubuk denetiminde kalan son sekmenin kayan konumuna etkinleştirilmemesi gerekir.

CMFCOutlookBar::GetButtonsFont

Outlook çubuğunun sayfa düğmesi sekmelerindeki metnin yazı tipini döndürür.

CFont* GetButtonsFont() const;

İade Değeri

Outlook çubuk sayfası düğme sekmelerinde metin görüntülemek için kullanılan yazı tipi nesnesi işaretçisi.

Açıklamalar

Outlook sayfa düğmesi sekmelerinde metni görüntülemek için kullanılan yazı tipini almak için bu işlevi kullanın. CMFCOutlookBar::SetButtonsFont üzerinde arayarak yazı tipini ayarlayabilirsiniz.

CMFCOutlookBar::GetTabArea

Outlook çubuğundaki sekme alanlarının boyutunu ve konumunu belirler.

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

Parametreler

rectTabAreaTop
[out] İşlev döndürdüğünde üst sekme alanının boyutunu ve konumunu (istemci koordinatlarında) içerir.

rectTabAreaBottom
[out] İşlev döndürdüğünde alt sekme alanının boyutunu ve konumunu (istemci koordinatlarında) içerir.

Açıklamalar

Çerçeve, hedef bölmeye yerleştirme türünü belirlemek için bu yöntemi çağırır. Çerçeve, kullanıcının bölmeyi hedef bölmenin sekme alanına yerleştirilecek şekilde sürüklediğini belirlediğinde, ilk bölmeyi hedef bölmenin yeni sekmesi olarak eklemeyi dener. Aksi takdirde, ilk bölmeyi hedef bölmenin uygun bir tarafına yerleştirmeye çalışır. Çerçeve, ek yerleşik bölmeye uyum sağlamak için kaydırıcı ile yeni bir kapsayıcı oluşturur.

varsayılan uygulaması GetTabArea , Outlook çubuğu statikse Outlook çubuğunun tüm istemci alanını döndürür; yani Outlook çubuğu kayamazsa. Aksi takdirde, sayfa düğmelerinin Outlook çubuk denetiminin üst ve alt kısmında yer alan alanı döndürür.

Bu davranışı değiştirmek için öğesinden CMFCOutlookBar türetilen sınıfta bu yöntemi geçersiz kılın.

CMFCOutlookBar::IsMode2003

Outlook çubuğunun davranışının Microsoft Office Outlook 2003'ün davranışını taklit edip etmediğini belirtir.

BOOL IsMode2003() const;

İade Değeri

Outlook çubuğu Microsoft Office 2003 modunda çalışıyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

CMFCOutlookBar::SetMode2003 kullanarak bu modu etkinleştirebilirsiniz.

CMFCOutlookBar::OnAfterAnimation

Etkin sekme animasyon kullanılarak ayarlandıktan sonra CMFCOutlookBarTabCtrl::SetActiveTab tarafından çağrılır.

virtual void OnAfterAnimation(int nPage);

Parametreler

nSayfa
[in] Sekme sayfasının etkin hale getirilmiş sıfır tabanlı dizini.

Açıklamalar

Etkin sekmeyi ayarlamanın görsel etkisi, animasyonu etkinleştirip etkinleştirmediğinize bağlıdır. Daha fazla bilgi için bkz . CMFCOutlookBarTabCtrl::EnableAnimation.

CMFCOutlookBar::OnBeforeAnimation

Bir sekme sayfası animasyon kullanılarak etkin sekme olarak ayarlanmadan önce CMFCOutlookBarTabCtrl::SetActiveTab tarafından çağrılır.

virtual BOOL OnBeforeAnimation(int nPage);

Parametreler

nSayfa
[in] Sekme sayfasının etkin olarak ayarlanacak sıfır tabanlı dizini.

İade Değeri

Yeni etkin sekmeyi ayarlarken animasyon kullanılması gerekiyorsa TRUE veya animasyon devre dışı bırakılacaksa YANLIŞ döndürür.

Açıklamalar

CMFCOutlookBar::OnScroll

Outlook çubuğu yukarı veya aşağı kaydırılıyorsa, çerçeve tarafından çağrılır.

virtual void OnScroll(BOOL bDown);

Parametreler

bDown
[in] Outlook çubuğu aşağı kaydırılıyorsa TRUE veya yukarı kaydırılıyorsa YANLIŞ.

Açıklamalar

CMFCOutlookBar::RemoveCustomPage

Özel bir Outlook çubuğu sekme sayfasını kaldırır.

BOOL RemoveCustomPage(
    UINT uiPage,
    CMFCOutlookBarTabCtrl* pTargetWnd);

Parametreler

uiPage
[in] Üst Outlook penceresinde sayfanın sıfır tabanlı dizini.

pTargetWnd
[in] Üst Outlook penceresinin işaretçisi.

İade Değeri

Özel sayfa başarıyla kaldırıldıysa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Özel sayfaları silmek için bu işlevi çağır. Sayfa kaldırıldığında denetim kimliği kullanılabilir kimlik havuzuna döndürülür.

Kaldırılacak sayfanın şu anda bulunduğu CMFCOutlookBarTabCtrl Sınıf nesnesine bir işaretçi sağlamanız gerekir. Kullanıcının çıkarılabilir sayfaları farklı Outlook çubukları arasında taşıyabileceğini, ancak özel sayfa hakkındaki bilgilerin CMFCOutlookBar::CreateCustomPage olarak adlandırdığınız Outlook çubuğu nesnesinde bulunduğunu unutmayın.

Outlook penceresine bir işaretçi almak için CBaseTabbedPane::GetUnderlyingWindow kullanın.

CMFCOutlookBar::SetButtonsFont

Outlook çubuğunun düğmelerindeki metnin yazı tipini ayarlar.

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

Parametreler

pFont
[in] Yeni yazı tipini belirtir.

bRedraw
[in] TRUE ise, Outlook çubuğu yeniden çizilecektir.

Açıklamalar

Outlook sekme sayfası düğmelerinde görüntülenen metin için bir yazı tipi ayarlamak için bu yöntemi kullanın.

CMFCOutlookBar::SetMode2003

Outlook çubuğunun davranışının Outlook 2003'ün davranışını taklit edip etmediğini belirtir.

void SetMode2003(BOOL bMode2003=TRUE);

Parametreler

bMode2003
[in] TRUE ise, Office 2003 modu etkinleştirilir.

Açıklamalar

Office 2003 modunu etkinleştirmek veya devre dışı bırakmak için bu işlevi kullanın. Bu modda, Outlook çubuğunda özelleştirme düğmesi olan ek bir araç çubuğu vardır. Outlook çubuğunun davranışı, Microsoft Office 2003'teki Outlook çubuğunun davranışına uygundur.

Varsayılan olarak, bu mod devre dışıdır.

Dekont

Bu işlev CMFCOutlookBar::Create'dan önce çağrılmalıdır.

Ayrıca bkz.

Hiyerarşi Grafiği
Sınıflar
CBaseTabbedPane Sınıfı
CMFCOutlookBarTabCtrl Sınıfı
CMFCOutlookBarPane Sınıfı