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 CWnd
objek -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:
Sematkan
CMFCOutlookBar
objek ke dalam kelas jendela bingkai utama.class CMainFrame : public CMDIFrameWnd { // ... CMFCOutlookBar m_wndOutlookBar; CMFCOutlookBarPane m_wndOutlookPane; // ... };
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);
Dapatkan pointer ke yang mendasar
CMFCOutlookBarTabCtrl
dengan menggunakan CBaseTabbedPane::GetUnderlyingWindow.CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
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);
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);
Untuk menambahkan
CWnd
kontrol -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 CWnd
objek 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
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