Bagikan melalui


CMDIFrameWndEx kelas

Memperluas fungsionalitas CMDIFrameWnd, jendela bingkai Windows Multiple Document Interface (MDI).

Sintaks

class CMDIFrameWndEx : public CMDIFrameWnd

Anggota

Metode Publik

Nama Deskripsi
CMDIFrameWndEx::ActiveItemRecalcLayout Menghitung ulang tata letak item aktif.
CMDIFrameWndEx::AddDockSite Metode ini tidak digunakan.
CMDIFrameWndEx::AddPane Mendaftarkan panel dengan manajer docking.
CMDIFrameWndEx::AdjustClientArea Mengurangi area klien untuk mengizinkan batas.
CMDIFrameWndEx::AdjustDockingLayout Menghitung ulang tata letak semua panel yang ditampung.
CMDIFrameWndEx::AreMDITabs Menentukan apakah fitur Tab MDI atau fitur Grup Tab MDI diaktifkan.
CMDIFrameWndEx::CanConvertControlBarToMDIChild Dipanggil oleh kerangka kerja untuk menentukan apakah jendela bingkai dapat mengonversi panel docking menjadi dokumen bertab.
CMDIFrameWndEx::ControlBarToTabbedDocument Mengonversi panel docking yang ditentukan menjadi dokumen bertab.
CMDIFrameWndEx::CreateDocumentWindow Membuat jendela dokumen anak.
CMDIFrameWndEx::CreateNewWindow Dipanggil oleh kerangka kerja untuk membuat jendela baru.
CMDIFrameWndEx::CreateObject Digunakan oleh kerangka kerja untuk membuat instans dinamis dari jenis kelas ini.
CMDIFrameWndEx::DockPane Menambak panel yang ditentukan ke jendela bingkai.
CMDIFrameWndEx::DockPaneLeftOf Menamamkan satu panel di sebelah kiri panel lain.
CMDIFrameWndEx::EnableAutoHidePanes Mengaktifkan mode sembunyikan otomatis untuk panel saat ditambatkan di sisi tertentu dari jendela bingkai utama.
CMDIFrameWndEx::EnableDocking Mengaktifkan docking panel yang termasuk dalam jendela bingkai MDI.
CMDIFrameWndEx::EnableFullScreenMainMenu Menampilkan atau menyembunyikan menu utama dalam mode layar penuh.
CMDIFrameWndEx::EnableFullScreenMode Mengaktifkan mode layar penuh untuk jendela bingkai.
CMDIFrameWndEx::EnableLoadDockState Mengaktifkan atau menonaktifkan pemuatan status docking.
CMDIFrameWndEx::EnableMDITabbedGroups Mengaktifkan atau menonaktifkan fitur Grup Tab MDI.
CMDIFrameWndEx::EnableMDITabs Mengaktifkan atau menonaktifkan fitur Tab MDI. Saat diaktifkan, jendela bingkai menampilkan tab untuk setiap jendela anak MDI.
CMDIFrameWndEx::EnableMDITabsLastActiveActivation Menentukan apakah tab aktif terakhir harus diaktifkan ketika pengguna menutup tab saat ini.
CMDIFrameWndEx::EnablePaneMenu Mengaktifkan atau menonaktifkan pembuatan dan pengelolaan otomatis menu panel pop-up, yang menampilkan daftar panel aplikasi.
CMDIFrameWndEx::EnableWindowsDialog Menyisipkan item menu yang ID perintahnya memanggil CMFCWindowsManagerDialog kotak dialog.
CMDIFrameWndEx::GetActivePopup Mengembalikan penunjuk ke menu popup yang saat ini ditampilkan.
CMDIFrameWndEx::GetPane Mengembalikan penunjuk ke panel yang memiliki ID kontrol yang ditentukan.
CMDIFrameWndEx::GetDefaultResId Mengembalikan ID sumber daya bersama dari jendela bingkai MDI.
CMDIFrameWndEx::GetMDITabGroups Mengembalikan daftar jendela bertab MDI.
CMDIFrameWndEx::GetMDITabs Mengembalikan referensi ke jendela bertab bergaris bawah.
CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems Mengembalikan kombinasi bendera yang menentukan item menu konteks apa yang valid saat fitur Grup Bertab MDI diaktifkan.
CMDIFrameWndEx::GetMenuBar Mengembalikan penunjuk ke objek bilah menu yang dilampirkan ke jendela bingkai.
CMDIFrameWndEx::GetRibbonBar Mengambil kontrol bilah pita untuk bingkai.
CMDIFrameWndEx::GetTearOffBars Mengembalikan daftar CPaneobjek -turunan yang dalam keadaan robek.
CMDIFrameWndEx::GetThisClass Dipanggil oleh kerangka kerja untuk mendapatkan penunjuk ke CRuntimeClass objek yang terkait dengan jenis kelas ini.
CMDIFrameWndEx::GetToolbarButtonToolTipText Dipanggil oleh kerangka kerja ketika aplikasi menampilkan tipsalat untuk tombol toolbar.
CMDIFrameWndEx::InsertPane Mendaftarkan panel yang ditentukan dengan manajer docking.
CMDIFrameWndEx::IsFullScreen Menentukan apakah jendela bingkai dalam mode layar penuh.
CMDIFrameWndEx::IsMDITabbedGroup Menentukan apakah fitur Grup Tab MDI diaktifkan.
CMDIFrameWndEx::IsMemberOfMDITabGroup Menentukan apakah jendela bertab yang ditentukan ada dalam daftar jendela yang ada di Grup Tab MDI.
CMDIFrameWndEx::IsMenuBarAvailable Menentukan apakah jendela bingkai memiliki bilah menu.
CMDIFrameWndEx::IsPointNearDockSite Menentukan apakah titik yang ditentukan berada di dekat situs dok.
CMDIFrameWndEx::IsPrintPreview Menentukan apakah jendela bingkai dalam mode pratinjau cetak.
CMDIFrameWndEx::LoadFrame Membuat jendela bingkai dari informasi sumber daya. (Mengambil alih CMDIFrameWnd::LoadFrame.)
CMDIFrameWndEx::LoadMDIState Memuat tata letak Grup Tab MDI yang ditentukan dan daftar dokumen yang dibuka sebelumnya.
CMDIFrameWndEx::MDITabMoveToNextGroup Memindahkan tab aktif dari jendela bertab yang saat ini aktif ke grup bertab berikutnya atau sebelumnya.
CMDIFrameWndEx::MDITabNewGroup Membuat grup bertab baru yang memiliki satu jendela.
CMDIFrameWndEx::NegotiateBorderSpace Menegosiasikan ruang batas dalam jendela bingkai selama aktivasi OLE di tempat.
CMDIFrameWndEx::OnCloseDockingPane Dipanggil oleh kerangka kerja saat pengguna mengklik tombol Tutup pada panel yang dapat ditambatkan.
CMDIFrameWndEx::OnCloseMiniFrame Dipanggil oleh kerangka kerja ketika pengguna mengklik tombol Tutup pada jendela bingkai mini mengambang.
CMDIFrameWndEx::OnClosePopupMenu Dipanggil oleh kerangka kerja saat menu pop-up aktif memproses WM_DESTROY pesan.
CMDIFrameWndEx::OnCmdMsg Dipanggil oleh kerangka kerja untuk merutekan dan mengirimkan pesan perintah dan untuk memperbarui objek antarmuka pengguna perintah.
CMDIFrameWndEx::OnDrawMenuImage Dipanggil oleh kerangka kerja saat gambar yang terkait dengan item menu digambar.
CMDIFrameWndEx::OnDrawMenuLogo Dipanggil oleh kerangka kerja saat CMFCPopupMenumemproses WM_PAINT pesan.
CMDIFrameWndEx::OnEraseMDIClientBackground Dipanggil oleh kerangka kerja ketika jendela bingkai MDI memproses pesan WM_ERASEBKGND .
CMDIFrameWndEx::OnMenuButtonToolHitTest Dipanggil oleh kerangka kerja saat CMFCToolBarButtonobjek memproses pesan WM_NCHITTEST .
CMDIFrameWndEx::OnMoveMiniFrame Dipanggil oleh kerangka kerja untuk memindahkan jendela bingkai mini.
CMDIFrameWndEx::OnSetPreviewMode Mengatur mode pratinjau cetak jendela bingkai utama aplikasi. (Mengambil alih CFrameWnd::OnSetPreviewMode.)
CMDIFrameWndEx::OnShowCustomizePane Dipanggil oleh kerangka kerja saat panel Kustomisasi Cepat diaktifkan.
CMDIFrameWndEx::OnShowMDITabContextMenu Dipanggil oleh kerangka kerja saat menu konteks harus ditampilkan di salah satu tab. (Hanya berlaku untuk Grup Bertab MDI.)
CMDIFrameWndEx::OnShowPanes Dipanggil oleh kerangka kerja untuk memperlihatkan atau menyembunyikan panel.
CMDIFrameWndEx::OnShowPopupMenu Dipanggil oleh kerangka kerja saat menu pop-up diaktifkan.
CMDIFrameWndEx::OnSizeMDIClient Dipanggil oleh kerangka kerja ketika ukuran jendela MDI klien berubah.
CMDIFrameWndEx::OnTearOffMenu Dipanggil oleh kerangka kerja saat menu yang memiliki bilah robek diaktifkan.
CMDIFrameWndEx::OnUpdateFrameMenu Dipanggil oleh kerangka kerja untuk memperbarui menu bingkai. (Mengambil alih CMDIFrameWnd::OnUpdateFrameMenu.)
CMDIFrameWndEx::PaneFromPoint Mengembalikan panel docking yang berisi titik yang ditentukan.
CMDIFrameWndEx::PreTranslateMessage Digunakan oleh kelas CWinApp untuk menerjemahkan pesan jendela sebelum dikirim ke TranslateMessage fungsi Windows dan DispatchMessage . (Mengambil alih CMDIFrameWnd::PreTranslateMessage.)
CMDIFrameWndEx::RecalcLayout Dipanggil oleh kerangka kerja untuk menghitung ulang tata letak jendela bingkai. (Mengambil alih CFrameWnd::RecalcLayout.)
CMDIFrameWndEx::RemovePaneFromDockManager Membatalkan pendaftaran panel dan menghapusnya dari manajer docking.
CMDIFrameWndEx::SaveMDIState Menyimpan tata letak Grup Tab MDI saat ini dan daftar dokumen yang dibuka sebelumnya.
CMDIFrameWndEx::SetPrintPreviewFrame Mengatur jendela bingkai pratinjau cetak.
CMDIFrameWndEx::SetupToolbarMenu Memodifikasi objek toolbar dengan mencari item dummy dan menggantinya dengan item yang ditentukan pengguna yang ditentukan.
CMDIFrameWndEx::ShowFullScreen Mengalihkan bingkai utama dari mode reguler ke mode layar penuh.
CMDIFrameWndEx::ShowPane Memperlihatkan atau menyembunyikan panel yang ditentukan.
CMDIFrameWndEx::ShowWindowsDialog CMFCWindowsManagerDialog Membuat kotak dan membukanya.
CMDIFrameWndEx::TabbedDocumentToControlBar Mengonversi dokumen bertab yang ditentukan menjadi panel docking.
CMDIFrameWndEx::UpdateCaption Dipanggil oleh kerangka kerja untuk memperbarui keterangan bingkai jendela.
CMDIFrameWndEx::UpdateMDITabbedBarsIcons Mengatur ikon untuk setiap panel bertab MDI.
CMDIFrameWndEx::WinHelp Dipanggil oleh kerangka kerja untuk memulai aplikasi WinHelp atau bantuan konteks. (Mengambil alih CWnd::WinHelp.)

