Bagikan melalui


Kelas CMFCOutlookBar

Panel bertab dengan tampilan visual Panel Navigasi di Microsoft Outlook 2000 atau Outlook 2003. Objek CMFCOutlookBar berisi objek Kelas CMFCOutlookBarTabCtrl dan serangkaian tab. Tab dapat berupa objek Kelas CMFCOutlookBarPane atau CWndobjek -turunan. Untuk pengguna, bilah Outlook muncul sebagai serangkaian tombol dan area tampilan. Saat pengguna mengklik tombol, panel kontrol atau tombol terkait ditampilkan.

Sintaks

class CMFCOutlookBar : public CBaseTabbedPane

Anggota

Konstruktor Publik

Nama Deskripsi
CMFCOutlookBar::CMFCOutlookBar Konstruktor default.
CMFCOutlookBar::~CMFCOutlookBar Destruktor.

Metode Publik

Nama Deskripsi
CMFCOutlookBar::AllowDestroyEmptyTabbedPane Menentukan apakah panel bertab kosong dapat dihancurkan. (Penimpaan CBaseTabbedPane::AllowDestroyEmptyTabbedPane.)
CMFCOutlookBar::CanAcceptPane Menentukan apakah panel lain dapat ditautkan ke panel bilah Outlook. (Mengambil alih CDockablePane::CanAcceptPane.)
CMFCOutlookBar::CanSetCaptionTextToTabName Menentukan apakah keterangan untuk panel bertab menampilkan teks yang sama dengan tab aktif. (Menimpa CBaseTabbedPane::CanSetCaptionTextToTabName.)
CMFCOutlookBar::Create Membuat kontrol bilah Outlook.
CMFCOutlookBar::CreateCustomPage Membuat tab bilah Outlook kustom.
CMFCOutlookBar::CreateObject Digunakan oleh kerangka kerja untuk membuat instans dinamis dari jenis kelas ini.
CMFCOutlookBar::D oesAllowDynInsertBefore Menentukan apakah pengguna dapat menambungkan bilah kontrol di tepi luar bilah Outlook.
CMFCOutlookBar::FloatTab Mengambangkan panel, tetapi hanya jika panel saat ini berada di tab yang dapat dilepas. (Ambil alih CBaseTabbedPane::FloatTab.)
CMFCOutlookBar::GetButtonsFont Mengembalikan font teks pada tombol bilah Outlook.
CMFCOutlookBar::GetTabArea Mengembalikan ukuran dan posisi area tab pada bilah Outlook. (Penimpaan CBaseTabbedPane::GetTabArea.)
CMFCOutlookBar::GetThisClass Digunakan oleh kerangka kerja untuk mendapatkan penunjuk ke objek CRuntimeClass yang terkait dengan jenis kelas ini.
CMFCOutlookBar::IsMode2003 Menentukan apakah perilaku bilah Outlook menimbuhkan microsoft Office Outlook 2003 (lihat Keterangan).
CMFCOutlookBar::OnAfterAnimation Dipanggil oleh CMFCOutlookBarTabCtrl::SetActiveTab setelah tab aktif diatur menggunakan animasi.
CMFCOutlookBar::OnBeforeAnimation Dipanggil oleh CMFCOutlookBarTabCtrl::SetActiveTab sebelum halaman tab diatur sebagai tab aktif menggunakan animasi.
CMFCOutlookBar::OnScroll Dipanggil oleh kerangka kerja jika bilah Outlook menggulir ke atas atau ke bawah.
CMFCOutlookBar::RemoveCustomPage Menghapus tab bilah Outlook kustom.
CMFCOutlookBar::SetButtonsFont Mengatur font teks pada tombol bilah Outlook.
CMFCOutlookBar::SetMode2003 Menentukan apakah perilaku bilah Outlook menimbuhkan outlook 2003 (lihat Komentar).

Keterangan

Untuk contoh bilah Outlook, lihat Sampel OutlookDemo: Aplikasi OutlookDemo MFC.

