Server: Menerapkan Windows Bingkai Di Tempat
Artikel ini menjelaskan apa yang harus Anda lakukan untuk menerapkan jendela bingkai di tempat di aplikasi server pengeditan visual Anda jika Anda tidak menggunakan wizard aplikasi untuk membuat aplikasi server Anda. Sebagai ganti mengikuti prosedur yang diuraikan dalam artikel ini, Anda dapat menggunakan kelas jendela bingkai di tempat yang ada dari aplikasi yang dihasilkan wizard aplikasi atau sampel yang disediakan dengan Visual C++.
Untuk mendeklarasikan kelas jendela bingkai di tempat
Dapatkan kelas jendela bingkai di tempat dari
COleIPFrameWnd
.Gunakan makro DECLARE_DYNCREATE di file header kelas Anda.
Gunakan makro IMPLEMENT_DYNCREATE dalam file implementasi kelas (.cpp) Anda. Ini memungkinkan objek kelas ini dibuat oleh kerangka kerja.
Nyatakan
COleResizeBar
anggota di kelas jendela bingkai. Ini diperlukan jika Anda ingin mendukung perubahan ukuran di tempat dalam aplikasi server.Deklarasikan handler
OnCreate
pesan (menggunakan Panduan Kelas), dan panggilCreate
anggota AndaCOleResizeBar
, jika Anda telah menentukannya.Jika Anda memiliki toolbar, deklarasikan
CToolBar
anggota di kelas jendela bingkai.Ambil alih
OnCreateControlBars
fungsi anggota untuk membuat toolbar saat server aktif di tempat. Contohnya:BOOL CInPlaceFrame::OnCreateControlBars(CFrameWnd* pWndFrame, CFrameWnd* pWndDoc) { UNREFERENCED_PARAMETER(pWndDoc); // Set owner to this window, so messages are delivered to correct app m_wndToolBar.SetOwner(this); // Create toolbar on client's frame window if (!m_wndToolBar.CreateEx(pWndFrame, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_SRVR_INPLACE)) { TRACE0("Failed to create toolbar\n"); return FALSE; } // TODO: Delete these three lines if you don't want the toolbar to be dockable m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); pWndFrame->EnableDocking(CBRS_ALIGN_ANY); pWndFrame->DockControlBar(&m_wndToolBar); return TRUE; }
Lihat diskusi kode ini setelah langkah 5.
Sertakan file header untuk kelas jendela bingkai di tempat ini dalam file .cpp utama Anda.
Untuk
InitInstance
kelas aplikasi Anda, panggilSetServerInfo
fungsi objek templat dokumen untuk menentukan sumber daya dan jendela bingkai di tempat yang akan digunakan dalam pengeditan terbuka dan di tempat.
Rangkaian panggilan fungsi dalam if
pernyataan membuat toolbar dari sumber daya yang disediakan server. Pada titik ini, toolbar adalah bagian dari hierarki jendela kontainer. Karena toolbar ini berasal dari CToolBar
, toolbar ini akan meneruskan pesannya kepada pemiliknya, jendela bingkai aplikasi kontainer, kecuali Anda mengubah pemiliknya. Itulah sebabnya panggilan ke SetOwner
diperlukan. Panggilan ini mengubah jendela tempat perintah dikirim menjadi jendela bingkai server di tempat, menyebabkan pesan diteruskan ke server. Ini memungkinkan server untuk bereaksi terhadap operasi pada toolbar yang disediakannya.
ID untuk bitmap toolbar harus sama dengan sumber daya lain di tempat yang ditentukan dalam aplikasi server Anda. Lihat Menu dan Sumber Daya: Penambahan Server untuk detailnya.
Untuk informasi selengkapnya, lihat COleIPFrameWnd, COleResizeBar, dan CDocTemplate::SetServerInfo di Referensi Pustaka Kelas.
Baca juga
Server
Server: Menerapkan Server
Server: Menerapkan Dokumen Server
Server: Item Server
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk