CMultiDocTemplate::CMultiDocTemplate
Yapıları bir CMultiDocTemplate nesnesi.
CMultiDocTemplate(
UINT nIDResource,
CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass,
CRuntimeClass* pViewClass
);
Parametreler
nIDResource
Belge türü ile kullanılan kaynakları Kimliğini belirtir.Bu menü, simge, Hızlandırıcı tablo ve dize kaynakları içerebilir.Dize kaynağı (bir alt dizeyi eklenmezse; '\n' karakteri yer tutucu gerekli '\n' karakteriyle ayrılmış en çok yedi alt dizeleri oluşur Ancak, izleyen '\n' karakteri gerekli değildir); Bu alt dizeleri belge tipini tanımlayın.Alt dizeleri hakkında daha fazla bilgi için bkz: CDocTemplate::GetDocString.Bu dize kaynağı uygulamanın kaynak dosyasında bulunur.Örne?in:
// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"
END
Not dize '\n' karakteriyle başlar; Birinci alt dizenin MDI uygulamaları için kullanılmaz ve bu nedenle dahil değildir olmasıdır.Bu dize, Dize Düzenleyicisi'ni kullanarak düzenleyebilirsiniz. Tüm dize Dize Düzenleyicisi'nde, tek bir giriş olarak değil yedi ayrı girdiler olarak görünür.
Bu kaynak türleri hakkında daha fazla bilgi için bkz: Kaynak Düzenleyicileri.
pDocClass
İşaret CRuntimeClass belge sınıfının nesnesi.Bu sınıf bir CDocument-türetilmiş sınıf belgeleri göstermek için tanımla.pFrameClass
İşaret CRuntimeClass çerçeve penceresi sınıf nesnesi.Bu sınıf olabilir bir CMDIChildWnd-türetilmiş sınıf veya olabilir CMDIChildWnd kendisi belge Çerçeve windows için varsayılan davranış istiyorsanız.pViewClass
İşaret CRuntimeClass görünümü sınıf nesnesi.Bu sınıf bir CView-türetilmiş sınıf belgeleri görüntülemek için tanımla.
Notlar
Dinamik olarak bir tahsis CMultiDocTemplate , uygulamanızın destekleyen ve her birini geçmesi her belge tipi için nesne CWinApp::AddDocTemplate karşı InitInstance application sınıfının üye işlevi.
Örnek
// Code fragment from CMyApp::InitInstance
// Establish all of the document types
// supported by the application
AddDocTemplate(new CMultiDocTemplate(IDR_BRUSHDOCTYPE,
RUNTIME_CLASS(CBrushDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CBrushView)));
AddDocTemplate(new CMultiDocTemplate(IDR_DCDOCTYPE,
RUNTIME_CLASS(CDCDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CDCView)));
İkinci bir örnek aşağıdadır.
// Code fragment taken from CMyApp::InitInstance
// Normally, an application creates a document
// template and registers it with MFC as a part
// of its initialization.
// IDR_EXAMPLEDOCTYPE 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.
pDocTemplate = new CMultiDocTemplate(IDR_EXAMPLEDOCTYPE,
RUNTIME_CLASS(CExampleDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CExampleView));
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);
Gereksinimler
Başlık: afxwin.h