Menerapkan Bilah Outlook

Untuk menggunakan CMFCOutlookBar kontrol di aplikasi Anda, ikuti langkah-langkah berikut:

  1. Sematkan CMFCOutlookBar objek ke dalam kelas jendela bingkai utama.

    class CMainFrame : public CMDIFrameWnd
    {
        // ...
        CMFCOutlookBar m_wndOutlookBar;
        CMFCOutlookBarPane m_wndOutlookPane;
        // ...
    };
    
  2. Saat memproses pesan WM_CREATE dalam bingkai utama, panggil metode CMFCOutlookBar::Create untuk membuat kontrol tab bilah Outlook.

    m_wndOutlookBar.Create (_T("Shortcuts"),
        this,
        CRect (0, 0, 100, 100),
        ID_VIEW_OUTLOOKBAR,
        WS_CHILD | WS_VISIBLE | CBRS_LEFT);
    
  3. Dapatkan pointer ke yang mendasar CMFCOutlookBarTabCtrl dengan menggunakan CBaseTabbedPane::GetUnderlyingWindow.

    CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
    
  4. Buat objek Kelas CMFCOutlookBarPane untuk setiap tab yang berisi tombol.

    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. Panggil CMFCOutlookBarTabCtrl::AddTab untuk menambahkan setiap tab baru. Atur parameter bDetachable ke FALSE untuk membuat halaman tidak dapat dilepas. Atau, gunakan CMFCOutlookBarTabCtrl::AddControl untuk menambahkan halaman yang dapat dilepas.

    pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);
    
  6. Untuk menambahkan CWndkontrol -turunan (misalnya, CMFCShellTreeCtrl Class) sebagai tab, buat kontrol dan panggil CMFCOutlookBarTabCtrl::AddTab untuk menambahkannya ke bilah Outlook.

Catatan

Anda harus menggunakan ID kontrol unik untuk setiap objek Kelas CMFCOutlookBarPane dan untuk setiap CWndobjek turunan.

Untuk menambahkan atau menghapus halaman baru secara dinamis saat runtime, gunakan CMFCOutlookBar::CreateCustomPage dan CMFCOutlookBar::RemoveCustomPage.

Outlook 2003 Mode

Dalam mode Outlook 2003, tombol tab diposisikan di bagian bawah panel bilah Outlook. Ketika tidak ada ruang yang cukup untuk menampilkan tombol, tombol ditampilkan sebagai ikon di area seperti toolbar di sepanjang bagian bawah panel.

Gunakan CMFCOutlookBar::SetMode2003 untuk mengaktifkan mode Outlook 2003. Gunakan CMFCOutlookBarTabCtrl::SetToolbarImageList untuk mengatur bitmap yang berisi ikon yang ditampilkan di bagian bawah bilah Outlook. Ikon dalam bitmap harus diurutkan menurut indeks tab.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CMFCOutlookBar

Persyaratan

Header: afxoutlookbar.h

CMFCOutlookBar::AllowDestroyEmptyTabbedPane

Menentukan apakah panel bertab kosong dapat dihancurkan.

virtual BOOL AllowDestroyEmptyTabbedPane() const;

Tampilkan Nilai

TRUE jika panel bertab kosong dapat dihancurkan; jika tidak, FALSE. Implementasi default selalu mengembalikan TRUE.

Keterangan

Jika panel bertab kosong tidak dapat dihancurkan, kerangka kerja menyembunyikannya sebagai gantinya.

CMFCOutlookBar::CanAcceptPane

Menentukan apakah panel lain dapat ditautkan ke panel bilah Outlook.

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parameter

pBar
[di] Penunjuk ke panel lain yang sedang ditampar ke panel ini.

Tampilkan Nilai

TRUE jika panel lain dapat ditautkan ke panel bilah Outlook; jika tidak FALSE.

Keterangan

