virtual bool initinstance( );cwinapp::initinstance
返回值
如果初始化成功,则返回非零值;否则返回0。
注释
windows
允许在同一时刻运行程序的几份拷贝。在概念上,应用程序的初始化可以被分为两个部分:一次性的应用程序初始化工作,这些在应用程序第一次运行时完成,以及实例的初始化工作,每次运行程序的一个拷贝时都会执行这些操作,包括第一次运行时。框架中winmain实现调用这个函数。重载initinstance以初始化在windows下运行的应用程序的每个新实例。通常,你重载initinstance以构造主窗口对象并设置cwinthread::m_pmainwnd数据成员,使其指向这个窗口。有关重载这个成员函数的更多信息参见“visual c++ 程序员指南”中的“ cwinapp:应用程序类”。
示例
// appwizard 根据你选择的选项实现重载的initinstance函数。
// 例如,对于下面由appwizard创建的代码,选择了单文档界面(sdi)选项。
// 你可以在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);
// create a new (empty) document
onfilenew();
if (m_lpcmdline[0] != '\0')
{
// 创建一个新(空的)文档
}
return true;
}