Kelas CDockablePane
Menerapkan panel yang dapat ditautkan di situs dock atau disertakan dalam panel bertab.
Sintaksis
class CDockablePane : public CPane
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CDockablePane::CDockablePane |
Membuat dan menginisialisasi objek CDockablePane . |
Metode Publik
Nama | Deskripsi |
---|---|
CDockablePane::AttachToTabWnd |
Melampirkan panel ke panel lain. Ini membuat panel bertab. |
CDockablePane::CalcFixedLayout |
Mengembalikan ukuran persegi panel. |
CDockablePane::CanAcceptMiniFrame |
Menentukan apakah bingkai mini yang ditentukan dapat ditambatkan ke panel. |
CDockablePane::CanAcceptPane |
Menentukan apakah panel lain dapat ditampung ke panel saat ini. |
CDockablePane::CanAutoHide |
Menentukan apakah panel mendukung mode sembunyikan otomatis. (Mengambil alih CBasePane::CanAutoHide .) |
CDockablePane::CanBeAttached |
Menentukan apakah panel saat ini dapat ditampung ke panel lain. |
CDockablePane::ConvertToTabbedDocument |
Mengonversi satu atau beberapa panel yang dapat ditautkan ke dokumen bertab MDI. |
CDockablePane::CopyState |
Menyalin status panel yang dapat di-dok. |
CDockablePane::Create |
Membuat kontrol Windows dan melampirkannya ke objek CDockablePane . |
CDockablePane::CreateDefaultPaneDivider |
Membuat pembagi default untuk panel saat sedang ditambatkan ke jendela bingkai. |
CDockablePane::CreateEx |
Membuat kontrol Windows dan melampirkannya ke objek CDockablePane . |
CDockablePane::CreateTabbedPane |
Membuat panel bertab dari panel saat ini. |
CDockablePane::DockPaneContainer |
Menambungkan kontainer ke panel. |
CDockablePane::DockPaneStandard |
Menambah panel dengan menggunakan dok kerangka (standar). |
CDockablePane::DockToFrameWindow |
Digunakan secara internal. Untuk menambungkan panel, gunakan CPane::DockPane atau CDockablePane::DockToWindow . |
CDockablePane::DockToRecentPos |
Menambatkan panel ke posisi docking terbaru yang disimpan. |
CDockablePane::DockToWindow |
Menamamkan satu panel dock ke panel docking lain. |
CDockablePane::EnableAutohideAll |
Mengaktifkan atau menonaktifkan mode sembunyikan otomatis untuk panel ini bersama dengan panel lain dalam kontainer. |
CDockablePane::EnableGripper |
Memperlihatkan atau menyembunyikan keterangan (pencengkeram). |
CDockablePane::GetAHRestoredRect |
Menentukan posisi panel saat terlihat dalam mode sembunyikan otomatis. |
CDockablePane::GetAHSlideMode |
Mengambil mode sembunyikan slide otomatis untuk panel. |
CDockablePane::GetAutoHideButton |
Digunakan secara internal. |
CDockablePane::GetAutoHideToolBar |
Digunakan secara internal. |
CDockablePane::GetCaptionHeight |
Mengembalikan tinggi keterangan saat ini. |
CDockablePane::GetDefaultPaneDivider |
Mengembalikan pembagi panel default untuk kontainer panel. |
CDockablePane::GetDockingStatus |
Menentukan kemampuan panel untuk di-dock berdasarkan lokasi penunjuk yang disediakan. |
CDockablePane::GetDragSensitivity |
Mengembalikan sensitivitas seret panel docking. |
CDockablePane::GetLastPercentInPaneContainer |
Mengambil persentase ruang yang diduduki panel dalam kontainernya. |
CDockablePane::GetTabArea |
Mengambil area tab untuk panel. |
CDockablePane::GetTabbedPaneRTC |
Mengembalikan informasi kelas runtime tentang jendela bertab yang dibuat saat panel lain menambah ke panel saat ini. |
CDockablePane::HasAutoHideMode |
Menentukan apakah panel docking dapat dialihkan ke mode sembunyikan otomatis. |
CDockablePane::HitTest |
Menentukan lokasi tertentu di panel tempat pengguna mengklik mouse. |
CDockablePane::IsAccessibilityCompatible |
Digunakan secara internal. |
CDockablePane::IsAutohideAllEnabled |
Menunjukkan apakah panel docking dan semua panel lain dalam kontainer dapat ditempatkan dalam mode sembunyikan otomatis. |
CDockablePane::IsAutoHideMode |
Menentukan apakah panel berada dalam mode sembunyikan otomatis. |
CDockablePane::IsChangeState |
Digunakan secara internal. |
CDockablePane::IsDocked |
Menentukan apakah panel saat ini ditampung. |
CDockablePane::IsHideInAutoHideMode |
Menentukan perilaku panel yang berada dalam mode sembunyikan otomatis jika ditampilkan (atau disembunyikan) dengan memanggil ShowPane . |
CDockablePane::IsInFloatingMultiPaneFrameWnd |
Menentukan apakah panel berada di jendela bingkai multi-panel. |
CDockablePane::IsResizable |
Menentukan apakah panel dapat diubah bentuknya. |
CDockablePane::IsTabLocationBottom |
Menentukan apakah tab terletak di bagian atas atau bawah panel. |
CDockablePane::IsTracked |
Menentukan apakah panel sedang diseret oleh pengguna. |
CDockablePane::IsVisible |
Menentukan apakah panel saat ini terlihat. |
CDockablePane::LoadState |
Digunakan secara internal. |
CDockablePane::OnAfterChangeParent |
Dipanggil oleh kerangka kerja saat induk panel telah berubah. (Mengambil alih CPane::OnAfterChangeParent .) |
CDockablePane::OnAfterDockFromMiniFrame |
Dipanggil oleh kerangka kerja ketika bilah dok mengambang berlabuh di jendela bingkai. |
CDockablePane::OnBeforeChangeParent |
Dipanggil oleh kerangka kerja saat induk panel akan berubah. (Mengambil alih CPane::OnBeforeChangeParent .) |
CDockablePane::OnBeforeFloat |
Dipanggil oleh kerangka kerja saat panel akan mengambang. (Mengambil alih CPane::OnBeforeFloat .) |
CDockablePane::RemoveFromDefaultPaneDividier |
Kerangka kerja memanggil metode ini saat panel dilepas. |
CDockablePane::ReplacePane |
Mengganti panel dengan panel tertentu. |
CDockablePane::RestoreDefaultPaneDivider |
Kerangka kerja memanggil metode ini sebagai panel dideserialisasi untuk memulihkan pembagi panel default. |
CDockablePane::SaveState |
Digunakan secara internal. |
CDockablePane::Serialize |
Menserialisasikan panel. (Mengambil alih CBasePane::Serialize .) |
CDockablePane::SetAutoHideMode |
Beralih ke panel docking antara mode terlihat dan sembunyikan otomatis. |
CDockablePane::SetAutoHideParents |
Mengatur tombol sembunyikan otomatis dan sembunyikan bilah alat otomatis untuk panel. |
CDockablePane::SetDefaultPaneDivider |
Digunakan secara internal. |
CDockablePane::SetLastPercentInPaneContainer |
Mengatur persentase ruang yang diduduki panel dalam kontainernya. |
CDockablePane::SetResizeMode |
Digunakan secara internal. |
CDockablePane::SetRestoredDefaultPaneDivider |
Mengatur pembagi panel default yang dipulihkan. |
CDockablePane::SetTabbedPaneRTC |
Mengatur informasi kelas runtime untuk jendela bertab yang dibuat saat dua panel ditambatkan bersama-sama. |
CDockablePane::ShowPane |
Memperlihatkan atau menyembunyikan panel. |
CDockablePane::Slide |
Memperlihatkan atau menyembunyikan panel dengan animasi geser yang hanya ditampilkan saat panel dalam mode sembunyikan otomatis. |
CDockablePane::ToggleAutoHide |
Mengalihkan mode sembunyikan otomatis. (Mengambil alih CPane::ToggleAutoHide .) |
CDockablePane::UndockPane |
Batalkan penambahan panel dari jendela bingkai utama atau kontainer jendela miniframe. |
CDockablePane::UnSetAutoHideMode |
Digunakan secara internal. Untuk mengatur mode sembunyikan otomatis, gunakan CDockablePane::SetAutoHideMode |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
CDockablePane::CheckAutoHideCondition |
Menentukan apakah panel docking disembunyikan (dalam mode sembunyikan otomatis). |
CDockablePane::CheckStopSlideCondition |
Menentukan kapan panel docking sembunyikan otomatis harus berhenti geser. |
CDockablePane::DrawCaption |
Menggambar keterangan panel docking (gripper). |
CDockablePane::OnPressButtons |
Dipanggil saat pengguna menekan tombol keterangan selain tombol AFX_HTCLOSE dan AFX_HTMAXBUTTON . |
CDockablePane::OnSlide |
Dipanggil oleh kerangka kerja untuk merender efek sembunyikan slide secara otomatis saat panel diperlihatkan atau disembunyikan. |
Anggota Data
Nama | Deskripsi |
---|---|
CDockablePane::m_bDisableAnimation |
Menentukan apakah animasi sembunyikan otomatis panel yang dapat di-dok dinonaktifkan. |
CDockablePane::m_bHideInAutoHideMode |
Menentukan perilaku panel saat panel berada dalam mode sembunyikan otomatis. |
CDockablePane::m_nSlideSteps |
Menentukan kecepatan animasi panel saat ditampilkan atau disembunyikan saat dalam mode sembunyikan otomatis. |
Komentar
CDockablePane
menerapkan fungsionalitas berikut:
Menambungkan panel ke jendela bingkai utama.
Mengalihkan panel ke mode sembunyikan otomatis.
Melampirkan panel ke jendela bertab.
Mengambangkan panel di jendela miniframe.
Menambatkan panel ke panel lain yang mengambang di jendela miniframe.
Mengubah ukuran panel.
Memuat dan menyimpan status untuk panel docking.
Nota
Informasi status disimpan ke registri Windows.
Membuat panel dengan atau tanpa keterangan. Keterangan dapat memiliki label teks dan dapat diisi dengan warna gradien.
Menyeret panel saat menampilkan konten panel
Menyeret panel sambil menampilkan persegi panjang seret.
Untuk menggunakan panel docking di aplikasi Anda, dapatkan kelas panel Anda dari kelas CDockablePane
. Sematkan objek turunan ke objek jendela bingkai utama atau ke objek jendela yang mengontrol instans panel Anda. Kemudian panggil metode CDockablePane::Create
atau metode CDockablePane::CreateEx
saat Anda memproses pesan WM_CREATE
di jendela bingkai utama. Terakhir, siapkan objek panel dengan memanggil CBasePane::EnableDocking
, CBasePane::DockPane
, atau CDockablePane::AttachToTabWnd
.
Tips Kustomisasi
Tips berikut berlaku untuk objek CDockablePane
:
Jika Anda memanggil
CDockablePane::AttachToTabWnd
untuk dua panel yang tidak bertab, panel yang dapat ditautkan, penunjuk ke jendela bertab akan dikembalikan dalam parameterppTabbedControlBar
. Anda dapat terus menambahkan tab ke jendela bertab dengan menggunakan parameter ini.Jenis panel bertab yang dibuat oleh
CDockablePane::AttachToTabWnd
ditentukan oleh objekCDockablePane
dalam parameterpTabControlBarAttachTo
. Anda dapat memanggilCDockablePane::SetTabbedPaneRTC
untuk mengatur jenis panel bertab yang akan dibuatCDockablePane
. Jenis default ditentukan olehdwTabbedStyle
CDockablePane::Create
ketika Anda pertama kali membuatCDockablePane
. JikadwTabbedStyle
AFX_CBRS_OUTLOOK_TABS
jenis defaultnya adalahCMFCOutlookBar
Class; jikadwTabbedStyle
AFX_CBRS_REGULAR_TABS
jenis defaultnya adalahCTabbedPane
Class.Jika Anda ingin menambungkan satu panel yang dapat di-dok ke panel lain, panggil metode
CDockablePane::DockToWindow
. Panel asli harus ditampung di suatu tempat sebelum Anda memanggil metode ini.Variabel anggota
CDockablePane::m_bHideInAutoHideMode
mengontrol perilaku panel yang dapat di-dock dalam mode sembunyikan otomatis saat Anda memanggilCDockablePane::ShowPane
. Jika variabel anggota ini diatur keTRUE
, panel yang dapat di-dok dan tombol sembunyikan otomatis mereka akan disembunyikan. Jika tidak, mereka akan meluncur masuk dan keluar.Anda dapat menonaktifkan animasi sembunyikan otomatis dengan mengatur variabel anggota
CDockablePane::m_bDisableAnimation
keTRUE
.
Contoh
Contoh berikut menunjukkan cara mengonfigurasi objek CDockablePane
dengan menggunakan berbagai metode di kelas CDockablePane
. Contoh ini menggambarkan cara mengaktifkan fitur sembunyikan otomatis semua untuk panel yang dapat ditambatkan, mengaktifkan keterangan atau pencengkeram, mengaktifkan mode sembunyikan otomatis, menampilkan panel, dan menganimasikan panel yang berada dalam mode sembunyikan otomatis. Cuplikan kode ini adalah bagian dari sampel Demo Visual Studio.
// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);
Hierarki Pewarisan
Persyaratan
Header :afxDockablePane.h
CDockablePane::AttachToTabWnd
Melampirkan panel saat ini ke panel target, membuat panel bertab.
virtual CDockablePane* AttachToTabWnd(
CDockablePane* pTabControlBarAttachTo,
AFX_DOCK_METHOD dockMethod,
BOOL bSetActive= TRUE,
CDockablePane** ppTabbedControlBar = NULL);
Parameter
pTabControlBarAttachTo
[masuk, keluar] Menentukan panel target yang dilampirkan panel saat ini. Panel target harus berupa panel yang dapat di-dock.
dockMethod
[di] Menentukan metode docking.
bSetActive
[in] TRUE
untuk mengaktifkan panel bertab setelah operasi lampirkan; jika tidak, FALSE
.
ppTabbedControlBar
[out] Berisi panel bertab yang dihasilkan dari operasi lampirkan.
Mengembalikan Nilai
Penunjuk ke panel saat ini, jika bukan panel bertab; jika tidak, penunjuk ke panel bertab yang dihasilkan dari operasi lampirkan. Nilai yang dikembalikan NULL
jika panel saat ini tidak dapat dilampirkan, atau jika terjadi kesalahan.
Komentar
Saat satu panel yang dapat ditampung dilampirkan ke panel lain menggunakan metode ini, hal berikut ini terjadi:
Kerangka kerja memeriksa apakah panel target
pTabControlBarAttachTo
adalah panel docking biasa atau jika berasal dariCBaseTabbedPane
.Jika panel target adalah panel bertab, kerangka kerja menambahkan panel saat ini sebagai tab.
Jika panel target adalah panel docking biasa, kerangka kerja akan membuat panel bertab.
Kerangka kerja memanggil
pTabControlBarAttachTo->CreateTabbedPane
. Gaya panel bertab baru bergantung pada anggotam_pTabbedControlBarRTC
. Secara default, anggota ini diatur ke kelas runtimeCTabbedPane
. Jika Anda meneruskan gayaAFX_CBRS_OUTLOOK_TABS
sebagai parameterdwTabbedStyle
ke metodeCDockablePane::Create
, objek kelas runtime diatur ke kelas runtimeCMFCOutlookBar
. Anda dapat mengubah anggota ini kapan saja untuk mengubah gaya panel baru.Saat metode ini membuat panel bertab, kerangka kerja mengganti penunjuk ke
pTabControlBarAttachTo
(jika panel ditambatkan atau mengambang di jendela multi-miniframe) dengan penunjuk ke panel bertab baru.Kerangka kerja menambahkan panel
pTabControlBarAttachTo
ke panel bertab sebagai tab pertama. Kerangka kerja kemudian menambahkan panel saat ini sebagai tab kedua.
Jika panel saat ini berasal dari
CBaseTabbedPane
, semua tabnya dipindahkan kepTabControlBarAttachTo
dan panel saat ini dihancurkan. Oleh karena itu, berhati-hatilah saat Anda memanggil metode ini, karena penunjuk ke panel saat ini mungkin tidak valid ketika metode kembali.
Jika Anda melampirkan satu panel ke panel lain saat membuat tata letak docking, atur dockMethod
ke DM_SHOW
.
Anda harus menambungkan panel pertama sebelum melampirkan panel lain ke panel tersebut.
CDockablePane::CalcFixedLayout
Mengembalikan ukuran persegi panel.
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parameter
bStretch
[di] Tidak digunakan.
bHorz
[di] Tidak digunakan.
Mengembalikan Nilai
Objek CSize
yang berisi ukuran persegi panel.
CDockablePane::CanAcceptMiniFrame
Menentukan apakah bingkai mini yang ditentukan dapat ditambatkan ke panel.
virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;
Parameter
pMiniFrame
[di] Penunjuk ke objek CPaneFrameWnd
.
Mengembalikan Nilai
TRUE
jika pMiniFrame
dapat ditampar ke panel; jika tidak, FALSE
.
CDockablePane::CanAcceptPane
Menentukan apakah panel lain dapat ditampung ke panel saat ini.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parameter
pBar
[di] Menentukan panel untuk ditampung ke panel saat ini.
Mengembalikan Nilai
TRUE
jika panel yang ditentukan dapat ditampar ke panel ini; jika tidak, FALSE
.
Komentar
Kerangka kerja memanggil metode ini sebelum panel ditambatkan ke panel saat ini.
Ambil alih fungsi ini di kelas turunan untuk mengaktifkan atau menonaktifkan docking ke panel tertentu.
Secara default, metode ini mengembalikan TRUE
jika pBar
atau induknya berjenis CDockablePane
.
CDockablePane::CanAutoHide
Menentukan apakah panel dapat disembunyikan secara otomatis.
virtual BOOL CanAutoHide() const;
Mengembalikan Nilai
TRUE
jika panel dapat menyembunyikan secara otomatis; jika tidak, FALSE
.
Komentar
CDockablePane::CanAutoHide
mengembalikan FALSE
dalam salah satu situasi berikut:
Panel tidak memiliki induk.
Manajer docking tidak mengizinkan panel untuk menyembunyikan secara otomatis.
Panel tidak ditampung.
CDockablePane::CanBeAttached
Menentukan apakah panel saat ini dapat ditampung ke panel lain.
virtual BOOL CanBeAttached() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat ditambatkan dapat ditambatkan ke panel lain atau ke jendela bingkai utama; jika tidak, FALSE
.
Komentar
Secara default, metode ini selalu mengembalikan TRUE
. Ambil alih metode ini di kelas turunan untuk mengaktifkan atau menonaktifkan docking tanpa memanggil CBasePane::EnableDocking
.
CDockablePane::CDockablePane
Membuat dan menginisialisasi objek CDockablePane
.
CDockablePane();
Komentar
Setelah Anda membuat objek panel yang dapat ditampung, panggil CDockablePane::Create
atau CDockablePane::CreateEx
untuk membuatnya.
CDockablePane::ConvertToTabbedDocument
Mengonversi satu atau beberapa panel yang dapat ditautkan ke dokumen bertab MDI.
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
Parameter
bActiveTabOnly
[di] Saat Anda mengonversi CTabbedPane
, tentukan TRUE
untuk mengonversi hanya tab aktif. Tentukan FALSE
untuk mengonversi semua tab di panel.
CDockablePane::CheckAutoHideCondition
Menentukan apakah panel docking disembunyikan (juga dikenal sebagai mode autohide).
virtual BOOL CheckAutoHideCondition();
Mengembalikan Nilai
TRUE
jika kondisi sembunyi terpenuhi; jika tidak, FALSE
.
Komentar
Kerangka kerja menggunakan timer untuk memeriksa secara berkala apakah akan menyembunyikan panel dockable autohide. Metode mengembalikan TRUE
saat panel tidak aktif, panel tidak diubah ukurannya, dan penunjuk mouse tidak berada di atas panel.
Jika semua kondisi sebelumnya terpenuhi, kerangka kerja memanggil CDockablePane::Slide
untuk menyembunyikan panel.
CDockablePane::CheckStopSlideCondition
Menentukan kapan panel docking autohide harus berhenti geser.
virtual BOOL CheckStopSlideCondition(BOOL bDirection);
Parameter
bDirection
[in] TRUE
jika panel terlihat; FALSE
jika panel disembunyikan.
Mengembalikan Nilai
TRUE
jika kondisi berhenti terpenuhi; jika tidak, FALSE
.
Komentar
Saat panel yang dapat ditambatkan diatur ke mode autohide, kerangka kerja menggunakan efek geser untuk menampilkan atau menyembunyikan panel. Kerangka kerja memanggil fungsi ini saat panel meluncur.
CheckStopSlideCondition
mengembalikan TRUE
saat panel terlihat sepenuhnya atau saat disembunyikan sepenuhnya.
Ambil alih metode ini dalam kelas turunan untuk mengimplementasikan efek autohide kustom.
CDockablePane::CopyState
Menyalin status panel yang dapat di-dok.
virtual void CopyState(CDockablePane* pOrgBar);
Parameter
pOrgBar
[di] Penunjuk ke panel yang dapat di-dok.
Komentar
CDockablePane::CopyState
menyalin status pOrgBar
ke panel saat ini dengan memanggil metode berikut:
CDockablePane::Create
Membuat kontrol Windows dan melampirkannya ke objek CDockablePane
.
virtual BOOL Create(
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
CCreateContext* pContext = NULL);
virtual BOOL Create(
LPCTSTR lpszWindowName,
CWnd* pParentWnd,
CSize sizeDefault,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);
Parameter
lpszCaption
[di] Menentukan nama jendela.
pParentWnd
[masuk, keluar] Menentukan jendela induk.
rect
[di] Menentukan ukuran dan posisi jendela, dalam koordinat klien pParentWnd
.
bHasGripper
[di] TRUE
untuk membuat panel dengan keterangan; jika tidak, FALSE
.
nID
[di] Menentukan ID jendela anak. Nilai ini harus unik jika Anda ingin menyimpan status docking untuk panel docking ini.
dwStyle
[di] Menentukan atribut gaya jendela.
dwTabbedStyle
[di] Menentukan gaya bertab jendela bertab yang dibuat saat pengguna menyeret panel pada keterangan panel ini.
dwControlBarStyle
[di] Menentukan atribut gaya tambahan.
pContext
[masuk, keluar] Menentukan konteks pembuatan jendela.
lpszWindowName
[di] Menentukan nama jendela.
sizeDefault
[di] Menentukan ukuran jendela.
Mengembalikan Nilai
TRUE
jika panel yang dapat di-dok berhasil dibuat; jika tidak, FALSE
.
Komentar
Membuat panel Windows dan melampirkannya ke objek CDockablePane
.
Jika gaya jendela dwStyle
memiliki bendera CBRS_FLOAT_MULTI
, jendela miniframe dapat mengambang dengan panel lain di jendela miniframe. Secara default, panel docking hanya dapat mengambang satu per satu.
Jika parameter dwTabbedStyle
memiliki bendera AFX_CBRS_OUTLOOK_TABS
yang ditentukan, panel membuat panel bertab gaya Outlook saat panel lain dilampirkan ke panel ini menggunakan metode CDockablePane::AttachToTabWnd
. Secara default, panel yang dapat ditautkan membuat panel bertab biasa dari jenis CTabbedPane
.
CDockablePane::CreateDefaultPaneDivider
Membuat pembagi default untuk panel saat sedang ditambatkan ke jendela bingkai.
static CPaneDivider* __stdcall CreateDefaultPaneDivider(
DWORD dwAlignment,
CWnd* pParent,
CRuntimeClass* pSliderRTC = NULL);
Parameter
dwAlignment
[di] Menentukan sisi bingkai utama tempat panel sedang ditambatkan. Jika dwAlignment
berisi bendera CBRS_ALIGN_LEFT
atau CBRS_ALIGN_RIGHT
, metode ini akan membuat pembagi vertikal (CPaneDivider::SS_VERT
) ; jika tidak, metode ini membuat pembagi horizontal (CPaneDivider::SS_HORZ
).
pParent
[di] Penunjuk ke bingkai induk.
pSliderRTC
[di] Tidak digunakan.
Mengembalikan Nilai
Metode ini mengembalikan penunjuk ke pembagi yang baru dibuat, atau NULL
jika pembuatan pembagi gagal.
Komentar
dwAlignment
bisa menjadi salah satu nilai berikut:
Nilai | Deskripsi |
---|---|
CBRS_ALIGN_TOP |
Panel sedang ditambatkan ke bagian atas area klien jendela bingkai. |
CBRS_ALIGN_BOTTOM |
Panel sedang ditambatkan ke bagian bawah area klien jendela bingkai. |
CBRS_ALIGN_LEFT |
Panel sedang ditambatkan ke sisi kiri area klien dari jendela bingkai. |
CBRS_ALIGN_RIGHT |
Panel sedang ditambatkan ke sisi kanan area klien dari jendela bingkai. |
CDockablePane::CreateEx
Membuat kontrol Windows dan melampirkannya ke objek CDockablePane
.
virtual BOOL CreateEx(
DWORD dwStyleEx,
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
BOOL bHasGripper,
UINT nID,
DWORD dwStyle,
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
CCreateContext* pContext = NULL);
Parameter
dwStyleEx
[di] Menentukan atribut gaya yang diperluas untuk jendela baru.
lpszCaption
[di] Menentukan nama jendela.
pParentWnd
[masuk, keluar] Menentukan jendela induk.
rect
[di] Menentukan ukuran dan posisi jendela, dalam koordinat klien pParentWnd
.
bHasGripper
[di] TRUE
untuk membuat panel dengan keterangan; jika tidak, FALSE
.
nID
[di] Menentukan ID jendela anak. Nilai ini harus unik jika Anda ingin menyimpan status docking untuk panel docking ini.
dwStyle
[di] Menentukan atribut gaya jendela.
dwTabbedStyle
[di] Menentukan gaya bertab jendela bertab yang dibuat saat pengguna menyeret panel pada keterangan panel ini.
dwControlBarStyle
[di] Menentukan atribut gaya tambahan.
pContext
[masuk, keluar] Menentukan konteks pembuatan jendela.
Mengembalikan Nilai
TRUE
jika panel yang dapat di-dok berhasil dibuat; jika tidak, FALSE
.
Komentar
Membuat panel Windows dan melampirkannya ke objek CDockablePane
.
Jika gaya jendela dwStyle
memiliki bendera CBRS_FLOAT_MULTI
, jendela miniframe dapat mengambang dengan panel lain di jendela miniframe. Secara default, panel docking hanya dapat mengambang satu per satu.
Jika parameter dwTabbedStyle
memiliki bendera AFX_CBRS_OUTLOOK_TABS
yang ditentukan, panel membuat panel bertab gaya Outlook saat panel lain dilampirkan ke panel ini menggunakan metode CDockablePane::AttachToTabWnd
. Secara default, panel yang dapat ditautkan membuat panel bertab biasa dari jenis CTabbedPane
.
CDockablePane::CreateTabbedPane
Membuat panel bertab dari panel saat ini.
virtual CTabbedPane* CreateTabbedPane();
Mengembalikan Nilai
Panel bertab baru, atau NULL
jika operasi pembuatan gagal.
Komentar
Kerangka kerja memanggil metode ini saat membuat panel bertab untuk mengganti panel ini. Untuk informasi selengkapnya, lihat CDockablePane::AttachToTabWnd
.
Ambil alih metode ini di kelas turunan untuk menyesuaikan cara panel bertab dibuat dan diinisialisasi.
Panel bertab dibuat sesuai dengan informasi kelas runtime yang disimpan di anggota m_pTabbedControlBarRTC
, yang diinisialisasi oleh metode CDockablePane::CreateEx
.
CDockablePane::DockPaneContainer
Menambungkan kontainer ke panel.
virtual BOOL DockPaneContainer(
CPaneContainerManager& barContainerManager,
DWORD dwAlignment,
AFX_DOCK_METHOD dockMethod);
Parameter
barContainerManager
[di] Referensi ke manajer kontainer kontainer yang sedang ditampar.
dwAlignment
[in] DWORD
yang menentukan sisi panel tempat kontainer sedang ditampar.
dockMethod
[di] Tidak digunakan.
Mengembalikan Nilai
TRUE
jika kontainer berhasil ditampar ke panel; jika tidak, FALSE
.
Komentar
dwAlignment
bisa menjadi salah satu nilai berikut:
Nilai | Deskripsi |
---|---|
CBRS_ALIGN_TOP |
Kontainer sedang ditautkan ke bagian atas panel. |
CBRS_ALIGN_BOTTOM |
Kontainer sedang ditampar ke bagian bawah panel. |
CBRS_ALIGN_LEFT |
Kontainer sedang ditampung di sebelah kiri panel. |
CBRS_ALIGN_RIGHT |
Kontainer sedang ditampar di sebelah kanan panel. |
CDockablePane::DockPaneStandard
Menambah panel dengan menggunakan dok kerangka (standar).
virtual CPane* DockPaneStandard(BOOL& bWasDocked);
Parameter
bWasDocked
[di] Saat metode kembali, nilai ini berisi TRUE
jika panel berhasil di-dock; jika tidak, ini berisi FALSE
.
Mengembalikan Nilai
Jika panel ditautkan ke jendela bertab, atau jika jendela bertab dibuat sebagai akibat dari penambatan, metode ini mengembalikan penunjuk ke jendela bertab. Jika panel berhasil ditampung, metode ini mengembalikan penunjuk this
. Jika docking gagal, metode ini mengembalikan NULL
.
CDockablePane::DockToRecentPos
Menambatkan panel ke posisi docking yang disimpan.
BOOL CDockablePane::DockToRecentPos();
Mengembalikan Nilai
TRUE
jika panel berhasil ditampar; jika tidak, FALSE
.
Komentar
Panel yang dapat di-dok menyimpan informasi docking terbaru dalam objek CRecentDockSiteInfo
.
CDockablePane::DockToWindow
Menamamkan satu panel dock ke panel docking lain.
virtual BOOL DockToWindow(
CDockablePane* pTargetWindow,
DWORD dwAlignment,
LPCRECT lpRect = NULL);
Parameter
pTargetWindow
[masuk, keluar] Menentukan panel yang dapat ditampung untuk menambungkan panel ini.
dwAlignment
[di] Menentukan perataan docking untuk panel. Mungkin salah satu CBRS_ALIGN_LEFT
, CBRS_ALIGN_TOP
, CBRS_ALIGN_RIGHT
, CBRS_ALIGN_BOTTOM
atau CBRS_ALIGN_ANY
. (Ditentukan dalam afxres.h
.)
lpRect
[di] Menentukan persegi panjang docking untuk panel.
Mengembalikan Nilai
TRUE
jika panel berhasil ditampar; jika tidak, FALSE
.
Komentar
Panggil metode ini untuk menambatkan satu panel ke panel lain dengan perataan yang ditentukan oleh dwAlignment
.
CDockablePane::DrawCaption
Menggambar keterangan (juga disebut gripper) dari panel docking.
virtual void DrawCaption(
CDC* pDC,
CRect rectCaption);
Parameter
pDC
[di] Mewakili konteks perangkat yang digunakan untuk menggambar.
rectCaption
[di] Menentukan persegi panjang batas keterangan panel.
Komentar
Kerangka kerja memanggil metode ini untuk menggambar keterangan panel yang dapat ditambat.
Ambil alih metode ini di kelas turunan untuk menyesuaikan tampilan keterangan.
CDockablePane::EnableAutohideAll
Mengaktifkan atau menonaktifkan mode autohide untuk panel ini dan untuk panel lain dalam kontainer.
void EnableAutohideAll(BOOL bEnable = TRUE);
Parameter
bEnable
[in] TRUE
untuk mengaktifkan fitur autohide semua untuk panel yang dapat ditambat; jika tidak, FALSE
.
Komentar
Saat pengguna memegang kunci Ctrl
Panggil metode ini dengan bEnable
diatur ke FALSE
untuk menonaktifkan fitur ini untuk panel tertentu.
CDockablePane::EnableGripper
Menampilkan atau menyembunyikan keterangan (juga disebut gripper).
virtual void EnableGripper(BOOL bEnable);
Parameter
bEnable
[in] TRUE
untuk mengaktifkan keterangan; jika tidak, FALSE
.
Komentar
Saat kerangka kerja membuat panel yang dapat ditambat, mereka tidak memiliki gaya jendela WS_STYLE
, bahkan jika ditentukan. Ini berarti bahwa keterangan panel adalah area non-klien yang dikontrol oleh kerangka kerja, tetapi area ini berbeda dari keterangan jendela standar.
Anda dapat menampilkan atau menyembunyikan keterangan kapan saja. Kerangka kerja menyembunyikan keterangan saat panel ditambahkan sebagai tab ke jendela bertab atau saat panel diambang di jendela miniframe.
CDockablePane::GetAHRestoredRect
Menentukan posisi panel saat dalam mode sembunyikan otomatis.
CRect GetAHRestoredRect() const;
Mengembalikan Nilai
Objek CRect
yang berisi posisi panel saat berada dalam mode sembunyikan otomatis.
Komentar
CDockablePane::GetAHSlideMode
Mengambil mode sembunyikan slide otomatis untuk panel.
virtual UINT GetAHSlideMode() const;
Mengembalikan Nilai
UINT
yang menentukan mode sembunyikan slide secara otomatis untuk panel. Nilai yang dikembalikan dapat berupa AFX_AHSM_MOVE
atau AFX_AHSM_STRETCH
, tetapi implementasinya hanya menggunakan AFX_AHSM_MOVE
.
Komentar
CDockablePane::GetCaptionHeight
Mengembalikan tinggi, dalam piksel, dari keterangan saat ini.
virtual int GetCaptionHeight() const;
Mengembalikan Nilai
Tinggi keterangan, dalam piksel.
Komentar
Tinggi keterangan adalah 0 jika keterangan disembunyikan oleh metode CDockablePane::EnableGripper
, atau jika panel tidak memiliki keterangan.
CDockablePane::GetDefaultPaneDivider
Mengembalikan pembagi panel default untuk kontainer panel.
CPaneDivider* GetDefaultPaneDivider() const;
Mengembalikan Nilai
Objek CPaneDivider
yang valid jika panel yang dapat ditambatkan ditambatkan ke jendela bingkai utama, atau NULL
jika panel yang dapat ditambatkan tidak ditambatkan atau jika mengambang.
Komentar
Untuk informasi selengkapnya tentang pembagi panel, lihat CPaneDivider
Class.
CDockablePane::GetDockingStatus
Menentukan kemampuan panel untuk di-dock berdasarkan lokasi penunjuk yang disediakan.
virtual AFX_CS_STATUS GetDockingStatus(
CPoint pt,
int nSensitivity);
Parameter
pt
[di] Lokasi pointer dalam koordinat layar.
nSensitivity
[di] Jarak, dalam piksel, jauh dari tepi persegi panjang penunjuk harus mengaktifkan docking.
Mengembalikan Nilai
Salah satu nilai status berikut:
nilai AFX_CS_STATUS |
Arti |
---|---|
CS_NOTHING |
Penunjuk tidak melalui situs dok. Kerangka kerja tidak menambungkan panel. |
CS_DOCK_IMMEDIATELY |
Penunjuk terletak di atas situs dok dalam mode langsung (panel menggunakan mode docking DT_IMMEDIATE ). Kerangka kerja segera menambah panel. |
CS_DELAY_DOCK |
Penunjuk berada di atas situs dock yang merupakan panel docking lain atau merupakan tepi bingkai utama. Kerangka kerja menambatkan panel setelah penundaan. Lihat bagian Keterangan untuk informasi selengkapnya tentang penundaan ini. |
CS_DELAY_DOCK_TO_TAB |
Penunjuk terletak di atas situs dok yang menyebabkan panel ditautkan di jendela bertab. Ini terjadi ketika penunjuk terletak di atas keterangan panel docking lain atau di atas area tab panel bertab. |
Komentar
Kerangka kerja memanggil metode ini untuk menangani dock panel mengambang.
Untuk bilah alat mengambang atau panel docking yang menggunakan mode docking DT_IMMEDIATE
, kerangka kerja menunda perintah dock untuk memungkinkan pengguna memindahkan jendela keluar dari area klien bingkai induk sebelum docking terjadi. Panjang penundaan diukur dalam milidetik dan dikendalikan oleh anggota data CDockingManager::m_nTimeOutBeforeToolBarDock
. Nilai default CDockingManager::m_nTimeOutBeforeToolBarDock
adalah 200. Perilaku ini menimulasi perilaku docking Microsoft Word 2007.
Untuk status docking tertunda (CS_DELAY_DOCK
dan CS_DELAY_DOCK_TO_TAB
), kerangka kerja tidak melakukan docking hingga pengguna merilis tombol mouse. Jika panel menggunakan mode docking DT_STANDARD
, kerangka kerja menampilkan persegi panjang di lokasi docking yang diproyeksikan. Jika panel menggunakan mode docking DT_SMART
, kerangka kerja menampilkan penanda docking pintar dan persegi panjang semi transparan di lokasi docking yang diproyeksikan. Untuk menentukan mode docking untuk panel Anda, panggil metode CBasePane::SetDockingMode
. Untuk informasi selengkapnya tentang docking pintar, lihat CDockingManager::GetSmartDockingParams
.
CDockablePane::GetDragSensitivity
Mengembalikan sensitivitas seret panel docking.
static const CSize& GetDragSensitivity();
Mengembalikan Nilai
Objek CSize
yang berisi lebar dan tinggi, dalam piksel, persegi panjang yang dipusatkan pada titik seret. Operasi seret tidak dimulai sampai penunjuk mouse bergerak di luar persegi panjang ini.
CDockablePane::GetLastPercentInPaneContainer
Mengambil persentase ruang yang diduduki panel dalam kontainernya ( CPaneContainer
Class).
int GetLastPercentInPaneContainer() const;
Mengembalikan Nilai
int
yang menentukan persentase ruang yang diduduki panel dalam kontainernya.
Komentar
Metode ini digunakan ketika kontainer menyesuaikan tata letaknya.
CDockablePane::GetTabArea
Mengambil area tab untuk panel.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Parameter
rectTabAreaTop
[in] GetTabArea
mengisi variabel ini dengan area tab jika tab terletak di bagian atas panel. Jika tab terletak di bagian bawah panel, variabel ini diisi dengan persegi panjang kosong.
rectTabAreaBottom
[in] GetTabArea
mengisi variabel ini dengan area tab jika tab terletak di bagian bawah panel. Jika tab terletak di bagian atas panel, variabel ini diisi dengan persegi panjang kosong.
Komentar
Metode ini hanya digunakan di kelas yang berasal dari CDockablePane
dan memiliki tab. Untuk informasi selengkapnya, lihat CTabbedPane::GetTabArea
dan CMFCOutlookBar::GetTabArea
.
CDockablePane::GetTabbedPaneRTC
Mengembalikan informasi kelas runtime tentang jendela bertab yang dibuat saat panel lain menambah ke panel saat ini.
CRuntimeClass* GetTabbedPaneRTC() const;
Mengembalikan Nilai
Informasi kelas runtime untuk panel yang dapat ditambat.
Komentar
Panggil metode ini untuk mengambil informasi kelas runtime untuk panel bertab yang dibuat secara dinamis. Ini dapat terjadi ketika pengguna menyeret satu panel ke keterangan panel lain, atau jika Anda memanggil metode CDockablePane::AttachToTabWnd
untuk membuat panel bertab secara terprogram dari dua panel yang dapat di-dok.
Anda dapat mengatur informasi kelas runtime dengan memanggil metode CDockablePane::SetTabbedPaneRTC
.
CDockablePane::HasAutoHideMode
Menentukan apakah panel docking dapat dialihkan ke mode autohide.
virtual BOOL HasAutoHideMode() const;
Mengembalikan Nilai
TRUE
jika panel dockable dapat dialihkan ke mode autohide; jika tidak, FALSE
.
Komentar
Ambil alih metode ini dalam kelas turunan untuk menonaktifkan mode autohide untuk panel dockable tertentu.
CDockablePane::HitTest
Menentukan lokasi di panel tempat pengguna mengklik mouse.
virtual int HitTest(
CPoint point,
BOOL bDetectCaption = FALSE);
Parameter
point
[di] Menentukan titik untuk diuji.
bDetectCaption
[in] TRUE
jika HTCAPTION
harus dikembalikan jika titik berada di keterangan panel; jika tidak, FALSE
.
Mengembalikan Nilai
Salah satu nilai berikut:
HTNOWHERE
jikapoint
tidak berada di panel yang dapat ditampung.HTCLIENT
jikapoint
berada di area klien panel yang dapat ditampung.HTCAPTION
jikapoint
berada di area keterangan panel yang dapat di-dok.AFX_HTCLOSE
jikapoint
berada di tombol tutup.HTMAXBUTTON
jikapoint
ada di tombol sematkan.
CDockablePane::IsAutohideAllEnabled
Menunjukkan apakah panel docking dan semua panel lain dalam kontainer dapat dialihkan ke mode autohide.
virtual BOOL IsAutohideAllEnabled() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat ditambatkan, dan semua panel lain dalam kontainer, dapat dialihkan ke mode autohide; jika tidak, FALSE
.
Komentar
Pengguna mengaktifkan mode autohide dengan mengklik tombol sematkan docking sambil menahan tombol Ctrl
Untuk mengaktifkan atau menonaktifkan perilaku ini, panggil metode CDockablePane::EnableAutohideAll
.
CDockablePane::IsAutoHideMode
Menentukan apakah panel dalam mode autohide.
virtual BOOL IsAutoHideMode() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat ditambat berada dalam mode autohide; jika tidak, FALSE
.
CDockablePane::IsDocked
Menentukan apakah panel saat ini ditampung.
virtual BOOL IsDocked() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat ditampung bukan milik jendela miniframe atau jika mengambang di jendela miniframe dengan panel lain.
FALSE
jika panel adalah anak dari jendela miniframe dan tidak ada panel lain yang termasuk dalam jendela miniframe.
Komentar
Untuk menentukan apakah panel ditambatkan ke jendela bingkai utama, panggil CDockablePane::GetDefaultPaneDivider
. Jika metode mengembalikan penunjuk non-NULL
, panel ditambatkan di jendela bingkai utama.
CDockablePane::IsHideInAutoHideMode
Menentukan perilaku panel yang berada dalam mode autohide jika ditampilkan (atau disembunyikan) dengan memanggil CDockablePane::ShowPane
.
virtual BOOL IsHideInAutoHideMode() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat ditambat harus disembunyikan saat dalam mode autohide; jika tidak, FALSE
.
Komentar
Saat panel yang dapat ditambat berada dalam mode autohide, panel tersebut bersifat berbeda saat Anda memanggil ShowPane
untuk menyembunyikan atau menampilkan panel. Perilaku ini dikendalikan oleh anggota statis CDockablePane::m_bHideInAutoHideMode
. Jika anggota ini TRUE
, panel yang dapat ditambat dan toolbar autohide terkait atau tombol autohide disembunyikan atau ditampilkan saat Anda memanggil ShowPane
. Jika tidak, panel yang dapat ditambatkan diaktifkan atau dinonaktifkan, dan toolbar autohide atau tombol autohide terkait selalu terlihat.
Ambil alih metode ini di kelas turunan untuk mengubah perilaku default untuk masing-masing panel.
Nilai default untuk m_bHideInAutoHideMode
adalah FALSE
.
CDockablePane::IsInFloatingMultiPaneFrameWnd
Menentukan apakah panel berada di jendela bingkai multi-panel ( CMultiPaneFrameWnd Class
).
virtual BOOL IsInFloatingMultiPaneFrameWnd() const;
Mengembalikan Nilai
TRUE
jika panel berada di jendela bingkai multi-panel; jika tidak, FALSE
.
Komentar
CDockablePane::IsResizable
Menentukan apakah panel dapat diubah bentuknya.
virtual BOOL IsResizable() const;
Mengembalikan Nilai
TRUE
jika panel dapat diubah ukurannya; jika tidak, FALSE
.
Komentar
Secara default, panel yang dapat di-dok dapat diubah ukurannya. Untuk mencegah perubahan ukuran, ambil alih metode ini di kelas turunan dan kembalikan FALSE
. Perhatikan bahwa nilai FALSE
mengarah ke ASSERT
yang gagal di CPane::DockPane
. Gunakan CDockingManager::AddPane
sebagai gantinya untuk menambungkan panel dalam bingkai induk.
Panel yang tidak dapat diubah ukurannya tidak dapat mengambang atau memasuki mode sembunyikan otomatis dan selalu terletak di tepi luar bingkai induk.
CDockablePane::IsTabLocationBottom
Menentukan apakah tab terletak di bagian atas atau bawah panel.
virtual BOOL IsTabLocationBottom() const;
Mengembalikan Nilai
TRUE
jika tab terletak di bagian bawah panel; FALSE
jika tab terletak di bagian atas panel.
Komentar
Untuk informasi selengkapnya, lihat CTabbedPane::IsTabLocationBottom
.
CDockablePane::IsTracked
Menentukan apakah panel sedang dipindahkan oleh pengguna.
BOOL IsTracked() const;
Mengembalikan Nilai
TRUE
jika panel sedang dipindahkan; jika tidak, FALSE
.
CDockablePane::IsVisible
Menentukan apakah panel saat ini terlihat.
virtual BOOL IsVisible() const;
Mengembalikan Nilai
TRUE
jika panel yang dapat di-dok terlihat; jika tidak, FALSE
.
Komentar
Panggil metode ini untuk menentukan apakah panel yang dapat di-dock terlihat. Anda dapat menggunakan metode ini alih-alih memanggil CWnd::IsWindowVisible
atau menguji gaya WS_VISIBLE
. Status visibilitas yang dikembalikan tergantung pada apakah mode autohide diaktifkan atau dinonaktifkan dan pada nilai properti CDockablePane::IsHideInAutoHideMode
.
Jika panel yang dapat ditambat dalam mode autohide dan IsHideInAutoHideMode
mengembalikan FALSE
status visibilitas selalu FALSE
.
Jika panel yang dapat ditambat berada dalam mode autohide dan IsHideInAutoHideMode
mengembalikan TRUE
status visibilitas tergantung pada status visibilitas toolbar autohide terkait.
Jika panel yang dapat ditambatkan tidak dalam mode autohide, status visibilitas ditentukan oleh metode CBasePane::IsVisible
.
##
CDockablePane::LoadState
Hanya untuk penggunaan internal. Untuk detail selengkapnya, lihat kode sumber yang terletak di folder mfc
penginstalan Visual Studio Anda. Misalnya, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc
.
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
int nIndex = -1,
UINT uiID = (UINT) -1
);
CDockablePane::m_bDisableAnimation
Menentukan apakah animasi autohide panel yang dapat di-dock dinonaktifkan.
AFX_IMPORT_DATA static BOOL m_bDisableAnimation;
CDockablePane::m_bHideInAutoHideMode
Menentukan perilaku panel saat panel berada dalam mode autohide.
AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;
Komentar
Nilai ini memengaruhi semua panel docking dalam aplikasi.
Jika Anda mengatur anggota ini ke TRUE
, panel yang dapat ditambat disembunyikan atau ditampilkan dengan toolbar dan tombol autohide terkait saat Anda memanggil CDockablePane::ShowPane
.
Jika Anda mengatur anggota ini ke FALSE
, panel yang dapat di-dock diaktifkan atau dinonaktifkan saat Anda memanggil CDockablePane::ShowPane
.
CDockablePane::m_nSlideSteps
Menentukan kecepatan animasi panel saat berada dalam mode autohide.
AFX_IMPORT_DATA static int m_nSlideSteps;
Komentar
Untuk efek animasi yang lebih cepat, kurangi nilai ini. Untuk efek animasi yang lebih lambat, tingkatkan nilai ini.
CDockablePane::OnAfterChangeParent
Untuk detail selengkapnya, lihat kode sumber yang terletak di folder mfc
penginstalan Visual Studio Anda. Misalnya, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc
.
virtual void OnAfterChangeParent(CWnd* pWndOldParent);
Parameter
[in] pWndOldParent
Komentar
CDockablePane::OnAfterDockFromMiniFrame
Dipanggil oleh kerangka kerja ketika bilah dok mengambang berlabuh di jendela bingkai.
virtual void OnAfterDockFromMiniFrame();
Komentar
Secara default, metode ini tidak melakukan apa pun.
CDockablePane::OnBeforeChangeParent
Kerangka kerja memanggil metode ini sebelum mengubah induk panel.
virtual void OnBeforeChangeParent(
CWnd* pWndNewParent,
BOOL bDelay = FALSE);
Parameter
pWndNewParent
[di] Penunjuk ke jendela induk baru.
bDelay
[di] BOOL yang menentukan apakah akan menunda perhitungan ulang tata letak docking jika panel dilepas. Untuk informasi selengkapnya, lihat CDockablePane::UndockPane
.
Komentar
Jika panel ditampung dan induk baru tidak memperbolehkan docking, metode ini akan melepas tautkan panel.
Jika panel sedang dikonversi ke dokumen bertab, metode ini menyimpan posisi docking terbarunya. Kerangka kerja menggunakan posisi docking terbaru untuk memulihkan posisi panel saat dikonversi kembali ke status ditambatkan.
CDockablePane::OnBeforeFloat
Kerangka kerja memanggil metode ini sebelum panel beralih ke status mengambang.
virtual BOOL OnBeforeFloat(
CRect& rectFloat,
AFX_DOCK_METHOD dockMethod);
Parameter
rectFloat
[di] Menentukan posisi dan ukuran panel saat berada dalam status mengambang.
dockMethod
[di] Menentukan metode docking. Lihat CPane::DockPane
untuk daftar nilai yang mungkin.
Mengembalikan Nilai
TRUE
jika panel dapat diambang; jika tidak, FALSE
.
Komentar
Metode ini dipanggil oleh kerangka kerja ketika panel akan mengambang. Anda dapat mengambil alih metode ini di kelas turunan jika Anda ingin melakukan pemrosesan apa pun sebelum panel mengambang.
CDockablePane::OnPressButtons
Dipanggil saat pengguna menekan tombol keterangan selain tombol AFX_HTCLOSE
dan AFX_HTMAXBUTTON
.
virtual void OnPressButtons(UINT nHit);
Parameter
nHit
[di] Parameter ini tidak digunakan.
Komentar
Jika Anda menambahkan tombol kustom ke keterangan panel yang dapat ditambatkan, ambil alih metode ini untuk menerima pemberitahuan saat pengguna menekan tombol .
CDockablePane::OnSlide
Dipanggil oleh kerangka kerja untuk menganimasikan panel saat berada dalam mode autohide.
virtual void OnSlide(BOOL bSlideOut);
Parameter
bSlideOut
[di] TRUE
untuk menampilkan panel; FALSE
untuk menyembunyikan panel.
Komentar
Ambil alih metode ini dalam kelas turunan untuk mengimplementasikan efek autohide kustom.
CDockablePane::RemoveFromDefaultPaneDividier
Kerangka kerja memanggil metode ini saat panel dilepas.
void RemoveFromDefaultPaneDividier();
Komentar
Metode ini mengatur pembagi panel default ke NULL
dan menghapus panel dari kontainernya.
CDockablePane::ReplacePane
Mengganti panel dengan panel tertentu.
BOOL ReplacePane(
CDockablePane* pBarToReplaceWith,
AFX_DOCK_METHOD dockMethod,
BOOL bRegisterWithFrame = FALSE);
Parameter
pBarToReplaceWith
[di] Penunjuk ke panel yang dapat di-dok.
dockMethod
[di] Tidak digunakan.
bRegisterWithFrame
[di] Jika TRUE
, panel baru terdaftar di manajer docking induk panel lama. Panel baru disisipkan di indeks panel lama dalam daftar panel yang dikelola oleh manajer docking.
Mengembalikan Nilai
TRUE
jika penggantian berhasil; jika tidak, FALSE
.
CDockablePane::RestoreDefaultPaneDivider
Saat panel dideserialisasi, kerangka kerja memanggil metode ini untuk memulihkan pembagi panel default.
void RestoreDefaultPaneDivider();
Komentar
Pembagi panel default yang dipulihkan menggantikan pembagi panel default saat ini, jika ada.
CDockablePane::SetAutoHideMode
Beralih ke panel docking antara mode terlihat dan muncul otomatis.
virtual CMFCAutoHideBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
Parameter
bMode
[in] TRUE
untuk mengaktifkan mode autohide; FALSE
untuk mengaktifkan mode docking reguler.
dwAlignment
[di] Menentukan perataan panel autohide untuk dibuat.
pCurrAutoHideBar
[masuk, keluar] Penunjuk ke toolbar autohide saat ini. Bisa NULL
.
bUseTimer
[di] Menentukan apakah akan menggunakan efek autohide saat pengguna mengalihkan panel ke mode autohide atau untuk segera menyembunyikan panel.
Mengembalikan Nilai
Toolbar autohide yang dibuat sebagai hasil dari beralih ke mode autohide, atau NULL
.
Komentar
Kerangka kerja memanggil metode ini ketika pengguna mengklik tombol sematkan untuk mengalihkan panel yang dapat ditambatkan ke mode autohide atau ke mode docking biasa.
Panggil metode ini untuk mengalihkan panel yang dapat di-dok ke mode autohide secara terprogram. Panel harus ditambatkan ke jendela bingkai utama (CDockablePane::GetDefaultPaneDivider
harus mengembalikan penunjuk yang valid ke CPaneDivider
).
CDockablePane::SetAutoHideParents
Mengatur tombol sembunyikan otomatis dan sembunyikan bilah alat otomatis untuk panel.
void SetAutoHideParents(
CMFCAutoHideBar* pToolBar,
CMFCAutoHideButton* pBtn);
Parameter
pToolBar
[di] Penunjuk ke bilah alat sembunyikan otomatis.
pBtn
[di] Penunjuk ke tombol sembunyikan otomatis.
CDockablePane::SetLastPercentInPaneContainer
Mengatur persentase ruang yang diduduki panel dalam kontainernya.
void SetLastPercentInPaneContainer(int n);
Parameter
n
[di] int
yang menentukan persentase ruang yang diduduki panel dalam kontainernya.
Komentar
Kerangka kerja menyesuaikan panel untuk menggunakan nilai baru saat tata letak dihitung ulang.
CDockablePane::SetRestoredDefaultPaneDivider
Mengatur pembagi panel default yang dipulihkan.
void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);
Parameter
hRestoredSlider
[di] Handel ke pembagi panel (penggelis).
Komentar
Pembagi panel default yang dipulihkan diperoleh saat panel dideserialisasi. Untuk informasi selengkapnya, lihat CDockablePane::RestoreDefaultPaneDivider
.
CDockablePane::SetTabbedPaneRTC
Mengatur informasi kelas runtime untuk jendela bertab yang dibuat saat dua panel ditambatkan bersama-sama.
void SetTabbedPaneRTC(CRuntimeClass* pRTC);
Parameter
pRTC
[di] Informasi kelas runtime untuk panel bertab.
Komentar
Panggil metode ini untuk mengatur informasi kelas runtime untuk panel bertab yang dibuat secara dinamis. Ini dapat terjadi ketika pengguna menyeret satu panel ke keterangan panel lain, atau jika Anda memanggil metode CDockablePane::AttachToTabWnd
untuk membuat panel bertab secara terprogram dari dua panel yang dapat di-dok.
Kelas runtime default diatur sesuai dengan parameter dwTabbedStyle
CDockablePane::Create
dan CDockablePane::CreateEx
. Untuk mengkustomisasi panel bertab baru, dapatkan kelas Anda dari salah satu kelas berikut:
Kelas
Kelas
CMFCOutlookBar
Kelas .
Kemudian, panggil metode ini dengan pointer ke informasi kelas runtime-nya.
CDockablePane::ShowPane
Memperlihatkan atau menyembunyikan panel.
virtual void ShowPane(
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Parameter
bShow
[di] TRUE
untuk menampilkan panel; FALSE
untuk menyembunyikan panel.
bDelay
[in] TRUE
menunda penyesuaian tata letak docking; FALSE
untuk segera menyesuaikan tata letak docking.
bActivate
[in] TRUE
untuk mengaktifkan panel saat ditampilkan; jika tidak, FALSE
.
Komentar
Panggil metode ini alih-alih CWnd::ShowWindow
saat menampilkan atau menyembunyikan panel yang dapat ditampung.
CDockablePane::Slide
Menganimasikan panel yang berada dalam mode autohide.
virtual void Slide(
BOOL bSlideOut,
BOOL bUseTimer = TRUE);
Parameter
bSlideOut
[di] TRUE
untuk menampilkan panel; FALSE
untuk menyembunyikan panel.
bUseTimer
[in] TRUE
untuk menampilkan atau menyembunyikan panel dengan efek autohide; FALSE
untuk segera memperlihatkan atau menyembunyikan panel.
Komentar
Kerangka kerja memanggil metode ini untuk menganimasikan panel yang berada dalam mode autohide.
Metode ini menggunakan nilai CDockablePane::m_nSlideDefaultTimeOut
untuk menentukan waktu habis untuk efek slide. Nilai default untuk waktu habis adalah 1. Jika Anda menyesuaikan algoritma autohide, ubah anggota ini untuk mengubah waktu habis.
CDockablePane::ToggleAutoHide
Mengalihkan panel antara mode selalu terlihat dan sembunyikan otomatis.
virtual void ToggleAutoHide();
Komentar
Metode ini mengalihkan mode sembunyikan otomatis untuk panel dengan memanggil CDockablePane::SetAutoHideMode
.
CDockablePane::UndockPane
Batalkan penambahan panel dari jendela bingkai utama atau kontainer jendela miniframe.
virtual void UndockPane(BOOL bDelay = FALSE);
Parameter
bDelay
[in] TRUE
untuk menunda pengkalkulasian tata letak docking; FALSE
untuk segera menghitung ulang tata letak docking.
Komentar
Panggil metode ini untuk membatalkan penambahan panel dari jendela bingkai utama atau dari kontainer jendela multi-miniframe (panel yang mengambang dalam satu jendela miniframe dengan panel lain).
Anda harus membatalkan tautkan panel sebelum melakukan operasi eksternal apa pun yang tidak dilakukan oleh CDockingManager
. Misalnya, Anda harus membatalkan dock panel untuk memindahkannya secara terprogram dari satu lokasi ke lokasi lain.
Kerangka kerja secara otomatis membatalkan penambahan panel sebelum dihancurkan.
Lihat juga
Bagan Hierarki
Kelas