Anggota data

Nama Deskripsi
CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild Menentukan apakah panel docking dapat dikonversi ke jendela anak MDI.
CMDIFrameWndEx::m_bDisableSetRedraw Mengaktifkan atau menonaktifkan pengoptimalan penggalian ulang untuk jendela anak MDI.

Keterangan

Untuk memanfaatkan fitur penyesuaian yang diperluas dalam aplikasi MDI Anda, dapatkan kelas jendela bingkai MDI aplikasi dari CMDIFrameWndEx bukan CMDIFrameWnd.

Contoh

Contoh berikut memperoleh kelas dari CMDIFrameWndEx. Cuplikan kode ini berasal dari Sampel DrawClient: Aplikasi Gambar Objek OLE Berbasis Pita MFC.

class CMainFrame : public CMDIFrameWndEx
{
   DECLARE_DYNAMIC(CMainFrame)
public:
   struct XStyle
   {
      COLORREF clrFill;
      COLORREF clrLine;
   };

public:
   CMainFrame();

   // Attributes
public:
   CMFCRibbonBar *GetRibbonBar() { return &m_wndRibbonBar; }

   // Operations
public:
   void UpdateUI(CDrawView *pCurrView);
   void UpdateContextTab(CDrawView *pCurrView);
   void UpdateContextTabFromObject(CDrawObjList &list);

   COLORREF GetColorFromColorButton(int nButtonID);
   int GetWeightFromLineWeight(int nButtonID);
   BOOL GetStyleFromStyles(XStyle &style);

   void SetRibbonContextCategory(UINT uiCategoryID);
   void ActivateRibbonContextCategory(UINT uiCategoryID);

   // Implementation
public:
   virtual ~CMainFrame();
#ifdef _DEBUG
   virtual void AssertValid() const;
   virtual void Dump(CDumpContext &dc) const;
#endif

protected:
   // control bar embedded members
   CMFCRibbonStatusBar m_wndStatusBar;
   CMFCRibbonBar m_wndRibbonBar;

   CMFCRibbonApplicationButton m_MainButton;

   // panel images
   CMFCToolBarImages m_PanelImages;

   // Document colors for demo:
   CList<COLORREF, COLORREF> m_lstMainColors;
   CList<COLORREF, COLORREF> m_lstAdditionalColors;
   CList<COLORREF, COLORREF> m_lstStandardColors;

   // Generated message map functions
protected:
   //{{AFX_MSG(CMainFrame)
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   afx_msg void OnAppLook(UINT id);
   afx_msg void OnUpdateAppLook(CCmdUI *pCmdUI);
   afx_msg void OnWindowManager();
   afx_msg void OnMdiMoveToNextGroup();
   afx_msg void OnMdiMoveToPrevGroup();
   afx_msg void OnMdiNewHorzTabGroup();
   afx_msg void OnMdiNewVertGroup();
   afx_msg void OnMdiCancel();
   afx_msg LRESULT OnRibbonCustomize(WPARAM wp, LPARAM lp);
   afx_msg LRESULT OnHighlightRibbonListItem(WPARAM wp, LPARAM lp);
   afx_msg void OnToolsOptions();
   afx_msg void OnDummy();
   afx_msg void OnSysColorChange();
   //}}AFX_MSG

   DECLARE_MESSAGE_MAP()

   virtual BOOL OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop);
   virtual BOOL OnShowPopupMenu(CMFCPopupMenu *pMenuPopup);

   void ShowOptions(int nPage);
   void CreateDocumentColors();

private:
   BOOL CreateRibbonBar();
   BOOL CreateStatusBar();

   void InitMainButton();
   void InitHomeCategory();
   void InitViewCategory();
   void InitTabButtons();

   void AddContextTab_Format();

   void AdjustObjectSubmenu(CMFCPopupMenu *pMenuPopup);
   void UpdateStatusBarCountPane(int nID, CString strText, int nCount);

   UINT m_nAppLook;
};

Hierarki Warisan

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

CMDIFrameWndEx

Persyaratan

Header: afxMDIFrameWndEx.h

CMDIFrameWndEx::ActiveItemRecalcLayout

Menghitung ulang tata letak item aktif.

void ActiveItemRecalcLayout();

CMDIFrameWndEx::AddPane

Mendaftarkan panel dengan manajer docking.

BOOL AddPane(
    CBasePane* pControlBar,
    BOOL bTail=TRUE);

Parameter

pControlBar
[di] Penunjuk ke panel untuk mendaftar.

bTail
[di] Menentukan apakah akan menambahkan panel ini ke akhir daftar.

Nilai hasil

Mengembalikan nilai bukan nol jika panel berhasil didaftarkan. Mengembalikan 0 jika panel sudah terdaftar dengan manajer docking.

Keterangan

Setiap panel harus didaftarkan dengan CDockingManager kelas sebelum dapat mengambil bagian dalam tata letak docking. Gunakan metode ini untuk memberi tahu manajer docking bahwa Anda ingin menamam panel tertentu. Setelah panel tersebut didaftarkan, manajer docking menyelaraskannya berdasarkan pengaturan dan posisi perataannya dalam daftar panel yang dikelola oleh manajer docking.

CMDIFrameWndEx::AdjustClientArea

Mengurangi area klien untuk mengizinkan batas.

virtual void AdjustClientArea();

CMDIFrameWndEx::AdjustDockingLayout

Menghitung ulang tata letak semua panel yang ditampung.

virtual void AdjustDockingLayout(HDWP hdwp=NULL);

Parameter

hdwp
[di] Mengidentifikasi struktur beberapa posisi jendela. Anda dapat memperoleh nilai ini dengan memanggil BeginDeferWindowPos.

Keterangan

Panggil fungsi anggota ini untuk menghitung ulang tata letak semua panel yang ditambatkan ke jendela bingkai.

CMDIFrameWndEx::AreMDITabs

Menentukan apakah fitur tab MDI atau fitur grup bertab MDI diaktifkan.

BOOL AreMDITabs(int* pnMDITabsType=NULL) const;

Parameter

pnMDITabsType
[out] Penunjuk ke variabel bilangan bulat yang menunjukkan fitur mana yang diaktifkan:

  • 0: Semua fitur dinonaktifkan.
  • 1: Tab MDI diaktifkan.
  • 2: Grup bertab MDI diaktifkan.

Nilai hasil

Mengembalikan TRUE jika tab MDI atau grup bertab MDI diaktifkan.

Mengembalikan FALSE jika tidak ada fitur di atas yang diaktifkan.

Keterangan

Gunakan fungsi ini untuk menentukan apakah tab MDI atau grup tab MDI diaktifkan untuk jendela bingkai. Gunakan CMDIFrameWndEx::EnableMDITabs untuk mengaktifkan atau menonaktifkan fitur tab MDI.

Gunakan CMDIFrameWndEx::EnableMDITabbedGroups untuk mengaktifkan atau menonaktifkan fitur grup bertab MDI.

CMDIFrameWndEx::CanConvertControlBarToMDIChild

Dipanggil oleh kerangka kerja untuk menentukan apakah jendela bingkai dapat mengonversi panel docking menjadi dokumen bertab

virtual BOOL CanConvertControlBarToMDIChild();

Tampilkan Nilai

Mengembalikan TRUE jika jendela bingkai dapat mengonversi panel docking menjadi dokumen bertab; jika tidak, mengembalikan FALSE.

