Bagikan melalui


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, , CScrollViewCFormView, atau CEditView. (Anda juga dapat menggunakan CEditView 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 menggunakan CFrameWnd 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

CObject

CCmdTarget

CDocTemplate

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 CDocumentAnda tentukan untuk mewakili dokumen Anda.

pFrameClass
Menunjuk ke CRuntimeClass objek kelas jendela bingkai. Kelas ini bisa menjadi CFrameWndkelas -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 CViewAnda tentukan untuk menampilkan dokumen Anda.

Keterangan

Alokasikan CSingleDocTemplate objek secara dinamis dan teruskan dari CWinApp::AddDocTemplateInitInstance 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