Klasa CMFCOutlookBar
Okienko z kartami z wizualnym wyglądem okienka nawigacji w programie Microsoft Outlook 2000 lub Outlook 2003. Obiekt CMFCOutlookBar
zawiera obiekt klasy CMFCOutlookBarTabCtrl i serię kart. Karty mogą być obiektami klasy CMFCOutlookBarPane lub CWnd
obiektami pochodnymi. Dla użytkownika pasek programu Outlook jest wyświetlany jako seria przycisków i obszaru wyświetlania. Gdy użytkownik kliknie przycisk, zostanie wyświetlone odpowiednie okienko kontrolki lub przycisku.
Składnia
class CMFCOutlookBar : public CBaseTabbedPane
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCOutlookBar::CMFCOutlookBar |
Konstruktor domyślny. |
CMFCOutlookBar::~CMFCOutlookBar |
Destruktor. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCOutlookBar::AllowDestroyEmptyTabbedPane | Określa, czy można zniszczyć puste okienko z kartami. (Przesłonięcia) CBaseTabbedPane::AllowDestroyEmptyTabbedPane. |
CMFCOutlookBar::CanAcceptPane | Określa, czy do okienka paska programu Outlook można zadokować inne okienko. (Przesłania CDockablePane::CanAcceptPane). |
CMFCOutlookBar::CanSetCaptionTextToTabName | Określa, czy podpis okienka z kartami wyświetla ten sam tekst co aktywna karta. (Przesłaniaj CBaseTabbedPane::CanSetCaptionTextToTabName). |
CMFCOutlookBar::Create | Tworzy kontrolkę paska programu Outlook. |
CMFCOutlookBar::CreateCustomPage | Tworzy niestandardową kartę paska programu Outlook. |
CMFCOutlookBar::CreateObject |
Używana przez platformę do tworzenia wystąpienia dynamicznego tego typu klasy. |
CMFCOutlookBar::D oesAllowDynInsertBefore | Określa, czy użytkownik może zadokować pasek sterowania na zewnętrznej krawędzi paska programu Outlook. |
CMFCOutlookBar::FloatTab | Unosi okienko, ale tylko wtedy, gdy okienko znajduje się obecnie na odłączanej karcie. (Zastępuje CBaseTabbedPane::FloatTab).) |
CMFCOutlookBar::GetButtonsFont | Zwraca czcionkę tekstu na przyciskach paska programu Outlook. |
CMFCOutlookBar::GetTabArea | Zwraca rozmiar i położenie obszarów karty na pasku programu Outlook. (Przesłonięcia) CBaseTabbedPane::GetTabArea.) |
CMFCOutlookBar::GetThisClass |
Używany przez platformę do uzyskiwania wskaźnika do obiektu CRuntimeClass skojarzonego z tym typem klasy. |
CMFCOutlookBar::IsMode2003 | Określa, czy zachowanie paska programu Outlook naśladuje działanie programu Microsoft Office Outlook 2003 (zobacz uwagi). |
CMFCOutlookBar::OnAfterAnimation | Wywoływane przez CMFCOutlookBarTabCtrl::SetActiveTab po ustawieniu aktywnej karty przy użyciu animacji. |
CMFCOutlookBar::OnBeforeAnimation | Wywoływana przez cmFCOutlookBarTabCtrl::SetActiveTab przed ustawieniem strony karty jako aktywna karta przy użyciu animacji. |
CMFCOutlookBar::OnScroll | Wywoływana przez platformę, jeśli pasek programu Outlook przewija się w górę lub w dół. |
CMFCOutlookBar::RemoveCustomPage | Usuwa niestandardową kartę paska programu Outlook. |
CMFCOutlookBar::SetButtonsFont | Ustawia czcionkę tekstu na przyciskach paska programu Outlook. |
CMFCOutlookBar::SetMode2003 | Określa, czy zachowanie paska programu Outlook naśladuje działanie programu Outlook 2003 (zobacz Uwagi). |
Uwagi
Przykład paska programu Outlook można znaleźć w artykule OutlookDemo Sample: MFC OutlookDemo Application (Przykład: aplikacja MFC OutlookDemo).
Implementowanie paska programu Outlook
Aby użyć kontrolki CMFCOutlookBar
w aplikacji, wykonaj następujące kroki:
CMFCOutlookBar
Osadź obiekt w głównej klasie okien ramowych.class CMainFrame : public CMDIFrameWnd { // ... CMFCOutlookBar m_wndOutlookBar; CMFCOutlookBarPane m_wndOutlookPane; // ... };
Podczas przetwarzania komunikatu WM_CREATE w ramce głównej wywołaj metodę CMFCOutlookBar::Create , aby utworzyć kontrolkę karty paska programu Outlook.
m_wndOutlookBar.Create (_T("Shortcuts"), this, CRect (0, 0, 100, 100), ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT);
Uzyskaj wskaźnik do bazowego
CMFCOutlookBarTabCtrl
przy użyciu polecenia CBaseTabbedPane::GetUnderlyingWindow.CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
Utwórz obiekt klasy CMFCOutlookBarPane dla każdej karty zawierającej przyciski.
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);
Wywołaj metodę CMFCOutlookBarTabCtrl::AddTab , aby dodać każdą nową kartę. Ustaw parametr bDetachable na FALSE, aby strona nie jest odłączana. Możesz też użyć polecenia CMFCOutlookBarTabCtrl::AddControl , aby dodać odłączane strony.
pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);
Aby dodać kontrolkę pochodną
CWnd
(na przykład klasa CMFCShellTreeCtrl) jako kartę, utwórz kontrolkę i wywołaj metodę CMFCOutlookBarTabCtrl::AddTab , aby dodać ją do paska programu Outlook.
Uwaga
Należy użyć unikatowych identyfikatorów kontrolek dla każdego obiektu klasy CMFCOutlookBarPane i dla każdego CWnd
obiektu pochodnego.
Aby dynamicznie dodawać lub usuwać nowe strony w czasie wykonywania, użyj polecenia CMFCOutlookBar::CreateCustomPage i CMFCOutlookBar::RemoveCustomPage.
Tryb programu Outlook 2003
W trybie programu Outlook 2003 przyciski karty są umieszczone w dolnej części okienka paska programu Outlook. Jeśli nie ma wystarczającego miejsca na wyświetlanie przycisków, są one wyświetlane jako ikony w obszarze przypominającym pasek narzędzi wzdłuż dolnej części okienka.
Użyj polecenia CMFCOutlookBar::SetMode2003 , aby włączyć tryb programu Outlook 2003. Użyj polecenia CMFCOutlookBarTabCtrl::SetToolbarImageList , aby ustawić mapę bitową zawierającą ikony wyświetlane w dolnej części paska programu Outlook. Ikony na mapie bitowej muszą być uporządkowane według indeksu tabulacji.
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxoutlookbar.h
CMFCOutlookBar::AllowDestroyEmptyTabbedPane
Określa, czy można zniszczyć puste okienko z kartami.
virtual BOOL AllowDestroyEmptyTabbedPane() const;
Wartość zwracana
WARTOŚĆ TRUE, jeśli można zniszczyć puste okienko z kartami; w przeciwnym razie, FAŁSZ. Domyślna implementacja zawsze zwraca wartość TRUE.
Uwagi
Jeśli nie można zniszczyć pustego okienka z kartami, zamiast tego struktura je ukrywa.
CMFCOutlookBar::CanAcceptPane
Określa, czy do okienka paska programu Outlook można zadokować inne okienko.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parametry
Pasek p
[in] Wskaźnik do innego okienka, który jest zadokowany do tego okienka.
Wartość zwracana
WARTOŚĆ TRUE, jeśli do okienka paska programu Outlook można zadokować inne okienko; w przeciwnym razie FAŁSZ.
Uwagi
Jeśli pasek programu Outlook jest w trybie programu Outlook 2003, dockowanie nie jest obsługiwane, więc zwracana wartość to FALSE.
Jeśli parametr pBar ma wartość NULL, ta metoda zwraca wartość FALSE.
W przeciwnym razie ta metoda zachowuje się jako metoda podstawowa CBasePane::CanAcceptPane, z tą różnicą, że nawet jeśli dockowanie nie jest włączone, pasek programu Outlook może nadal umożliwić zadokowanie innego paska programu Outlook.
CMFCOutlookBar::CanSetCaptionTextToTabName
Określa, czy podpis okienka z kartami wyświetla ten sam tekst co aktywna karta.
virtual BOOL CanSetCaptionTextToTabName() const;
Wartość zwracana
Wartość TRUE, jeśli podpis okna paska programu Outlook jest automatycznie ustawiony na tekst aktywnej karty; w przeciwnym razie FAŁSZ.
Uwagi
Użyj CBaseTabbedPane::EnableSetCaptionTextToTabName , aby włączyć lub wyłączyć tę funkcję.
W trybie programu Outlook 2003 to ustawienie jest zawsze włączone.
CMFCOutlookBar::Create
Tworzy kontrolkę paska programu Outlook.
virtual BOOL Create(
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
UINT nID,
DWORD dwStyle,
DWORD dwControlBarStyle=AFX_CBRS_RESIZE,
CCreateContext* pContext=NULL);
Parametry
lpszCaption
[in] Określa podpis okna.
pParentWnd
[in] Określa wskaźnik do okna nadrzędnego. Nie może mieć wartości NULL.
Rect
[in] Określa rozmiar i położenie paska programu Outlook w pikselach.
Nid
[in] Określa identyfikator kontrolki. Musi być różna od innych identyfikatorów kontrolek używanych w aplikacji.
dwStyle
[in] Określa żądany styl paska sterowania. Aby uzyskać możliwe wartości, zobacz Style okien.
dwControlBarStyle
[in] Określa specjalne style zdefiniowane przez bibliotekę.
pContext
[in] Utwórz kontekst.
Wartość zwracana
Nonzero, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie 0.
Uwagi
Obiekt jest konstruowany CMFCOutlookBar
w dwóch krokach. Najpierw wywołaj konstruktor, a następnie wywołaj Create
metodę , która tworzy kontrolkę paska programu Outlook i dołącza ją do CMFCOutlookBar
obiektu.
Zobacz CBasePane::CreateEx , aby uzyskać listę dostępnych stylów zdefiniowanych przez bibliotekę, które mają być określone przez dwControlBarStyle.
Przykład
W poniższym przykładzie pokazano, jak używać Create
metody CMFCOutlookBar
klasy . Ten fragment kodu jest częścią przykładu z wieloma widokami programu Outlook.
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
Tworzy niestandardową kartę paska programu Outlook.
CMFCOutlookBarPane* CreateCustomPage(
LPCTSTR lpszPageName,
BOOL bActivatePage=TRUE,
DWORD dwEnabledDocking=CBRS_ALIGN_ANY,
BOOL bEnableTextLabels=TRUE);
Parametry
lpszPageName
[in] Etykieta strony.
bActivatePage
[in] Jeśli wartość TRUE, strona stanie się aktywna podczas tworzenia.
dwEnabledDocking
[in] Kombinacja flag CBRS_ALIGN_, która określa włączone strony dokowania, gdy strona jest odłączona.
bEnableTextLabels
[in] Jeśli wartość TRUE, etykiety tekstowe są włączone dla przycisków znajdujących się na stronie.
Wartość zwracana
Wskaźnik do nowo utworzonej strony lub wartość NULL, jeśli tworzenie nie powiodło się.
Uwagi
Ta metoda umożliwia użytkownikom tworzenie niestandardowych stron paska programu Outlook. Możesz utworzyć maksymalnie 100 stron na aplikację. Identyfikatory kontrolek strony zaczynają się od 0xF000. Tworzenie nie powiedzie się, jeśli łączna liczba niestandardowych stron paska programu Outlook przekracza 100.
Użyj polecenia CMFCOutlookBar::RemoveCustomPage , aby usunąć strony niestandardowe.
CMFCOutlookBar::D oesAllowDynInsertBefore
Określa, czy użytkownik może zadokować okienko na zewnętrznej krawędzi paska programu Outlook.
DECLARE_MESSAGE_MAP virtual BOOL DoesAllowDynInsertBefore() const;
Wartość zwracana
Domyślna implementacja zwraca wartość FALSE.
Uwagi
Struktura wywołuje metodę DoesAllowDynInsertBefore
, gdy szuka lokalizacji w celu zadokowania okienka dynamicznego. Jeśli funkcja zwraca wartość FALSE, struktura nie zezwala na dokowanie żadnego okienka dynamicznego na zewnętrznych krawędziach okienka.
Zazwyczaj pasek programu Outlook jest tworzony jako statyczna kontrolka nieprzecinkowa. Tę funkcję można zastąpić w klasie pochodnej i zwrócić wartość TRUE, aby zmienić to zachowanie.
Uwaga
Ponieważ okienka dynamiczne sprawdzają stan zadokowanych okienek statycznych podczas dokowania, należy zadokować okienka dynamiczne po okienkach statycznych zawsze, gdy jest to możliwe.
CMFCOutlookBar::FloatTab
Unosi okienko.
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide);
Parametry
Pasek p
[in] Wskaźnik do okienka, aby upłynąć zmiennoprzecinkowy.
nTabID
[in] Indeks oparty na wartości zerowej karty do zmiennoprzecinkowej.
dockMethod
[in] Określa metodę używaną do upłynięcia okienka. Aby uzyskać więcej informacji, zobacz CBaseTabbedPane::FloatTab.
bHide
[in] PRAWDA, aby ukryć okienko przed przestawnym; w przeciwnym razie, FAŁSZ. W przeciwieństwie do wersji klasy bazowej tej metody ten parametr nie ma wartości domyślnej.
Wartość zwracana
WARTOŚĆ TRUE, jeśli okienko unosiło się; w przeciwnym razie, FAŁSZ.
Uwagi
Ta metoda jest podobna do CBaseTabbedPane::FloatTab , z tą różnicą, że nie włącza ostatniej pozostałej karty na kontrolce paska programu Outlook, aby upłynąć zmiennoprzecinkowe.
CMFCOutlookBar::GetButtonsFont
Zwraca czcionkę tekstu na kartach przycisków strony paska programu Outlook.
CFont* GetButtonsFont() const;
Wartość zwracana
Wskaźnik do obiektu czcionki używanego do wyświetlania tekstu na kartach przycisków strony paska programu Outlook.
Uwagi
Użyj tej funkcji, aby pobrać czcionkę używaną do wyświetlania tekstu na kartach przycisków strony programu Outlook. Czcionkę można ustawić, wywołując polecenie CMFCOutlookBar::SetButtonsFont.
CMFCOutlookBar::GetTabArea
Określa rozmiar i położenie obszarów kart na pasku programu Outlook.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Parametry
rectTabAreaTop
[out] Zawiera rozmiar i położenie (we współrzędnych klienta) górnego obszaru karty po powrocie funkcji.
rectTabAreaBottom
[out] Zawiera rozmiar i położenie (we współrzędnych klienta) dolnego obszaru karty po powrocie funkcji.
Uwagi
Struktura wywołuje tę metodę, aby określić typ zadokowania do okienka docelowego. Gdy platforma ustali, że użytkownik przeciąga okienko do zadokowania nad obszarem karty okienka docelowego, próbuje dodać pierwsze okienko jako nową kartę okienka docelowego. W przeciwnym razie próbuje zadokować pierwsze okienko po odpowiedniej stronie okienka docelowego. Struktura tworzy nowy kontener z suwakiem, aby pomieścić dodatkowe zadokowane okienko.
Domyślna implementacja GetTabArea
zwraca cały obszar klienta paska programu Outlook, jeśli pasek programu Outlook jest statyczny. Oznacza to, że jeśli pasek programu Outlook nie może unosić się zmiennoprzecinkowy. W przeciwnym razie zwraca obszar, który przyciski strony są wyświetlane u góry i u dołu kontrolki paska programu Outlook.
Zastąp tę metodę w klasie , CMFCOutlookBar
aby zmienić to zachowanie.
CMFCOutlookBar::IsMode2003
Określa, czy zachowanie paska programu Outlook naśladuje działanie programu Microsoft Office Outlook 2003.
BOOL IsMode2003() const;
Wartość zwracana
Niezerowe, jeśli pasek programu Outlook jest uruchomiony w trybie pakietu Microsoft Office 2003; w przeciwnym razie 0.
Uwagi
Ten tryb można włączyć przy użyciu polecenia CMFCOutlookBar::SetMode2003.
CMFCOutlookBar::OnAfterAnimation
Wywoływane przez CMFCOutlookBarTabCtrl::SetActiveTab po ustawieniu aktywnej karty przy użyciu animacji.
virtual void OnAfterAnimation(int nPage);
Parametry
nPage
[in] Indeks na podstawie zera strony karty, który został aktywny.
Uwagi
Efekt wizualny ustawiania aktywnej karty zależy od tego, czy włączono animację. Aby uzyskać więcej informacji, zobacz CMFCOutlookBarTabCtrl::EnableAnimation.
CMFCOutlookBar::OnBeforeAnimation
Wywoływana przez cmFCOutlookBarTabCtrl::SetActiveTab przed ustawieniem strony karty jako aktywna karta przy użyciu animacji.
virtual BOOL OnBeforeAnimation(int nPage);
Parametry
nPage
[in] Indeks na podstawie zera strony karty, który ma zostać ustawiony jako aktywny.
Wartość zwracana
Zwraca wartość TRUE, jeśli animacja powinna być używana w ustawieniu nowej aktywnej karty lub WARTOŚĆ FALSE, jeśli animacja powinna być wyłączona.
Uwagi
CMFCOutlookBar::OnScroll
Wywoływana przez platformę, jeśli pasek programu Outlook przewija się w górę lub w dół.
virtual void OnScroll(BOOL bDown);
Parametry
bDown
[in] Wartość TRUE, jeśli pasek programu Outlook przewija się w dół lub FAŁSZ, jeśli przewija się w górę.
Uwagi
CMFCOutlookBar::RemoveCustomPage
Usuwa niestandardową stronę karty paska programu Outlook.
BOOL RemoveCustomPage(
UINT uiPage,
CMFCOutlookBarTabCtrl* pTargetWnd);
Parametry
uiPage
[in] Indeks na podstawie zera strony w nadrzędnym oknie programu Outlook.
pTargetWnd
[in] Wskaż nadrzędne okno programu Outlook.
Wartość zwracana
Niezerowe, jeśli strona niestandardowa została pomyślnie usunięta; w przeciwnym razie 0.
Uwagi
Wywołaj tę funkcję, aby usunąć strony niestandardowe. Gdy strona zostanie usunięta, jej identyfikator kontrolki zostanie zwrócony do puli dostępnych identyfikatorów.
Należy podać wskaźnik do obiektu klasy CMFCOutlookBarTabCtrl, w którym obecnie znajduje się strona do usunięcia. Należy pamiętać, że użytkownik może przenosić odłączane strony między różnymi paskami programu Outlook, ale informacje o stronie niestandardowej znajdują się w obiekcie paska programu Outlook, dla którego nazwana jest CMFCOutlookBar::CreateCustomPage.
Użyj CBaseTabbedPane::GetUnderlyingWindow , aby uzyskać wskaźnik do okna programu Outlook.
CMFCOutlookBar::SetButtonsFont
Ustawia czcionkę tekstu na przyciskach paska programu Outlook.
void SetButtonsFont(
CFont* pFont,
BOOL bRedraw=TRUE);
Parametry
pFont
[in] Określa nową czcionkę.
bRedraw
[in] Jeśli wartość TRUE, pasek programu Outlook zostanie ponownie narysowane.
Uwagi
Użyj tej metody, aby ustawić czcionkę dla tekstu wyświetlanego na przyciskach strony karty programu Outlook.
CMFCOutlookBar::SetMode2003
Określa, czy zachowanie paska programu Outlook naśladuje działanie programu Outlook 2003.
void SetMode2003(BOOL bMode2003=TRUE);
Parametry
bMode2003
[in] Jeśli wartość TRUE, tryb office 2003 jest włączony.
Uwagi
Ta funkcja służy do włączania lub wyłączania trybu pakietu Office 2003. W tym trybie pasek programu Outlook ma dodatkowy pasek narzędzi z przyciskiem dostosowywania. Zachowanie paska programu Outlook jest zgodne z zachowaniem paska programu Outlook w pakiecie Microsoft Office 2003.
Domyślnie ten tryb jest wyłączony.
Uwaga
Ta funkcja musi być wywoływana przed cmFCOutlookBar::Create.
Zobacz też
Wykres hierarchii
Klasy
Klasa CBaseTabbedPane
Klasa CMFCOutlookBarTabCtrl
Klasa CMFCOutlookBarPane