Шаг 41 - CWinApp::InitInstance

virtual BOOL InitInstance();

Возвращаемое значение
Отлично от нуля, если инициализация успешна, иначе 0.

Замечания
Windows позволяет нескольким копиям той же самой программы выполняться в то же самое время. Инициализация Приложения концептуально разделена на два раздела: одноразовая инициализация приложения, которая выполнена первый раз, когда программа выполняется, и инициализация образца, которая выполняет каждый раз при запуске каждой копия программы включая первый раз. Реализация каркаса WinMain вызывает эту функцию.
Переопределите InitInstance, чтобы инициализировать каждый новый образец вашего приложения, выполняющегося под Windows. Обычно, Вы отменяете InitInstance, чтобы создать ваш основной объект окна и устанавливаете CWinThread::m_pMainWnd элемент данных, чтобы указать на окно приложения.

Пример.

// AppWizard осуществляет переопределение функции InitInstance
// согласно опциям, которые Вы выбираете. Например, опция одиночный документ 
// (SDI) интерфейса была выбрана для AppWizard создаваемого кода
// Вы можете добавлять другие инициализации к коду 
// созданному AppWizard.
BOOL CMyApp::InitInstance() 
{ 
	// Стандартная инициализация, если Вы не используете эти 
	// возможности и желаете уменьшить размер вашей заключительной программы,
	// то Вы должны удалить из него специфические подпрограммы инициализации,
	// которые не нужны.
	SetDialogBkColor();	// Установите цвет фона диалога к серому
	LoadStdProfileSettings();	// Загрузите стандартные опции из INI файла (включая MRU)
	// Регистрировать шаблоны документа приложения. Шаблоны Документа
	// служать как соединение между документами, рамочными окнами и просмотрами.
	CSingleDocTemplate* pDocTemplate; 
	pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMyDoc),
		RUNTIME_CLASS(CMainFrame), // SDI окно 
	RUNTIME_CLASS(CMyView)); 
	AddDocTemplate(pDocTemplate); 
	// создаем новый пустой документ
	OnFileNew(); 
	if (m_lpCmdLine[0] != '\0') 
	{
		// TODO: добавьте сюда обработку командной строки
	} return TRUE; 
} 

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