Kelas CSingleDocTemplate
Menentukan templat dokumen yang mengimplementasikan antarmuka dokumen tunggal (SDI).
Sintaks
class CSingleDocTemplate : public CDocTemplate
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CSingleDocTemplate::CSingleDocTemplate | Membuat CSingleDocTemplate objek. |
Keterangan
Aplikasi SDI menggunakan jendela bingkai utama untuk menampilkan dokumen; hanya satu dokumen yang dapat dibuka pada satu waktu.
Templat dokumen menentukan hubungan antara tiga jenis kelas:
Kelas dokumen, yang Anda dapatkan dari
CDocument
.Kelas tampilan, yang menampilkan data dari kelas dokumen yang tercantum di atas. Anda dapat memperoleh kelas ini dari
CView
, ,CScrollView
CFormView
, atauCEditView
. (Anda juga dapat menggunakanCEditView
secara langsung.)Kelas jendela bingkai, yang berisi tampilan. Untuk templat dokumen SDI, Anda dapat memperoleh kelas ini dari
CFrameWnd
; jika Anda tidak perlu menyesuaikan perilaku jendela bingkai utama, Anda dapat menggunakanCFrameWnd
secara langsung tanpa memperoleh kelas Anda sendiri.
Aplikasi SDI biasanya mendukung satu jenis dokumen, sehingga hanya memiliki satu CSingleDocTemplate
objek. Hanya satu dokumen yang dapat dibuka pada satu waktu.
Anda tidak perlu memanggil fungsi CSingleDocTemplate
anggota apa pun kecuali konstruktor. Kerangka kerja menangani CSingleDocTemplate
objek secara internal.
Untuk informasi selengkapnya tentang menggunakan CSingleDocTemplate
, lihat Templat Dokumen dan Proses Pembuatan Dokumen/Tampilan.
Hierarki Warisan
CSingleDocTemplate
Persyaratan
Header: afxwin.h
CSingleDocTemplate::CSingleDocTemplate
Membuat CSingleDocTemplate
objek.
CSingleDocTemplate(
UINT nIDResource,
CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass,
CRuntimeClass* pViewClass);
Parameter
nIDResource
Menentukan ID sumber daya yang digunakan dengan tipe dokumen. Ini mungkin termasuk menu, ikon, tabel akselerator, dan sumber daya string.
Sumber daya string terdiri dari hingga tujuh substring yang dipisahkan oleh karakter '\n' (karakter '\n' diperlukan sebagai tempat penampung jika substring tidak disertakan; namun, karakter '\n' berikutnya tidak diperlukan); substring ini menjelaskan jenis dokumen. Untuk informasi tentang substring, lihat CDocTemplate::GetDocString. Sumber daya string ini ditemukan dalam file sumber daya aplikasi. Contohnya:
// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME "MyCalc Windows Application\nSheet\nWorksheet\n Worksheets (*.myc)\n.myc\nMyCalcSheet\n MyCalc Worksheet"
END
Anda dapat mengedit string ini menggunakan editor string; seluruh string muncul sebagai entri tunggal di Editor String, bukan sebagai tujuh entri terpisah.
Untuk informasi selengkapnya tentang jenis sumber daya ini, lihat Editor String.
pDocClass
Menunjuk ke CRuntimeClass
objek kelas dokumen. Kelas ini adalah kelas turunan yang CDocument
Anda tentukan untuk mewakili dokumen Anda.
pFrameClass
Menunjuk ke CRuntimeClass
objek kelas jendela bingkai. Kelas ini bisa menjadi CFrameWnd
kelas -turunan, atau bisa menjadi CFrameWnd
dirinya sendiri jika Anda menginginkan perilaku default untuk jendela bingkai utama Anda.
pViewClass
Menunjuk ke CRuntimeClass
objek kelas tampilan. Kelas ini adalah kelas turunan yang CView
Anda tentukan untuk menampilkan dokumen Anda.
Keterangan
Alokasikan CSingleDocTemplate
objek secara dinamis dan teruskan dari CWinApp::AddDocTemplate
InitInstance
fungsi anggota kelas aplikasi Anda.
Contoh
// The following code fragment is from CMyWinApp::InitInstance.
// CMyWinApp is derived from CWinApp.
// Establish the document type
// supported by the application
AddDocTemplate(new CSingleDocTemplate(IDR_MAINFRAME,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMyView)));
// The following code fragment is from CMyWinApp::InitInstance.
// CMyWinApp is derived from CWinApp.
// Normally, an application creates a document
// template and registers it with MFC as a part
// of its initialization.
// IDR_SAMPLERESOURCE is a resource ID string;
// see the CDocTemplate class overview documentation
// for more information on its format.
// The next three parameters use the RUNTIME_CLASS()
// macro to get runtime type information for the doc,
// frame, and view classes that will be associated by
// the template.
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
return FALSE;
// After the following call, MFC is aware of the doc
// template and will free it when the application is
// shut down. The doc templates known to MFC will
// automatically be used when CWinApp:OnFileOpen() or
// CWinApp::OnFileNew() are called.
AddDocTemplate(pDocTemplate);
Baca juga
Sampel MFC DOCKTOOL
Kelas CDocTemplate
Bagan Hierarki
Kelas CDocTemplate
Kelas CDocument
Kelas CFrameWnd
Kelas CMultiDocTemplate
Kelas CView
Kelas CWinApp
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