Bagikan melalui


Kelas CTabbedPane

Menerapkan fungsionalitas panel dengan tab yang dapat dilepas.

atau detail selengkapnya lihat kode sumber yang terletak di folder VC\atlmfc\src\mfc dari penginstalan Visual Studio Anda.

Sintaks

class CTabbedPane : public CBaseTabbedPane

Anggota

Konstruktor Publik

Nama Deskripsi
CTabbedPane::CTabbedPane Konstruktor default.

Metode Publik

Nama Deskripsi
CTabbedPane::D etachPane (Penimpaan CBaseTabbedPane::D etachPane.)
CTabbedPane::EnableTabAutoColor Mengaktifkan atau menonaktifkan pewarnaan otomatis tab.
CTabbedPane::FloatTab Mengambangkan panel, tetapi hanya jika panel saat ini berada di tab yang dapat dilepas. (Ambil alih CBaseTabbedPane::FloatTab.)
CTabbedPane::GetTabArea Mengembalikan ukuran dan posisi area tab dalam jendela bertab.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode Menentukan apakah panel bertab dapat dialihkan ke mode autohide. (Penimpaan CBaseTabbedPane::HasAutoHideMode.)
CTabbedPane::IsTabLocationBottom Menentukan apakah tab terletak di bagian bawah jendela.
CTabbedPane::ResetTabs Mereset semua panel bertab ke status default.
CTabbedPane::SetTabAutoColors Mengatur daftar warna kustom yang dapat digunakan saat fitur warna otomatis diaktifkan.

Anggota Data

Nama Deskripsi
CTabbedPane::m_bTabsAlwaysTop Lokasi default untuk tab dalam aplikasi.
CTabbedPane::m_pTabWndRTC Informasi kelas runtime untuk objek turunan kustom CMFCTabCtrl.

Keterangan

Kerangka kerja secara otomatis membuat instans kelas ini saat pengguna melampirkan satu panel ke panel lain dengan menunjuk ke keterangan panel kedua. Semua panel bertab yang dibuat oleh kerangka kerja memiliki ID -1.

Untuk menentukan tab reguler alih-alih tab gaya Outlook, teruskan gaya AFX_CBRS_REGULAR_TABS ke metode CDockablePane::CreateEx .

Jika Anda membuat panel bertab dengan tab yang dapat dilepas, panel dapat dihancurkan secara otomatis oleh kerangka kerja, jadi Anda tidak boleh menyimpan penunjuk. Untuk mendapatkan penunjuk ke panel bertab, panggil CBasePane::GetParentTabbedPane metode .

Contoh

Dalam contoh ini kita membuat CTabbedPane objek. Selanjutnya, kita menggunakan CBaseTabbedPane::AddTab untuk melampirkan tab tambahan.

CTabbedPane* pTabbededBar = new CTabbedPane (TRUE);

if (!pTabbededBar->Create (_T(""),
    this,
    CRect (0,
    0,
    200,
    200),
    TRUE,
    (UINT) -1,
    WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
    WS_CLIPCHILDREN | CBRS_LEFT |
    CBRS_FLOAT_MULTI))
{
    TRACE0("Failed to create Solution Explorer bar\n");

    return FALSE;      // fail to create
}

pTabbededBar->AddTab (&m_wndClassView);
pTabbededBar->AddTab (&m_wndResourceView);

pTabbededBar->AddTab (&m_wndFileView);
pTabbededBar->EnableDocking(CBRS_ALIGN_ANY);

DockPane(pTabbededBar);

Cara lain untuk membuat objek bilah kontrol bertab adalah dengan menggunakan CDockablePane::AttachToTabWnd. Metode ini AttachToTabWnd secara dinamis membuat objek panel bertab menggunakan informasi kelas runtime yang ditetapkan oleh CDockablePane::SetTabbedPaneRTC.

Dalam contoh ini kita membuat panel bertab secara dinamis, melampirkan dua tab, dan membuat tab kedua tidak dapat dilepas.

DockPane(&m_wndClassView);