Keterangan

Ambil alih metode ini di kelas turunan dan kembali TRUE untuk mengaktifkan konversi panel docking ke dokumen bertab. Atau, Anda dapat mengatur CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild ke TRUE.

CMDIFrameWndEx::ControlBarToTabbedDocument

Mengonversi panel docking yang ditentukan menjadi dokumen bertab.

virtual CMDIChildWndEx* ControlBarToTabbedDocument(CDockablePane* pBar);

Parameter

pBar
Penunjuk ke panel docking untuk dikonversi.

Tampilkan Nilai

Mengembalikan penunjuk ke jendela anak MDI baru yang berisi panel docking.

Keterangan

Metode ini mengonversi panel docking menjadi dokumen bertab. Saat Anda memanggil metode ini, kerangka kerja membuat CMDIChildWndEx objek kelas , menghapus panel docking dari manajer docking, dan menambahkan panel docking ke jendela anak MDI baru. Jendela anak MDI mengubah ukuran panel docking untuk mencakup seluruh area klien

CMDIFrameWndEx::CreateDocumentWindow

Membuat jendela dokumen anak.

virtual CMDIChildWndEx* CreateDocumentWindow(
    LPCTSTR lpcszDocName,
    CObject* pObj);

Parameter

lpcszDocName
[di] String teks yang berisi pengidentifikasi dokumen. Biasanya, ini adalah jalur lengkap file dokumen.

pObj
[di] Penunjuk ke objek yang ditentukan pengguna. Misalnya, pengembang dapat membuat struktur data khusus aplikasi yang menjelaskan dokumen dan memberi tahu bagaimana dokumen harus diinisialisasi saat startup.

Nilai hasil

Pointer ke CMDIChildWndEx.

Keterangan

Kerangka kerja memanggil metode ini ketika memuat daftar dokumen yang sebelumnya disimpan dalam registri.

Ambil alih metode ini untuk membuat dokumen saat dimuat dari registri.

Contoh

Contoh berikut menunjukkan cara CreateDocumentWindow digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

Dalam contoh ini, g_strStartViewName bisa menjadi nama "dokumen virtual" (misalnya, "Halaman Mulai") yang tidak dimuat dari file disk. Oleh karena itu kita perlu pemrosesan khusus untuk menangani kasus itu.

CMainFrame::CMainFrame()
{
   CMFCPopupMenu::SetForceShadow(TRUE);
   m_bCanConvertControlBarToMDIChild = TRUE;
}

CMDIFrameWndEx::CreateNewWindow

Dipanggil oleh kerangka kerja untuk membuat jendela baru.

virtual CMDIChildWndEx* CreateNewWindow(
    LPCTSTR lpcszDocName,
    CObject* pObj);

Parameter

lpcszDocName
[di] Nama dokumen.

pObj
[in] Disiapkan untuk penggunaan di masa mendatang.

Nilai hasil

Penunjuk ke jendela baru.

CMDIFrameWndEx::DockPane

Menambak panel yang ditentukan ke jendela bingkai.

void DockPane(
    CBasePane* pBar,
    UINT nDockBarID=0,
    LPCRECT lpRect=NULL);

Parameter

pBar
[di] Arahkan ke panel untuk menambungkan.

nDockBarID
[di] Menentukan sisi jendela bingkai mana yang akan ditambat.

lpRect
[in] Tidak digunakan.

Keterangan

Metode ini menambungkan panel yang ditentukan ke salah satu sisi jendela bingkai yang ditentukan saat CBasePane::EnableDocking dan CMDIFrameWndEx::EnableDocking dipanggil.

Contoh

Contoh berikut menunjukkan penggunaan DockPane metode . Cuplikan kode ini berasal dari Sampel VisualStudioDemo: Aplikasi MFC Visual Studio.

DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_wndPropertiesBar);

DockPane(&m_wndToolbarBuild);

CMDIFrameWndEx::DockPaneLeftOf

Menamamkan satu panel di sebelah kiri panel lain.

BOOL DockPaneLeftOf(
    CPane* pBar,
    CPane* pLeftOf);

Parameter

pBar
[di] Penunjuk ke panel docking.

pLeftOf
[di] Penunjuk ke panel yang berfungsi sebagai situs dock.

Nilai hasil

Mengembalikan TRUE jika operasi berhasil. Jika tidak, mengembalikan FALSE.

Keterangan

Panggil metode ini untuk menambatkan beberapa objek panel dalam urutan yang telah ditentukan sebelumnya. Metode ini menambungkan panel yang ditentukan oleh pBar di sebelah kiri panel yang ditentukan oleh pLeftOf.

Contoh

Contoh berikut menunjukkan bagaimana DockPaneLeftOf metode digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

DockPane(&m_wndToolbarBuild);
DockPaneLeftOf(&m_wndToolbarEdit, &m_wndToolbarBuild);

CMDIFrameWndEx::EnableAutoHidePanes

Mengaktifkan mode sembunyikan otomatis untuk panel saat ditambatkan di sisi yang ditentukan dari jendela bingkai utama.

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parameter

dwDockStyle
[di] Menentukan sisi jendela bingkai utama yang akan diaktifkan. Gunakan satu atau beberapa bendera berikut.

  • CBRS_ALIGN_LEFT
  • CBRS_ALIGN_RIGHT
  • CBRS_ALIGN_TOP
  • CBRS_ALIGN_BOTTOM

Nilai hasil

Panggil fungsi ini untuk mengaktifkan mode sembunyikan otomatis untuk panel saat ditambatkan di sisi yang ditentukan dari jendela bingkai utama.

Contoh

Contoh berikut menunjukkan bagaimana EnableAutoHidePanes metode digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

EnableAutoHidePanes(CBRS_ALIGN_ANY);

Keterangan

CMDIFrameWndEx::EnableDocking

Mengaktifkan docking panel yang termasuk dalam jendela bingkai MDI.

BOOL EnableDocking(DWORD dwDockStyle);

Parameter

dwDockStyle
[di] Menentukan gaya docking yang ingin Anda terapkan.

Nilai hasil

Keterangan

Panggil fungsi ini untuk mengaktifkan docking panel yang termasuk dalam CMDIFrameWndEx objek.

Contoh

Contoh berikut menunjukkan bagaimana EnableDocking metode digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

EnableDocking(CBRS_ALIGN_ANY);

CMDIFrameWndEx::EnableFullScreenMainMenu

Menampilkan atau menyembunyikan menu utama dalam mode layar penuh.

void EnableFullScreenMainMenu(BOOL bEnableMenu);

Parameter

bEnableMenu
[di] TRUE untuk menampilkan menu utama dalam mode layar penuh, atau FALSE untuk menyembunyikannya.

Keterangan

CMDIFrameWndEx::EnableFullScreenMode

Mengaktifkan mode layar penuh untuk jendela bingkai.

void EnableFullScreenMode(UINT uiFullScreenCmd);

Parameter

uiFullScreenCmd
[di] ID perintah yang mengaktifkan atau menonaktifkan mode layar penuh.

Keterangan

Dalam mode layar penuh, semua bilah kontrol docking, toolbar, dan menu disembunyikan dan tampilan aktif diubah ukurannya untuk menempati layar penuh. Saat mengaktifkan mode layar penuh, Anda harus menentukan ID perintah yang mengaktifkan atau menonaktifkannya. Anda dapat memanggil EnableFullScreenMode dari fungsi bingkai OnCreate utama. Saat jendela bingkai dialihkan ke mode layar penuh, kerangka kerja membuat toolbar mengambang dengan satu tombol yang memiliki ID perintah yang ditentukan. Jika Anda ingin menyimpan menu utama di layar, panggil CMDIFrameWndEx::EnableFullScreenMainMenu.

CMDIFrameWndEx::EnableLoadDockState

Mengaktifkan atau menonaktifkan pemuatan status docking.

void EnableLoadDockState(BOOL bEnable = TRUE);

Parameter

bEnable
[di] TRUE untuk mengaktifkan pemuatan status docking, FALSE untuk menonaktifkan pemuatan status docking.

Keterangan

CMDIFrameWndEx::EnableMDITabbedGroups

Mengaktifkan atau menonaktifkan fitur grup bertab MDI untuk jendela bingkai.

void EnableMDITabbedGroups(
    BOOL bEnable,
    const CMDITabInfo& params);

Parameter

bEnable
[di] Jika TRUE, fitur grup bertab MDI diaktifkan; jika FALSE, fitur grup bertab MDI dinonaktifkan.

params
[di] Menentukan parameter yang diterapkan kerangka kerja untuk jendela anak yang dibuat di area klien MDI.

Keterangan

Gunakan metode ini untuk mengaktifkan atau menonaktifkan fitur grup bertab MDI. Fitur ini memungkinkan aplikasi MDI untuk menampilkan jendela anak sebagai jendela bertab yang selaras secara vertikal atau horizontal dalam area klien MDI. Grup jendela bertab dipisahkan oleh pemisah. Pengguna dapat mengubah ukuran grup bertab dengan menggunakan pemisah.

Pengguna dapat:

  • Seret tab individual antar grup.
  • Seret tab individual ke tepi jendela untuk membuat grup baru.
  • Pindahkan tab atau buat grup baru dengan menggunakan menu pintasan.
  • Aplikasi Anda dapat menyimpan tata letak jendela bertab saat ini dan daftar dokumen yang saat ini dibuka.

Jika Anda memanggil metode ini dengan bEnable diatur ke FALSE, params diabaikan.