Jika bilah Outlook berada dalam mode Outlook 2003, penambatan tidak didukung, sehingga nilai yang dikembalikan adalah FALSE.

Jika parameter pBar adalah NULL, metode ini mengembalikan FALSE.

Jika tidak, metode ini berperilaku sebagai metode dasar CBasePane::CanAcceptPane, kecuali jika docking tidak diaktifkan, bilah Outlook masih dapat mengaktifkan bilah Outlook lain untuk ditampar di atasnya.

CMFCOutlookBar::CanSetCaptionTextToTabName

Menentukan apakah keterangan untuk panel bertab menampilkan teks yang sama dengan tab aktif.

virtual BOOL CanSetCaptionTextToTabName() const;

Tampilkan Nilai

TRUE jika keterangan jendela bilah Outlook secara otomatis diatur ke teks tab aktif; jika tidak FALSE.

Keterangan

Gunakan CBaseTabbedPane::EnableSetCaptionTextToTabName untuk mengaktifkan atau menonaktifkan fungsionalitas ini.

Dalam mode Outlook 2003, pengaturan ini selalu diaktifkan.

CMFCOutlookBar::Create

Membuat kontrol bilah Outlook.

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

Parameter

lpszCaption
[di] Menentukan keterangan jendela.

pParentWnd
[di] Menentukan penunjuk ke jendela induk. Ini tidak boleh NULL.

rect
[di] Menentukan ukuran dan posisi bilah outlook dalam piksel.

Nid
[di] Menentukan ID kontrol. Harus berbeda dari ID kontrol lain yang digunakan dalam aplikasi.

dwStyle
[di] Menentukan gaya bilah kontrol yang diinginkan. Untuk nilai yang mungkin, lihat Gaya Jendela.

dwControlBarStyle
[di] Menentukan gaya khusus yang ditentukan pustaka.

pContext
[di] Buat konteks.

Tampilkan Nilai

Bukan nol jika metode berhasil; jika tidak, 0.

Keterangan

Anda membuat CMFCOutlookBar objek dalam dua langkah. Pertama panggil konstruktor, lalu panggil Create, yang membuat kontrol bilah outlook dan melampirkannya ke CMFCOutlookBar objek.

Lihat CBasePane::CreateEx untuk daftar gaya yang ditentukan pustaka yang tersedia untuk ditentukan oleh dwControlBarStyle.

Contoh

Contoh berikut menunjukkan cara menggunakan Create metode CMFCOutlookBar kelas. Cuplikan kode ini adalah bagian dari sampel Outlook Multi Views.

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

Membuat tab bilah Outlook kustom.

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

Parameter

lpszPageName
[di] Label halaman.

bActivatePage
[di] Jika TRUE, halaman menjadi aktif saat dibuat.

dwEnabledDocking
[di] Kombinasi bendera CBRS_ALIGN_ yang menentukan sisi docking yang diaktifkan saat halaman dilepaskan.

bEnableTextLabels
[di] Jika TRUE, label teks diaktifkan untuk tombol yang berada di halaman.

Tampilkan Nilai

Penunjuk ke halaman yang baru dibuat, atau NULL jika pembuatan gagal.

Keterangan

Gunakan metode ini untuk memungkinkan pengguna membuat halaman bilah Outlook kustom. Anda dapat membuat hingga 100 halaman per aplikasi. ID kontrol halaman dimulai dari 0xF000. Pembuatan gagal jika jumlah total halaman bilah Outlook kustom melebihi 100.

Gunakan CMFCOutlookBar::RemoveCustomPage untuk menghapus halaman kustom.

CMFCOutlookBar::D oesAllowDynInsertBefore

Menentukan apakah pengguna dapat menambungkan panel di tepi luar bilah Outlook.

DECLARE_MESSAGE_MAP virtual BOOL DoesAllowDynInsertBefore() const;

Tampilkan Nilai

Implementasi default mengembalikan FALSE.

Keterangan

