Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Microsoft Foundation Sınıfları (MFC) kitaplığına destek verilmeye devam ediliyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Tek belge arabirimini (SDI) uygulayan bir belge şablonu tanımlar.
Sözdizimi
class CSingleDocTemplate : public CDocTemplate
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CSingleDocTemplate::CSingleDocTemplate | Bir CSingleDocTemplate nesne oluşturur. |
Açıklamalar
SDI uygulaması, belgeyi görüntülemek için ana çerçeve penceresini kullanır; Aynı anda yalnızca bir belge açılabilir.
Belge şablonu üç sınıf türü arasındaki ilişkiyi tanımlar:
öğesinden
CDocumenttüretdiğiniz bir belge sınıfı.Yukarıda listelenen belge sınıfından verileri görüntüleyen bir görünüm sınıfı. Bu sınıfı , ,
CViewCScrollViewveyaCFormViewöğesindenCEditViewtüretebilirsiniz. (Doğrudan da kullanabilirsinizCEditView.)Görünümü içeren bir çerçeve penceresi sınıfı. SDI belge şablonu için bu sınıfı öğesinden
CFrameWndtüretebilirsiniz; ana çerçeve penceresinin davranışını özelleştirmeniz gerekmiyorsa, kendi sınıfınızı türetmeden doğrudan kullanabilirsinizCFrameWnd.
SDI uygulaması genellikle tek bir belge türünü desteklediğinden yalnızca bir CSingleDocTemplate nesnesi vardır. Aynı anda yalnızca bir belge açılabilir.
Oluşturucu dışında öğesinin CSingleDocTemplate üye işlevlerini çağırmanız gerekmez. Çerçeve nesneleri dahili olarak işler CSingleDocTemplate .
kullanma CSingleDocTemplatehakkında daha fazla bilgi için bkz . Belge Şablonları ve Belge/Görünüm Oluşturma İşlemi.
Devralma Hiyerarşisi
CSingleDocTemplate
Gereksinimler
Üst bilgi: afxwin.h
CSingleDocTemplate::CSingleDocTemplate
Bir CSingleDocTemplate nesne oluşturur.
CSingleDocTemplate(
UINT nIDResource,
CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass,
CRuntimeClass* pViewClass);
Parametreler
nIDResource
Belge türüyle kullanılan kaynakların kimliğini belirtir. Bu menü, simge, hızlandırıcı tablosu ve dize kaynaklarını içerebilir.
Dize kaynağı, '\n' karakteriyle ayrılmış en fazla yedi alt dizeden oluşur (alt dize dahil değilse yer tutucu olarak '\n' karakteri gereklidir; ancak sondaki '\n' karakterleri gerekli değildir); bu alt dizeler belge türünü açıklar. Alt dizeler hakkında bilgi için bkz . CDocTemplate::GetDocString. Bu dize kaynağı, uygulamanın kaynak dosyasında bulunur. Örneğin:
// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME "MyCalc Windows Application\nSheet\nWorksheet\n Worksheets (*.myc)\n.myc\nMyCalcSheet\n MyCalc Worksheet"
END
Dize düzenleyicisini kullanarak bu dizeyi düzenleyebilirsiniz; dizenin tamamı, Dize Düzenleyicisi'nde yedi ayrı girdi olarak değil, tek bir girdi olarak görünür.
Bu kaynak türleri hakkında daha fazla bilgi için bkz . Dize Düzenleyicisi.
pDoc Sınıfı
CRuntimeClass Belge sınıfının nesnesine işaret edin. Bu sınıf, belgelerinizi temsil etmek için tanımladığınız türetilmiş bir CDocumentsınıftır.
pFrameClass
CRuntimeClass Çerçeve penceresi sınıfının nesnesini gösterir. Bu sınıf - türetilmiş bir CFrameWndsınıf veya ana çerçeve pencereniz için varsayılan davranış istiyorsanız kendisi olabilir CFrameWnd .
pViewSınıfı
CRuntimeClass Görünüm sınıfının nesnesini gösterir. Bu sınıf, belgelerinizi görüntülemek için tanımladığınız türetilmiş bir CViewsınıftır.
Açıklamalar
Bir nesneyi dinamik olarak ayırın CSingleDocTemplate ve uygulama sınıfınızın üye işlevinden CWinApp::AddDocTemplate öğesine geçirinInitInstance.
Örnek
// 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);
Ayrıca bkz.
MFC Örnek DOCKTOOL
CDocTemplate Sınıfı
Hiyerarşi Grafiği
CDocTemplate Sınıfı
CDocument Sınıfı
CFrameWnd Sınıfı
CMultiDocTemplate Sınıfı
CView Sınıfı
CWinApp Sınıfı