Bahkan jika grup bertab MDI sudah diaktifkan, Anda dapat memanggil metode ini lagi untuk mengubah pengaturan untuk jendela anak. Panggil metode dengan bEnable diatur ke TRUE dan ubah anggota CMDITabInfo objek yang ditentukan oleh params parameter .

Untuk informasi selengkapnya tentang cara menggunakan grup bertab MDI, lihat Grup Tab MDI.

Contoh

Contoh berikut menunjukkan cara EnableMDITabbedGroups digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

CMDITabInfo mdiTabParams;
mdiTabParams.m_bTabCustomTooltips = TRUE;

if (bMDITabsVS2005Look)
{
   mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_VS2005;
   mdiTabParams.m_bDocumentMenu = TRUE;
}
else if (bOneNoteTabs)
{
   mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE;
   mdiTabParams.m_bAutoColor = bMDITabColors;
}

if (bActiveTabCloseButton)
{
   mdiTabParams.m_bTabCloseButton = FALSE;
   mdiTabParams.m_bActiveTabCloseButton = TRUE;
}

EnableMDITabbedGroups(TRUE, mdiTabParams);

CMDIFrameWndEx::EnableMDITabs

Mengaktifkan atau menonaktifkan fitur Tab MDI untuk jendela bingkai MDI. Saat diaktifkan, jendela bingkai menampilkan tab untuk setiap jendela anak MDI.

void EnableMDITabs(
    BOOL bEnable=TRUE,
    BOOL bIcons=TRUE,
    CMFCTabCtrl::Location tabLocation=CMFCTabCtrl::LOCATION_BOTTOM,
    BOOL bTabCloseButton=FALSE,
    CMFCTabCtrl::Style style=CMFCTabCtrl::STYLE_3D_SCROLLED,
    BOOL bTabCustomTooltips=FALSE,
    BOOL bActiveTabCloseButton=FALSE);

Parameter

bEnable
Menentukan apakah tab diaktifkan.

bIcons
Menentukan apakah ikon harus ditampilkan pada tab.

tabLocation
Menentukan lokasi label tab.

bTabCloseButton
Menentukan apakah akan menampilkan tombol tutup tab.

style
Menentukan gaya tab. Gunakan STYLE_3D_SCROLLED untuk tab reguler atau STYLE_3D_ONENOTE untuk tab Microsoft OneNote.

bTabCustomTooltips
Menentukan apakah tipsalat kustom diaktifkan.

bActiveTabCloseButton
Jika TRUE, tombol Tutup akan ditampilkan pada tab aktif alih-alih di sudut kanan area tab.

Keterangan

Panggil metode ini untuk mengaktifkan atau menonaktifkan fitur tab MDI untuk jendela bingkai MDI. Saat diaktifkan, semua jendela anak ditampilkan sebagai tab.

Label tab dapat terletak di bagian atas atau bawah bingkai, tergantung pada pengaturan parameter tabLocation. Anda dapat menentukan ( CMFCTabCtrl::LOCATION_BOTTOM pengaturan default) atau CMFCTabCtrl::LOCATION_TOP.

Jika bTabCustomTooltips adalah TRUE, pesan AFX_WM_ON_GET_TAB_TOOLTIP akan dikirim ke jendela bingkai utama. Kode Anda dapat menangani pesan ini dan menyediakan kerangka kerja dengan tipsalat kustom untuk tab MDI.

Contoh

Contoh berikut menunjukkan cara EnableMDITabs digunakan dalam Sampel MDITabsDemo: Aplikasi MDI Bertab MFC.

void CMainFrame::UpdateMDITabs(BOOL bResetMDIChild)
{
   CMDITabInfo params;
   HWND hwndActive = NULL;

   switch (theApp.m_Options.m_nMDITabsType)
   {
   case CMDITabOptions::None:
   {
      BOOL bCascadeMDIChild = FALSE;

      if (IsMDITabbedGroup())
      {
         EnableMDITabbedGroups(FALSE, params);
         bCascadeMDIChild = TRUE;
      }
      else if (AreMDITabs())
      {
         EnableMDITabs(FALSE);
         bCascadeMDIChild = TRUE;
      }

      if (bCascadeMDIChild)
      {
         // CMDIClientAreaWnd m_wndClientArea
         hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
         m_wndClientArea.PostMessage(WM_MDICASCADE);
         m_wndClientArea.UpdateTabs(false);
         m_wndClientArea.SetActiveTab(hwndActive);
         ::BringWindowToTop(hwndActive);
      }
   }
   break;

   case CMDITabOptions::MDITabsStandard:
      hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
      m_wndClientArea.PostMessage(WM_MDIMAXIMIZE, LPARAM(hwndActive), 0L);
      ::BringWindowToTop(hwndActive);

      EnableMDITabs(TRUE, theApp.m_Options.m_bMDITabsIcons, theApp.m_Options.m_bTabsOnTop ? CMFCTabCtrl::LOCATION_TOP : CMFCTabCtrl::LOCATION_BOTTOM, theApp.m_Options.m_nTabsStyle);

      GetMDITabs().EnableAutoColor(theApp.m_Options.m_bTabsAutoColor);
      GetMDITabs().EnableTabDocumentsMenu(theApp.m_Options.m_bMDITabsDocMenu);
      GetMDITabs().EnableTabSwap(theApp.m_Options.m_bDragMDITabs);
      GetMDITabs().SetTabBorderSize(theApp.m_Options.m_nMDITabsBorderSize);
      GetMDITabs().SetFlatFrame(theApp.m_Options.m_bFlatFrame);
      GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
      GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
      GetMDITabs().EnableActiveTabCloseButton(theApp.m_Options.m_bActiveTabCloseButton);
      break;

CMDIFrameWndEx::EnableMDITabsLastActiveActivation

Menentukan apakah tab aktif terakhir harus dibuka saat pengguna menutup tab saat ini.

void EnableMDITabsLastActiveActivation(BOOL bLastActiveTab=TRUE);

Parameter

bLastActiveTab
[di] Jika TRUE, aktifkan aktivasi tab aktif terakhir. Jika FALSE, nonaktifkan aktivasi tab aktif terakhir.

Keterangan

Ada dua cara untuk membuka tab saat tab aktif ditutup:

  • Aktifkan tab berikutnya.
  • Aktifkan tab yang sebelumnya aktif.

Implementasi default menggunakan cara pertama.

Gunakan EnableMDITabsLastActiveActivation untuk mengaktifkan cara kedua aktivasi tab. Ini menimulasi cara Windows membuka jendela anak MDI.

CMDIFrameWndEx::EnablePaneMenu

Mengaktifkan atau menonaktifkan pembuatan dan pengelolaan otomatis menu panel pop-up, yang menampilkan daftar panel aplikasi.

void EnablePaneMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeLabel,
    UINT uiViewToolbarsMenuEntryID,
    BOOL bContextMenuShowsToolbarsOnly=FALSE,
    BOOL bViewMenuShowsToolbarsOnly=FALSE);

Parameter

bEnable
[di] Jika TRUE, penanganan otomatis menu panel diaktifkan; jika FALSE, penanganan otomatis dinonaktifkan.

uiCustomizeCmd
[di] ID Perintah item menu Kustomisasi . Item menu ini biasanya ditambahkan ke akhir daftar panel.

strCustomizeLabel
[di] Teks yang akan ditampilkan untuk item menu Kustomisasi (untuk pelokalan).

uiViewToolbarsMenuEntryID
[di] Menentukan ID item menu toolbar yang membuka menu panel. Biasanya ini adalah submenu Toolbar dari menu Tampilan .

bContextMenuShowsToolbarsOnly
[di] Jika TRUE, menu panel hanya menampilkan daftar toolbar. Jika FALSE, menu menampilkan daftar bilah alat dan bilah dok.

bViewMenuShowsToolbarsOnly
[di] Jika TRUE, menu panel hanya menampilkan daftar toolbar. Jika FALSE, menu menampilkan daftar bilah alat dan bilah dok.

Keterangan

Menu panel pop-up menampilkan daftar panel aplikasi dan memungkinkan pengguna memperlihatkan atau menyembunyikan panel individual.

Contoh

Contoh berikut menunjukkan cara EnablePaneMenu digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

// Enable pane context menu(list of bars + customize command):
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, _T("Customize..."), ID_VIEW_TOOLBARS, FALSE, TRUE);

CMDIFrameWndEx::EnableWindowsDialog

Menyisipkan item menu yang ID perintahnya memanggil CMFCWindowsManagerDialog kotak dialog.

void EnableWindowsDialog(
    UINT uiMenuId,
    LPCTSTR lpszMenuText,
    BOOL bShowAllways=FALSE,
    BOOL bShowHelpButton=FALSE);

void EnableWindowsDialog(
    UINT uiMenuId,
    UINT uiMenuTextResId,
    BOOL bShowAllways=FALSE,
    BOOL bShowHelpButton=FALSE);

Parameter

uiMenuId
[di] Menentukan ID sumber daya menu.

lpszMenuText
[di] Menentukan teks item.

bShowHelpButton
[di] Menentukan apakah akan menampilkan tombol Bantuan pada kotak dialog manajemen windows.

uiMenuTextResId
[di] Pengidentifikasi sumber daya string yang berisi string teks item.

Keterangan

Gunakan metode ini untuk menyisipkan item menu yang perintahnya memanggil kotak dialog manajemen jendela anak MDI ( CMFCWindowsManagerDialog kelas). Item baru disisipkan ke dalam menu yang ditentukan oleh uiMenuId. Hubungi EnableWindowsDialog saat Anda memproses WM_CREATE pesan.

