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 CWnd
tü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:
Ana çerçeve penceresi sınıfına bir
CMFCOutlookBar
nesne ekleyin.class CMainFrame : public CMDIFrameWnd { // ... CMFCOutlookBar m_wndOutlookBar; CMFCOutlookBarPane m_wndOutlookPane; // ... };
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);
CBaseTabbedPane::GetUnderlyingWindow kullanarak temel alınan
CMFCOutlookBarTabCtrl
işaretçiyi alın.CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
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);
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);
Sekme olarak türetilmiş bir
CWnd
denetim (ö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 CWnd
nesne 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
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ınCreate
CMFCOutlookBar
.
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ı