CTabbedPane* pTabbedBar = NULL;
m_wndResourceView.AttachToTabWnd (&m_wndClassView,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

m_wndFileView.AttachToTabWnd (pTabbedBar,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

pTabbedBar->GetUnderlyingWindow ()->EnableTabDetach (1,
    FALSE);

Hierarki Warisan

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

Persyaratan

Header: afxTabbedPane.h

CTabbedPane::D etachPane

virtual BOOL DetachPane(
    CWnd* pBar,
    BOOL bHide = FALSE);

Parameter

[di] pBar

[di] bHide

Tampilkan Nilai

Keterangan

CTabbedPane::EnableTabAutoColor

Mengaktifkan atau menonaktifkan pewarnaan otomatis tab.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

Parameter

bEnable
[di] TRUE untuk mengaktifkan pewarnaan otomatis tab; jika tidak, FALSE.

Keterangan

Gunakan metode statis ini untuk mengaktifkan atau menonaktifkan pewarnaan otomatis tab di semua panel bertab dalam aplikasi. Saat fitur ini diaktifkan, setiap tab diisi oleh warnanya sendiri. Anda dapat menemukan daftar warna yang digunakan untuk mewarnai tab dengan memanggil metode CMFCBaseTabCtrl::GetAutoColors .

Anda dapat menentukan daftar warna yang akan digunakan untuk tab dengan memanggil CTabbedPane::SetTabAutoColors.

Secara default, opsi ini dinonaktifkan.

CTabbedPane::FloatTab

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

Parameter

[di] pBar
[di] nTabID
[di] dockMethod
[di] bHide

Tampilkan Nilai

Keterangan

CTabbedPane::GetTabArea

Mengembalikan ukuran dan posisi area tab di jendela bertab.

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

Parameter

rectTabAreaTop
[out] Berisi ukuran dan posisi, dalam koordinat layar, dari area tab atas.

rectTabAreaBottom
[out] Berisi ukuran dan posisi, dalam koordinat layar, dari area tab bawah.

Keterangan

Kerangka kerja memanggil metode ini untuk menentukan cara menambungkan panel yang diseret pengguna. Saat pengguna menyeret panel ke area tab panel target, kerangka kerja mencoba menambahkannya sebagai tab baru dari panel target. Jika tidak, panel mencoba menambatkan panel ke sisi panel target, yang melibatkan pembuatan kontainer panel baru dengan pembagi panel yang memisahkan dua panel.

Ambil alih metode ini dalam CTabbedPanekelas -turunan untuk mengubah perilaku ini.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Tampilkan Nilai

Keterangan

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Tampilkan Nilai

Keterangan

CTabbedPane::IsTabLocationBottom

Menentukan apakah tab terletak di bagian bawah jendela.

virtual BOOL IsTabLocationBottom() const;

Tampilkan Nilai

TRUE jika area tab terletak di bagian bawah jendela bertab; jika tidak, FALSE.

Keterangan

CTabbedPane::m_bTabsAlwaysTop

Lokasi default untuk tab dalam aplikasi.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

Keterangan

Atur anggota statis ini ke TRUE untuk memaksa semua tab dalam aplikasi ditampilkan di bagian atas panel bertab.

Anda harus mengatur nilai ini sebelum panel bertab dibuat.

Nilai defaultnya adalah FALSE.

CTabbedPane::m_pTabWndRTC

Informasi kelas runtime untuk objek turunan kustom CMFCTabCtrl.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

Keterangan

Atur variabel anggota statis ini ke penunjuk ke informasi CMFCTabCtrlkelas runtime objek -turunan jika Anda menggunakan jendela bertab kustom di dalam panel bertab.

CTabbedPane::ResetTabs

Mereset semua panel bertab ke status default.

static void ResetTabs();

Keterangan

Panggil metode ini untuk mengembalikan semua panel bertab ke status defaultnya. Ketika dipanggil, metode ini mengatur ulang ukuran batas dan status warna otomatis dari semua panel bertab.

CTabbedPane::SetTabAutoColors

Mengatur daftar warna kustom yang digunakan saat fitur warna otomatis diaktifkan.

static void SetTabAutoColors(const CArray<COLORREF, COLORREF>& arColors);

Parameter

arColors
[di] Berisi array warna yang akan diatur.

Keterangan

Gunakan metode ini untuk menyesuaikan daftar warna yang digunakan saat fitur warna otomatis diaktifkan. Ini adalah fungsi statis dan memengaruhi semua panel bertab di aplikasi Anda.

Gunakan CTabbedPane::EnableTabAutoColor untuk mengaktifkan atau menonaktifkan fitur warna otomatis.

Lihat juga

Bagan Hierarki
Kelas
Kelas CDockablePane
Kelas CBaseTabbedPane
Kelas CMFCOutlookBar