Contoh

Contoh berikut menunjukkan cara EnableWindowsDialog digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

// Enable windows manager:
EnableWindowsDialog(ID_WINDOW_MANAGER, _T("Windows..."), TRUE);

CMDIFrameWndEx::GetActivePopup

Mengembalikan penunjuk ke menu popup yang saat ini ditampilkan.

CMFCPopupMenu* GetActivePopup() const;

Nilai hasil

Penunjuk ke menu popup aktif; NULL jika tidak ada menu popup yang aktif.

Keterangan

Gunakan fungsi ini untuk mendapatkan penunjuk ke CMFCPopupMenu objek kelas yang saat ini ditampilkan.

CMDIFrameWndEx::GetDefaultResId

Mengembalikan ID sumber daya bersama dari jendela bingkai MDI.

UINT GetDefaultResId() const;

Nilai hasil

Nilai ID sumber daya. 0 jika jendela bingkai tidak memiliki bilah menu.

Keterangan

Metode ini mengembalikan ID sumber daya yang ditentukan ketika jendela bingkai MDI dimuat oleh CFrameWnd::LoadFrame.

CMDIFrameWndEx::GetMDITabGroups

Mengembalikan daftar jendela bertab MDI.

const CObList& GetMDITabGroups() const;

Nilai hasil

Referensi ke CObList objek kelas yang berisi daftar jendela bertab. Jangan simpan atau ubah daftar.

Keterangan

Gunakan metode ini untuk mengakses daftar jendela bertab. Ini bisa membantu jika Anda ingin mengubah atau mengkueri beberapa parameter jendela bertab individual.

CMDIFrameWndEx::GetMDITabs

Mengembalikan referensi ke jendela bertab bergaris bawah.

CMFCTabCtrl& GetMDITabs();

Nilai hasil

Referensi ke jendela bertab bergaris bawah.

CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems

Mengembalikan kombinasi bendera yang menentukan operasi apa yang valid saat fitur Grup Tab MDI diaktifkan.

DWORD GetMDITabsContextMenuAllowedItems();

Nilai hasil

Kombinasi bitwise "atau" (|) dari bendera berikut:

  • AFX_MDI_CREATE_VERT_GROUP - dapat membuat grup tab vertikal.
  • AFX_MDI_CREATE_HORZ_GROUP - dapat membuat grup tab horizontal.
  • AFX_MDI_CAN_MOVE_PREV - dapat memindahkan tab ke grup tab sebelumnya.
  • AFX_MDI_CAN_MOVE_NEXT - dapat memindahkan tab ke grup tab berikutnya.

Keterangan

Saat fitur Grup Tab MDI diaktifkan, Anda harus mengetahui operasi apa yang diizinkan pada tab jendela tertentu. Metode ini menganalisis tata letak jendela bertab saat ini dan mengembalikan kombinasi bendera yang dapat digunakan untuk membangun, misalnya, menu pintasan.

Anda dapat membuat grup tab vertikal baru saat semua jendela bertab diratakan secara vertikal, atau saat hanya ada satu jendela bertab.

Anda dapat membuat grup tab horizontal baru saat semua jendela bertab diratakan secara horizontal, atau saat hanya ada satu jendela bertab.

Anda dapat memindahkan tab ke grup sebelumnya hanya jika ada lebih dari satu tab di jendela bertab.

Anda dapat memindahkan tab ke grup berikutnya hanya jika ada lebih dari satu tab di jendela bertab.

CMDIFrameWndEx::GetMenuBar

Mengembalikan penunjuk ke objek bilah menu yang dilampirkan ke jendela bingkai.

const CMFCMenuBar* GetMenuBar() const;

Nilai hasil

Penunjuk ke objek bilah menu.

CMDIFrameWndEx::GetPane

Mengembalikan penunjuk ke panel yang memiliki ID kontrol yang ditentukan.

CBasePane* GetPane(UINT nID);

Parameter

nID
[di] ID kontrol.

Nilai hasil

Penunjuk ke panel yang memiliki ID kontrol yang ditentukan, jika ada. Sebaliknya, NULL.

CMDIFrameWndEx::GetRibbonBar

Mengambil kontrol bilah pita untuk bingkai.

CMFCRibbonBar* GetRibbonBar();

Nilai hasil

Penunjuk ke CMFCRibbonBar kelas untuk bingkai.

Keterangan

CMDIFrameWndEx::GetTearOffBars

Mengembalikan daftar menu yang dirobek.

const CObList& GetTearOffBars() const;

Nilai hasil

Referensi ke CObList objek kelas yang berisi kumpulan pointer ke CPaneobjek -turunan yang dalam keadaan robek.

Keterangan

CMDIFrameWndEx mempertahankan koleksi menu air mata. Gunakan metode ini untuk mengambil referensi ke daftar ini.

CMDIFrameWndEx::GetToolbarButtonToolTipText

Dipanggil oleh kerangka kerja ketika aplikasi menampilkan tipsalat untuk tombol toolbar.

virtual BOOL GetToolbarButtonToolTipText(
    CMFCToolBarButton* pButton,
    CString& strTTText);

Parameter

pButton
[di] Penunjuk ke tombol toolbar.

strTTText
[di] Teks tipsalat yang ditampilkan untuk tombol .

Nilai hasil

TRUE jika tipsalat telah ditampilkan. FALSE sebaiknya.

Keterangan

CMDIFrameWndEx::InsertPane

Mendaftarkan panel yang ditentukan dengan manajer docking.

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter=TRUE);

Parameter

pControlBar
[di] Penunjuk ke panel yang akan disisipkan.

pTarget
[di] Penunjuk ke panel sebelum atau sesudahnya untuk menyisipkan panel.

bAfter
[di] Jika TRUE, pControlBar disisipkan setelah pTarget. Jika FALSE, pControlBar disisipkan sebelum pTarget.

Nilai hasil

TRUE jika metode berhasil mendaftarkan panel, FALSE jika panel sudah terdaftar di manajer docking.

Keterangan

Gunakan metode ini untuk memberi tahu manajer docking tentang panel yang ditentukan oleh pControlBar. Manajer docking akan menyelaraskan panel ini sesuai dengan perataan dan posisi panel di daftar internal manajer docking.

CMDIFrameWndEx::IsFullScreen

Menentukan apakah jendela bingkai dalam mode layar penuh.

BOOL IsFullScreen() const;

Nilai hasil

TRUE jika jendela bingkai dalam mode layar penuh; jika tidak FALSE.

Keterangan

Anda dapat mengatur mode layar penuh dengan memanggil CMDIFrameWndEx::EnableFullScreenMode metode .

CMDIFrameWndEx::IsMDITabbedGroup

Menentukan apakah fitur Grup Tab MDI diaktifkan.

BOOL IsMDITabbedGroup() const;

Nilai hasil

TRUE jika fitur Grup Tab MDI diaktifkan; jika tidak FALSE.

Keterangan

Untuk menentukan apakah tab MDI reguler atau fitur Grup Tab MDI diaktifkan, gunakan CMDIFrameWndEx::AreMDITabs.

CMDIFrameWndEx::IsMemberOfMDITabGroup

Menentukan apakah jendela bertab yang ditentukan ada dalam daftar jendela yang ada di Grup Tab MDI.

BOOL IsMemberOfMDITabGroup(CWnd* pWnd);

Parameter

pWnd
[di] Penunjuk ke jendela bertab.

Nilai hasil

TRUE jika jendela bertab yang ditentukan ada dalam daftar jendela bertab yang membentuk Grup Tab MDI. Jika tidak FALSE, .

CMDIFrameWndEx::IsMenuBarAvailable

Menentukan apakah jendela bingkai memiliki bilah menu.

BOOL IsMenuBarAvailable() const;

Nilai hasil

TRUE jika penunjuk ke objek bilah menu tidak NULL; jika tidak FALSE.

CMDIFrameWndEx::IsPointNearDockSite

Menentukan apakah titik yang ditentukan berada di dekat situs dok.

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Parameter

point
[di] Titik yang ditentukan dalam koordinat layar.

dwBarAlignment
[di] Menentukan tepi mana yang titiknya dekat. Nilai yang mungkin adalah CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP, dan CBRS_ALIGN_BOTTOM

bOuterEdge
[di] TRUE jika titik berada di dekat batas luar situs dok; FALSE Sebaliknya.

Nilai hasil

TRUE jika titik berada di dekat situs dermaga; jika tidak FALSE.

Keterangan

Titik berada di dekat situs dok ketika berada dalam sensitivitas yang ditetapkan di manajer docking. Sensitivitas default adalah 15 piksel.

CMDIFrameWndEx::IsPrintPreview

Menentukan apakah jendela bingkai dalam mode pratinjau cetak.

BOOL IsPrintPreview();

Nilai hasil

TRUE jika jendela bingkai dalam mode pratinjau cetak; jika tidak, FALSE.

Keterangan

CMDIFrameWndEx::LoadFrame

Membuat jendela bingkai dari informasi sumber daya.

virtual BOOL LoadFrame(
    UINT nIDResource,
    DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
    CWnd* pParentWnd = NULL,
    CCreateContext* pContext = NULL);

Parameter

nIDResource
[di] ID sumber daya bersama yang terkait dengan jendela bingkai.

dwDefaultStyle
[di] Gaya jendela bingkai.

pParentWnd
[di] Penunjuk ke induk bingkai.

pContext
[di] Penunjuk ke CCreateContext Struktur. Parameter ini dapat berupa NULL.

Nilai hasil

