Шаг 1020 - CSingleDocTemplate::CSingleDocTemplate

CSingleDocTemplate( UINT nIDResource, CRuntimeClass* pDocClass,
	CRuntimeClass* pFrameClass, CRuntimeClass* pViewClass );

Параметры
nIDResource
Определяет ID ресурсов, используемых с типом документа. Это может включать меню, пиктограмму, таблицу акселератора, и строковые ресурсы.
Строковый ресурс состоит до семи подстрок, отделяемых '\n' символом ('\n' символ необходим как метка - заполнитель, если подстрока не включена; однако, конечные '\n' символы не необходимы); эти подстроки описывают тип документа. Для информации относительно подстрок, см. CDocTemplate::GetDocString. Этот строковый ресурс найден в файле ресурса прикладной программы. Например:

// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
	IDR_MAINFRAME "MyCalc Windows Application\nSheet\nWorksheet\n Worksheets (*.myc)\n.myc\nMyCalcSheet\n MyCalc Worksheet"
END

Вы можете редактировать эту строку, использующую строковый редактор; вся строка появляется как одиночный вход в строковом Редакторе, не как семь отдельных входов.
pDocClass
Указатель на объект CRuntimeClass класса документа. Этот класс - класс CDocument наследник, который Вы определяете, чтобы представить ваши документы.
pFrameClass
Указатель на объект CRuntimeClass класса рамочного окна. Этот класс может быть класс CFrameWnd наследник, или это может быть CFrameWnd непосредственно, если Вы хотите заданное по умолчанию поведение для вашего основного рамочного окна.
pViewClass
Указатель на объект CRuntimeClass класс просмотра. Этот класс - класс CView наследники, которые Вы определяете, чтобы отобразить ваши документы.

Замечания
Создает объект CSingleDocTemplate. Динамически распределите объект CSingleDocTemplate, и передайте его к CWinApp::AddDocTemplate из InitInstance функции Вашего класса прикладной программы.

Пример

// Пример для CSingleDocTemplate::CSingleDocTemplate. 
BOOL CMyApp::InitInstance()
{
	//...
	// Установить документ, 
	// обеспеченный прикладной программой 
	AddDocTemplate( new CSingleDocTemplate( IDR_MAINFRAME,
		RUNTIME_CLASS( CSheetDoc ),
		RUNTIME_CLASS( CFrameWnd ),
		RUNTIME_CLASS( CSheetView ) ) );
	//...
}

// Второй пример для CSingleDocTemplate::CSingleDocTemplate. 

BOOL CYourApp::InitInstance()
{
	// Обычно, прикладная программа создает шаблон документа
	// и регистрирует это с MFC как часть инициализации.

	// IDR_SAMPLERESOURCE - ID ресурса строки
	// См. документацию краткого обзора класса CDocTemplate
	// Для подробной информации относительно формата.

	// Следующие три параметра используют RUNTIME_CLASS ()
	// Макрокоманда, чтобы получить информацию типа во 
	// время выполнения для документа,
	// Рамка, и классы просмотра, которые будут связаны в
	// Шаблон.

	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_SAMPLERESOURCE,
		RUNTIME_CLASS(CYourDoc),
		RUNTIME_CLASS(CChildFrame),
		RUNTIME_CLASS(CYourViewClass));

	// После следующего обращения, MFC знает документ
	// Шаблон и освободит это, когда прикладная программа
	// закрыта. Шаблоны документа, известные MFC будут
	// автоматически используемые когда CWinApp:OnFileOpen() или
	// CWINAPP:: OnFileNew () вызваны.

	AddDocTemplate(pDocTemplate);

	// Вы могли бы иметь другой код инициализации ...
	//...

	return TRUE;
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 19.02.2002