Kerangka kerja memanggil DoesAllowDynInsertBefore metode saat mencari lokasi untuk menambak panel dinamis. Jika fungsi mengembalikan FALSE, kerangka kerja tidak mengizinkan docking panel dinamis apa pun di tepi luar panel.

Biasanya, Anda membuat bilah Outlook sebagai kontrol non-mengambang statis. Anda dapat mengambil alih fungsi ini di kelas turunan dan mengembalikan TRUE untuk mengubah perilaku ini.

Catatan

Karena panel dinamis memeriksa status panel statis yang ditampar saat menambah, Anda harus menambungkan panel dinamis setelah panel statis jika memungkinkan.

CMFCOutlookBar::FloatTab

Mengambangkan panel.

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

Parameter

pBar
[di] Penunjuk ke panel untuk mengambang.

nTabID
[di] Indeks berbasis nol tab untuk mengambang.

dockMethod
[di] Menentukan metode yang akan digunakan untuk membuat panel mengambang. Untuk informasi selengkapnya, lihat CBaseTabbedPane::FloatTab.

bHide
[di] TRUE untuk menyembunyikan panel sebelum mengambang; jika tidak, FALSE. Tidak seperti versi kelas dasar metode ini, parameter ini tidak memiliki nilai default.

Tampilkan Nilai

TRUE jika panel mengambang; jika tidak, FALSE.

Keterangan

Metode ini seperti CBaseTabbedPane::FloatTab kecuali tidak mengaktifkan tab terakhir yang tersisa pada kontrol bilah Outlook untuk mengambang.

CMFCOutlookBar::GetButtonsFont

Mengembalikan font teks pada tab tombol halaman bilah Outlook.

CFont* GetButtonsFont() const;

Tampilkan Nilai

Penunjuk ke objek font yang digunakan untuk menampilkan teks pada tab tombol halaman bilah Outlook.

Keterangan

Gunakan fungsi ini untuk mengambil font yang digunakan untuk menampilkan teks pada tab tombol halaman Outlook. Anda dapat mengatur font dengan memanggil di CMFCOutlookBar::SetButtonsFont.

CMFCOutlookBar::GetTabArea

Menentukan ukuran dan posisi area tab pada bilah Outlook.

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

Parameter

rectTabAreaTop
[out] Berisi ukuran dan posisi (dalam koordinat klien) dari area tab atas saat fungsi kembali.

rectTabAreaBottom
[out] Berisi ukuran dan posisi (dalam koordinat klien) dari area tab bawah saat fungsi kembali.

Keterangan

Kerangka kerja memanggil metode ini untuk menentukan jenis docking ke panel target. Saat kerangka kerja menentukan bahwa pengguna menyeret panel untuk ditambatkan ke area tab panel target, pengguna mencoba menambahkan panel pertama sebagai tab baru dari panel target. Jika tidak, panel ini mencoba menambungkan panel pertama di sisi panel target yang sesuai. Kerangka kerja membuat kontainer baru dengan slider untuk mengakomodasi panel dock tambahan.

Implementasi GetTabArea default mengembalikan seluruh area klien bilah Outlook jika bilah Outlook statis; yaitu, jika bilah Outlook tidak dapat mengambang. Jika tidak, ini mengembalikan area yang diambil tombol halaman di bagian atas dan bawah kontrol bilah Outlook.

Ambil alih metode ini di kelas yang berasal dari CMFCOutlookBar untuk mengubah perilaku ini.

CMFCOutlookBar::IsMode2003

Menentukan apakah perilaku bilah Outlook meniluki microsoft Office Outlook 2003.

BOOL IsMode2003() const;

Tampilkan Nilai

Bukan nol jika bilah Outlook berjalan dalam mode Microsoft Office 2003; jika tidak, 0.

Keterangan

Anda dapat mengaktifkan mode ini dengan menggunakan CMFCOutlookBar::SetMode2003.

CMFCOutlookBar::OnAfterAnimation