TRUE jika metode berhasil, jika tidak FALSE.

CMDIFrameWndEx::LoadMDIState

Memuat tata letak Grup Tab MDI yang ditentukan dan daftar dokumen yang dibuka sebelumnya.

virtual BOOL LoadMDIState(LPCTSTR lpszProfileName);

Parameter

lpszProfileName
[di] Menentukan nama profil.

Nilai hasil

TRUE jika beban berhasil; FALSE jika pemuatan gagal atau tidak ada data yang akan dimuat.

Keterangan

Untuk memuat atau menyimpan status tab dan grup MDI dan daftar dokumen yang dibuka, lakukan hal berikut:

  • Panggil CMDIFrameWndEx::SaveMDIState saat bingkai utama sedang ditutup
  • Panggil CMDIFrameWndEx::LoadMDIState saat bingkai utama sedang dibuat. Tempat yang direkomendasikan untuk panggilan ini adalah sebelum bingkai utama ditampilkan untuk pertama kalinya. Tambahkan CWinAppEx::EnableLoadWindowPlacement (FALSE); sebelum pMainFrame->LoadFrame (IDR_MAINFRAME);. Tambahkan CWinAppEx::ReloadWindowPlacement (pMainFrame); setelah panggilan ke untuk LoadMDIState menampilkan bingkai utama pada posisi yang disimpan di registri.
  • Ambil alih GetDocumentName di CMDIChildWndExkelas - turunan jika aplikasi Anda menampilkan dokumen yang tidak disimpan sebagai file. String yang dikembalikan akan disimpan dalam registri sebagai pengidentifikasi dokumen. Implementasi CMDIChildWndEx::GetDocumentName dasar mengembalikan nilai yang diperoleh dari CDocument::GetPathName.
  • Ambil alih CMDIFrameWndEx::CreateDocumentWindow untuk membuat dokumen dengan benar saat dimuat dari registri. Parameter pertama adalah string yang GetDocumentName dikembalikan.

Contoh

Contoh berikut menunjukkan cara LoadMDIState digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
{
   if (!pMainFrame->LoadMDIState(GetRegSectionPath()))
   {
      m_pStartDocTemplate->OpenDocumentFile(NULL);
   }
}
else
{
   // Dispatch commands specified on the command line
   if (!ProcessShellCommand(cmdInfo))
   {
      return FALSE;
   }
}

CMDIFrameWndEx::MDITabMoveToNextGroup

Memindahkan tab aktif dari jendela bertab yang saat ini aktif ke grup bertab berikutnya atau sebelumnya.

void MDITabMoveToNextGroup(BOOL bNext=TRUE);

Parameter

bNext
[di] Jika TRUE, pindahkan tab ke grup bertab berikutnya. Jika FALSE, pindahkan ke grup bertab sebelumnya.

CMDIFrameWndEx::MDITabNewGroup

Membuat grup bertab baru yang memiliki satu jendela.

void MDITabNewGroup(BOOL bVert=TRUE);

Parameter

bVert
[di] Menentukan perataan grup baru. Jika TRUE, grup baru diratakan secara vertikal. Jika FALSE, grup baru diratakan secara horizontal.

Keterangan

Gunakan fungsi ini untuk membuat jendela bertab baru (grup bertab baru) dan tambahkan tab pertama ke dalamnya.

Contoh

Contoh berikut menunjukkan cara MDITabNewGroup digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

void CMainFrame::OnMdiNewHorzTabGroup()
{
   MDITabNewGroup(FALSE);
}

CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild

Menentukan apakah panel docking dapat dikonversi ke jendela anak MDI.

BOOL m_bCanConvertControlBarToMDIChild;

Keterangan

Menunjukkan apakah bilah kontrol docking dapat dikonversi ke jendela anak MDI. Jika bendera ini adalah TRUE, kerangka kerja menangani konversi secara otomatis saat pengguna memilih perintah Dokumen Bertab. Bendera dilindungi dan Anda harus secara eksplisit mengaktifkan opsi ini baik dengan mengatur m_bCanConvertControlBarToMDIChild di konstruktor kelas -turunan CMDIFrameWndEx, atau dengan mengambil alih CanConvertControlBarToMDIChild.

Nilai defaultnya adalah FALSE.

Contoh

Contoh berikut menunjukkan cara m_bCanConvertControlBarToMDIChild digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

CMainFrame::CMainFrame()
{
   CMFCPopupMenu::SetForceShadow(TRUE);
   m_bCanConvertControlBarToMDIChild = TRUE;
}

CMDIFrameWndEx::m_bDisableSetRedraw

Mengaktifkan atau menonaktifkan pengoptimalan penggalian ulang untuk jendela anak MDI.

AFX_IMPORT_DATA static BOOL m_bDisableSetRedraw;

Keterangan

Nilai defaultnya adalah TRUE.

Atur bendera ini ke FALSE jika Anda ingin mengoptimalkan penggalian ulang anak MDI. Dalam hal ini, kerangka kerja akan memanggil SetRedraw (FALSE) bingkai utama ketika aplikasi mengubah tab aktif.

Bendera ini dapat menyebabkan efek yang tidak diinginkan (seperti aplikasi latar belakang yang menjadi terlihat). Oleh karena itu, kami sarankan Anda mengubah default hanya jika Anda mengalami kedinginan yang terlihat selama aktivasi tab MDI.

CMDIFrameWndEx::NegotiateBorderSpace

Menegosiasikan ruang batas dalam jendela bingkai selama aktivasi OLE di tempat.

virtual BOOL NegotiateBorderSpace(
    UINT nBorderCmd,
    LPRECT lpRectBorder);

Parameter

nBorderCmd
[di] Berisi salah satu nilai berikut dari enum CFrameWnd::BorderCmd:

  • borderGet = 1
  • borderRequest = 2
  • borderSet = 3

lpRectBorder
[masuk, keluar] Penunjuk ke RECT struktur atau CRect objek kelas yang menentukan koordinat batas.

Nilai hasil

Bukan nol jika metode berhasil; jika tidak, 0.

Keterangan

Metode ini adalah implementasi dari negosiasi ruang perbatasan OLE.

CMDIFrameWndEx::OnCloseDockingPane

Dipanggil oleh kerangka kerja saat pengguna mengklik tombol Tutup pada panel yang dapat ditambatkan.

virtual BOOL OnCloseDockingPane(CDockablePane* pWnd);

Parameter

pWnd
[di] Penunjuk ke panel sedang ditutup.

Nilai hasil

TRUE jika panel docking dapat ditutup. Sebaliknya, FALSE.

Keterangan

Ambil alih metode ini untuk menangani persembunyian panel docking. Kembalikan FALSE jika Anda ingin mencegah panel docking disembunyikan.

Implementasi default tidak melakukan apa pun dan mengembalikan TRUE.

CMDIFrameWndEx::OnCloseMiniFrame

Dipanggil oleh kerangka kerja ketika pengguna mengklik tombol Tutup pada jendela bingkai mini mengambang.

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parameter

pWnd
[di] Penunjuk ke jendela bingkai mini sedang ditutup.

Nilai hasil

TRUE jika jendela bingkai mini mengambang dapat ditutup. Sebaliknya, FALSE.

Keterangan

Ambil alih metode ini untuk menangani persembunyian jendela bingkai-mini mengambang. Kembalikan FALSE jika Anda ingin mencegah jendela bingkai mini mengambang disembunyikan.

Implementasi default tidak melakukan apa pun dan mengembalikan TRUE.

CMDIFrameWndEx::OnClosePopupMenu

Dipanggil oleh kerangka kerja saat menu pop-up aktif memproses WM_DESTROY pesan.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parameter

pMenuPopup
[di] Penunjuk ke menu pop-up.

Keterangan

Ambil alih metode ini jika Anda ingin memproses pemberitahuan dari CMFCPopupMenu objek kelas milik jendela bingkai MDI saat objek tersebut memproses WM_DESTROY pesan.

CMDIFrameWndEx::OnCmdMsg

Dipanggil oleh kerangka kerja untuk merutekan dan mengirimkan pesan perintah dan untuk memperbarui objek antarmuka pengguna perintah.

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parameter

nID
[di] ID perintah.

nCode
[di] Mengidentifikasi kode pemberitahuan perintah. Untuk informasi selengkapnya tentang nilai untuk nCode, lihat CCmdTarget::OnCmdMsg.

pExtra
[di] Digunakan sesuai dengan nilai nCode. Untuk informasi selengkapnya tentang pExtra, lihat CCmdTarget::OnCmdMsg.

pHandlerInfo
[masuk, keluar] Biasanya, parameter ini harus NULL. Jika tidak NULL, OnCmdMsg mengisi pTarget anggota pHandlerInfo struktur dan pmf alih-alih mengirimkan perintah.

Nilai hasil

Bukan nol jika pesan ditangani; jika tidak, 0.

CMDIFrameWndEx::OnDrawMenuImage

Dipanggil oleh kerangka kerja saat gambar yang terkait dengan item menu digambar.

virtual BOOL OnDrawMenuImage(
    CDC* pDC,
    const CMFCToolBarMenuButton* pMenuButton,
    const CRect& rectImage);

Parameter

pDC
[di] Penunjuk ke konteks perangkat.

pMenuButton
[di] Penunjuk ke tombol menu.

rectImage
[di] Persegi panjang pembatas gambar.

Nilai hasil

TRUE jika metode menggambar gambar. Implementasi default mengembalikan FALSE.

Keterangan