Dipanggil oleh CMFCOutlookBarTabCtrl::SetActiveTab setelah tab aktif diatur menggunakan animasi.

virtual void OnAfterAnimation(int nPage);

Parameter

nPage
[di] Indeks berbasis nol dari halaman tab yang telah dibuat aktif.

Keterangan

Efek visual pengaturan tab aktif bergantung pada apakah Anda telah mengaktifkan animasi. Untuk informasi selengkapnya, lihat CMFCOutlookBarTabCtrl::EnableAnimation.

CMFCOutlookBar::OnBeforeAnimation

Dipanggil oleh CMFCOutlookBarTabCtrl::SetActiveTab sebelum halaman tab diatur sebagai tab aktif menggunakan animasi.

virtual BOOL OnBeforeAnimation(int nPage);

Parameter

nPage
[di] Indeks berbasis nol dari halaman tab yang akan diatur aktif.

Tampilkan Nilai

Mengembalikan TRUE jika animasi harus digunakan dalam mengatur tab aktif baru, atau FALSE jika animasi harus dinonaktifkan.

Keterangan

CMFCOutlookBar::OnScroll

Dipanggil oleh kerangka kerja jika bilah Outlook menggulir ke atas atau ke bawah.

virtual void OnScroll(BOOL bDown);

Parameter

bDown
[di] TRUE jika bilah Outlook menggulir ke bawah, atau FALSE jika menggulir ke atas.

Keterangan

CMFCOutlookBar::RemoveCustomPage

Menghapus halaman tab bilah Outlook kustom.

BOOL RemoveCustomPage(
    UINT uiPage,
    CMFCOutlookBarTabCtrl* pTargetWnd);

Parameter

uiPage
[di] Indeks berbasis nol halaman di jendela Outlook induk.

pTargetWnd
[di] Pointer ke jendela Outlook induk.

Tampilkan Nilai

Bukan nol jika halaman kustom berhasil dihapus; jika tidak, 0.

Keterangan

Panggil fungsi ini untuk menghapus halaman kustom. Ketika halaman dihapus, ID kontrolnya dikembalikan ke kumpulan ID yang tersedia.

Anda harus menyediakan penunjuk ke objek Kelas CMFCOutlookBarTabCtrl tempat halaman dihapus saat ini berada. Perhatikan bahwa pengguna dapat memindahkan halaman yang dapat dilepas di antara bilah Outlook yang berbeda, tetapi informasi tentang halaman kustom berada di objek bilah Outlook yang telah Anda panggil CMFCOutlookBar::CreateCustomPage.

Gunakan CBaseTabbedPane::GetUnderlyingWindow untuk mendapatkan penunjuk ke jendela Outlook.

CMFCOutlookBar::SetButtonsFont

Mengatur font teks pada tombol bilah Outlook.

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

Parameter

pFont
[di] Menentukan font baru.

bRedraw
[di] Jika TRUE, bilah Outlook akan digambar ulang.

Keterangan

Gunakan metode ini untuk mengatur font untuk teks yang ditampilkan pada tombol halaman tab outlook.

CMFCOutlookBar::SetMode2003

Menentukan apakah perilaku bilah Outlook meniluki outlook 2003.

void SetMode2003(BOOL bMode2003=TRUE);

Parameter

bMode2003
[di] Jika TRUE, mode Office 2003 diaktifkan.

Keterangan

Gunakan fungsi ini untuk mengaktifkan atau menonaktifkan mode Office 2003. Dalam mode ini, bilah Outlook memiliki toolbar tambahan dengan tombol kustomisasi. Perilaku bilah Outlook sesuai dengan perilaku bilah Outlook di Microsoft Office 2003.

Secara default, mode ini dinonaktifkan.

Catatan

Fungsi ini harus dipanggil sebelum CMFCOutlookBar::Create.

Lihat juga

Bagan Hierarki
Kelas
Kelas CBaseTabbedPane
Kelas CMFCOutlookBarTabCtrl
Kelas CMFCOutlookBarPane