Ambil alih metode ini jika Anda ingin menyesuaikan penyajian gambar untuk item menu milik bilah menu yang dimiliki oleh CMDIFrameWndExobjek -turunan. Implementasi default tidak melakukan apa pun.

Dipanggil oleh kerangka kerja saat CMFCPopupMenumemproses WM_PAINT pesan.

virtual void OnDrawMenuLogo(
    CDC*,
    CMFCPopupMenu*,
    const CRect&);

Keterangan

Ambil alih fungsi ini untuk menampilkan logo pada menu pop-up milik bilah menu yang dimiliki oleh CMDIFrameWndExobjek -turunan. Implementasi default tidak melakukan apa pun.

CMDIFrameWndEx::OnEraseMDIClientBackground

Dipanggil oleh kerangka kerja ketika jendela bingkai MDI memproses pesan WM_ERASEBKGND .

virtual BOOL OnEraseMDIClientBackground(CDC*);

Nilai hasil

TRUE jika aplikasi memproses pesan dan menghapus latar belakang.

Keterangan

Ambil alih fungsi anggota ini jika Anda ingin memproses WM_ERASEBKGND pesan di CMDIFrameWndExkelas -turunan.

CMDIFrameWndEx::OnMenuButtonToolHitTest

Dipanggil oleh kerangka kerja saat CMFCToolBarButtonobjek memproses pesan WM_NCHITTEST .

virtual BOOL OnMenuButtonToolHitTest(
    CMFCToolBarButton* pButton,
    TOOLINFO* pTI);

Parameter

pButton
[di] Tombol toolbar.

pTI
[out] Penunjuk TOOLINFO ke struktur.

Nilai hasil

TRUE jika aplikasi mengisi pTI parameter . Implementasi default mengembalikan FALSE.

Keterangan

Ambil alih metode ini jika Anda ingin memberikan informasi tentang item menu tertentu ke tipsalat. Implementasi default tidak melakukan apa pun.

CMDIFrameWndEx::OnMoveMiniFrame

Dipanggil oleh kerangka kerja untuk memindahkan jendela bingkai mini.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parameter

pFrame
[di] Penunjuk ke jendela bingkai mini.

Nilai hasil

TRUE jika metode berhasil, jika tidak FALSE.

CMDIFrameWndEx::OnSetPreviewMode

Mengatur mode pratinjau cetak jendela bingkai utama aplikasi.

virtual void OnSetPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Parameter

bPreview
[di] Jika TRUE, mengatur mode pratinjau cetak. Jika FALSE, membatalkan mode pratinjau.

pState
[di] Penunjuk ke CPrintPreviewState struktur.

Keterangan

Metode ini mengambil alih CFrameWnd::OnSetPreviewMode.

CMDIFrameWndEx::OnShowCustomizePane

Dipanggil oleh kerangka kerja saat panel Kustomisasi Cepat diaktifkan.

virtual BOOL OnShowCustomizePane(
    CMFCPopupMenu* pMenuPane,
    UINT uiToolbarID);

Parameter

pMenuPane
[di] Penunjuk ke panel Kustomisasi Cepat.

uiToolbarID
[di] ID kontrol bilah alat yang akan disesuaikan.

Nilai hasil

Metode ini selalu mengembalikan TRUE.

Keterangan

Panel Kustomisasi Cepat adalah menu yang terbuka saat pengguna mengklik Kustomisasi pada toolbar.

Ambil alih metode ini di kelas turunan untuk membuat perubahan di panel Kustomisasi Cepat.

CMDIFrameWndEx::OnShowMDITabContextMenu

Dipanggil oleh kerangka kerja sebelum menu pintasan ditampilkan di salah satu tab. Hanya berlaku untuk Grup Tab MDI.

virtual BOOL OnShowMDITabContextMenu(
    CPoint point,
    DWORD dwAllowedItems,
    BOOL bTabDrop);

Parameter

point
[di] Lokasi menu dalam koordinat layar.

dwAllowedItems
[di] Kombinasi bendera "atau" (|) bitwise yang menunjukkan tindakan apa yang diizinkan untuk tab saat ini:

  • AFX_MDI_CREATE_VERT_GROUP - dapat membuat grup tab vertikal.
  • AFX_MDI_CREATE_HORZ_GROUP - dapat membuat grup tab horizontal.
  • AFX_MDI_CAN_MOVE_PREV - dapat memindahkan tab ke grup tab sebelumnya.
  • AFX_MDI_CAN_MOVE_NEXT - dapat memindahkan tab ke grup tab berikutnya.
  • AFX_MDI_CAN_BE_DOCKED - alihkan dokumen bertab ke status ditambatkan (hanya relevan untuk dokumen bertab).

bTabDrop
[di] TRUE untuk menampilkan menu sebagai hasil dari menyeret tab ke grup bertab lain. FALSE untuk menampilkan menu sebagai menu pintasan pada tab yang saat ini aktif.

Nilai hasil

Ambil alih metode ini dalam CMDIFrameWndExkelas -turunan.

Keterangan

Jika Anda tidak memproses OnShowMDITabContextMenu, menu pintasan tidak akan ditampilkan. Fungsi ini dihasilkan oleh Wizard Aplikasi MFC saat Anda mengaktifkan fitur Grup Tab MDI.

Contoh

Contoh berikut menunjukkan cara OnShowMDITabContextMenu digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

BOOL CMainFrame::OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop)
{
   CMenu menu;
   VERIFY(menu.LoadMenu(bDrop ? IDR_POPUP_DROP_MDITABS : IDR_POPUP_MDITABS));

   CMenu* pPopup = menu.GetSubMenu(0);
   ASSERT(pPopup != NULL);

   if ((dwAllowedItems & AFX_MDI_CREATE_HORZ_GROUP) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_NEW_HORZ_TAB_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CREATE_VERT_GROUP) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_NEW_VERT_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_MOVE_NEXT) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_MOVE_TO_NEXT_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_MOVE_PREV) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_MOVE_TO_PREV_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_BE_DOCKED) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_TABBED_DOCUMENT, MF_BYCOMMAND);
   }

   CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;
   pPopupMenu->SetAutoDestroy(FALSE);
   pPopupMenu->Create(this, point.x, point.y, pPopup->GetSafeHmenu());

   return TRUE;
}

CMDIFrameWndEx::OnShowPanes

Dipanggil oleh kerangka kerja untuk memperlihatkan atau menyembunyikan panel.

virtual BOOL OnShowPanes(BOOL bShow);

Parameter

bShow
[di] TRUE untuk memperlihatkan panel, FALSE untuk menyembunyikan panel.

Nilai hasil

TRUE jika status panel berubah sebagai akibat dari memanggil metode ini, FALSE jika panel sudah dalam status yang ditentukan oleh bShow. Misalnya, jika panel disembunyikan dan bShow adalah FALSE, nilai Return adalah FALSE.

Keterangan

Implementasi default menghapus toolbar dari jendela bingkai tingkat atas.

Jika CDockingManager::m_bHideDockingBarsInContainerMode adalah TRUE (default), semua panel docking akan disembunyikan.

CMDIFrameWndEx::OnShowPopupMenu

Dipanggil oleh kerangka kerja saat membuka menu pop-up.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu*);

Nilai hasil

TRUE jika menu pop-up akan ditampilkan. Sebaliknya, FALSE. Implementasi default mengembalikan TRUE.

Keterangan

Ambil alih metode ini jika Anda ingin menerapkan pemrosesan khusus pada aktivasi menu pop-up. Misalnya, jika Anda ingin mengubah item menu reguler menjadi tombol menu warna, siapkan bilah sobek, dan sebagainya.

Implementasi default tidak melakukan apa pun.

CMDIFrameWndEx::OnSizeMDIClient

Dipanggil oleh kerangka kerja ketika ukuran jendela MDI klien berubah.

virtual void OnSizeMDIClient(
    const CRect& rectOld,
    const CRect& rectNew);

Parameter

rectOld
[di] Ukuran jendela klien MDI saat ini.

rectNew
[di] Ukuran baru jendela klien MDI.

Keterangan

CMDIFrameWndEx::OnTearOffMenu

Dipanggil oleh kerangka kerja saat menu yang memiliki bilah robek diaktifkan.

virtual BOOL OnTearOffMenu(
    CMFCPopupMenu* pMenuPopup,
    CPane* pBar);

Parameter

pMenuPopup
[di] Penunjuk ke menu pop-up.

pBar
[di] Sebuah penunjuk ke bar air mata.

Nilai hasil

TRUE untuk mengizinkan menu pop-up dengan bilah robek untuk diaktifkan; jika tidak FALSE. Default adalah TRUE.

Keterangan

Ambil alih fungsi ini saat Anda ingin menerapkan penyiapan khusus untuk bilah robek. Implementasi default tidak melakukan apa pun.

CMDIFrameWndEx::OnUpdateFrameMenu

Dipanggil oleh kerangka kerja untuk memperbarui menu bingkai.

virtual void OnUpdateFrameMenu(HMENU hMenuAlt);

Parameter

hMenuAlt
[di] Handel ke menu.

CMDIFrameWndEx::PaneFromPoint

Mengembalikan panel docking yang berisi titik yang ditentukan.

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar,
    CRuntimeClass* pRTCBarType) const;

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    DWORD& dwAlignment,
    CRuntimeClass* pRTCBarType) const;

Parameter

point
[di] Titik (dalam koordinat layar).

nSensitivity
[di] Persegi jendela dari setiap panel yang dicentang diperbesar ke semua arah dengan nilai ini.

bExactBar
[di] Jika TRUE, nSensitivity parameter diabaikan.

pRTCBarType
[di] Jika bukan - NULL, metode berulang hanya di atas panel dari jenis yang ditentukan.

dwAlignment
[out] Jika panel ditemukan, parameter ini akan menentukan sisi panel mana yang paling dekat dengan titik yang ditentukan.

Nilai hasil

Penunjuk ke panel docking, atau NULL jika tidak ada kontrol yang berisi titik yang ditentukan oleh point.

Keterangan

Panggilan dialihkan ke CDockingManager kelas . Untuk informasi selengkapnya, lihat CDockingManager::ControlBarFromPoint .

CMDIFrameWndEx::RecalcLayout

Dipanggil oleh kerangka kerja untuk menghitung ulang tata letak jendela bingkai.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parameter

bNotify
[di] Menentukan apakah item aktif di tempat untuk jendela bingkai menerima pemberitahuan perubahan tata letak. Jika TRUE, item diberi tahu; jika tidak FALSE.

Keterangan

Metode ini mengambil alih CFrameWnd::RecalcLayout.

CMDIFrameWndEx::RemovePaneFromDockManager

Membatalkan pendaftaran panel dan menghapusnya dari manajer docking.

void RemovePaneFromDockManager(
    CBasePane* pControlBar,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide,
    CBasePane* pBarReplacement);

Parameter

pControlBar
[di] Penunjuk ke panel yang akan dihapus.

bDestroy
[di] TRUE untuk menghancurkan panel yang dihapus. FALSE untuk tidak menghancurkannya.

bAdjustLayout
[di] TRUE untuk segera menyesuaikan tata letak docking. Jika FALSE, penyesuaian hanya akan terjadi ketika peristiwa redraw terjadi karena alasan lain (pengguna mengubah ukuran jendela, menyeret bingkai utama, dll.).

bAutoHide
[di] TRUE untuk menghapus panel dari daftar panel autohide. FALSE untuk menghapus panel dari daftar panel reguler.

pBarReplacement
[di] Penunjuk ke panel yang menggantikan panel yang dihapus.

Keterangan

Anda harus mendaftarkan setiap panel dengan manajer docking untuk mengambil bagian dalam tata letak docking. Gunakan CMDIFrameWndEx::AddPane atau CMDIFrameWndEx::InsertPane untuk mendaftarkan panel.

Gunakan metode ini saat panel tidak lagi menjadi bagian dari tata letak dok jendela bingkai.

CMDIFrameWndEx::SaveMDIState

Menyimpan tata letak Grup Tab MDI saat ini dan daftar dokumen yang dibuka sebelumnya.

virtual BOOL SaveMDIState(LPCTSTR lpszProfileName);

Parameter

lpszProfileName
[di] Menentukan nama profil.

Nilai hasil

TRUE jika penyimpanan berhasil; FALSE jika penyimpanan gagal.

Keterangan

Untuk memuat atau menyimpan status tab dan grup MDI dan daftar dokumen yang dibuka, lakukan hal berikut:

  • Panggil SaveMDIState saat bingkai utama sedang ditutup
  • Panggil CMDIFrameWndEx::LoadMDIState saat bingkai utama sedang dibuat. Lokasi yang direkomendasikan untuk panggilan ini adalah sebelum bingkai utama ditampilkan untuk pertama kalinya.
  • Panggil CWinAppEx::EnableLoadWindowPlacement(FALSE); sebelumnya pMainFrame->LoadFrame (IDR_MAINFRAME);
  • Panggil CWinAppEx::ReloadWindowPlacement(pMainFrame) setelah LoadMDIState untuk menampilkan bingkai utama pada posisi yang disimpan di registri.
  • Ambil alih GetDocumentName di CMDIChildWndExkelas - turunan jika aplikasi Anda menampilkan dokumen yang tidak disimpan sebagai file. String yang dikembalikan akan disimpan dalam registri sebagai pengidentifikasi dokumen. Untuk informasi selengkapnya, lihat CMDIChildWndEx::GetDocumentName .
  • Ambil alih CMDIFrameWndEx::CreateDocumentWindow untuk membuat dokumen dengan benar saat dimuat dari registri. Parameter ke CreateDocumentWindow adalah string yang GetDocumentName dikembalikan sebelumnya.

Contoh

Contoh berikut menunjukkan cara SaveMDIState digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

void CMainFrame::OnClose()
{
   SaveMDIState(theApp.GetRegSectionPath());
   CMDIFrameWndEx::OnClose();
}

CMDIFrameWndEx::SetPrintPreviewFrame

Mengatur jendela bingkai pratinjau cetak.

void SetPrintPreviewFrame(CFrameWnd* pWnd);

Parameter

pWnd
[di] Penunjuk ke jendela bingkai pratinjau cetak.

Keterangan

CMDIFrameWndEx::SetupToolbarMenu

Memodifikasi objek toolbar dengan mengganti item dummy dengan item yang ditentukan pengguna.

void SetupToolbarMenu(
    CMenu& menu,
    const UINT uiViewUserToolbarCmdFirst,
    const UINT uiViewUserToolbarCmdLast);

Parameter

menu
[di] Referensi ke objek kelas yang CMenu akan dimodifikasi.

uiViewUserToolbarCmdFirst
[di] Menentukan perintah pertama yang ditentukan pengguna.

uiViewUserToolbarCmdLast
[di] Menentukan perintah terakhir yang ditentukan pengguna.

CMDIFrameWndEx::ShowFullScreen

Mengalihkan bingkai utama dari mode reguler ke mode layar penuh.

void ShowFullScreen();

Keterangan

CMDIFrameWndEx::ShowPane

Memperlihatkan atau menyembunyikan panel yang ditentukan.

void ShowPane(
    CBasePane* pBar,
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Parameter

pBar
[di] Penunjuk ke panel yang akan ditampilkan atau disembunyikan.

bShow
[di] TRUE untuk memperlihatkan panel. FALSE untuk menyembunyikan panel.

bDelay
[di] TRUE untuk menunda perhitungan ulang tata letak docking. FALSE untuk segera menghitung ulang tata letak docking.

bActivate
[di] TRUE untuk memperlihatkan panel sebagai aktif. FALSE untuk memperlihatkan panel sebagai tidak aktif.

Keterangan

Panggil metode ini untuk memperlihatkan atau menyembunyikan panel. Jangan gunakan ShowWindow untuk panel docking.

Contoh

Contoh berikut menunjukkan cara ShowPane digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

void COutputList1::OnViewOutput()
{
   CBasePane* pParentBar = DYNAMIC_DOWNCAST(CBasePane, GetOwner());
   CFrameWndEx* pMainFrame = DYNAMIC_DOWNCAST(CFrameWndEx, GetTopLevelFrame());

   if (pMainFrame != NULL && pParentBar != NULL)
   {
      pMainFrame->SetFocus();
      pMainFrame->ShowPane(pParentBar, FALSE, FALSE, FALSE);
   }
}

CMDIFrameWndEx::ShowWindowsDialog

CMFCWindowsManagerDialog Membuat kotak dan membukanya.

void ShowWindowsDialog();

Contoh

Contoh berikut menunjukkan cara ShowWindowsDialog digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

void CMainFrame::OnWindowManager()
{
   ShowWindowsDialog();
}

CMDIFrameWndEx::TabbedDocumentToControlBar

Mengonversi dokumen bertab yang ditentukan menjadi panel docking.

virtual BOOL TabbedDocumentToControlBar(CMDIChildWndEx* pMDIChildWnd);

Parameter

pMDIChildWnd
Penunjuk ke jendela anak MDI yang berisi panel docking.

Nilai hasil

TRUE jika metode berhasil, FALSE pada kegagalan.

Keterangan

Gunakan metode ini untuk mengonversi dokumen bertab ke panel docking. Dokumen bertab harus dibuat dengan menggunakan CMDIFrameWndEx::ControlBarToTabbedDocument.

Contoh

Contoh berikut menunjukkan cara TabbedDocumentToControlBar digunakan dalam Sampel VisualStudioDemo: Aplikasi Visual Studio MFC.

void CMainFrame::OnMdiTabbedDocument()
{
   CMDIChildWndEx* pMDIChild = DYNAMIC_DOWNCAST(CMDIChildWndEx, MDIGetActive());
   if (pMDIChild == NULL)
   {
      ASSERT(FALSE);
      return;
   }

   TabbedDocumentToControlBar(pMDIChild);
}

CMDIFrameWndEx::UpdateCaption

Dipanggil oleh kerangka kerja untuk memperbarui keterangan bingkai jendela.

void UpdateCaption();

Keterangan

CMDIFrameWndEx::UpdateMDITabbedBarsIcons

Mengatur ikon untuk setiap panel bertab MDI.

void UpdateMDITabbedBarsIcons();

CMDIFrameWndEx::WinHelp

Dipanggil oleh kerangka kerja untuk memulai aplikasi WinHelp atau bantuan konteks.

virtual void WinHelp(
    DWORD dwData,
    UINT nCmd = HELP_CONTEXT);

Parameter

dwData
[di] Menentukan data sebagaimana diperlukan untuk jenis bantuan yang ditentukan oleh nCmd.

nCmd
[di] Menentukan jenis bantuan yang diminta. Untuk informasi selengkapnya tentang kemungkinan nilai dan pengaruhnya terhadap dwData parameter, lihat WinHelp.

Keterangan

Metode ini mengambil alih CWnd::WinHelp.

Lihat juga

Bagan Hierarki
Kelas
CMDIFrameWnd class
CMDIChildWndEx class