比如我们打开Visual Studio,加入工作界面之前,都可以看到像下面的开启界面。
该界面可以用于展示软件的功能用途、产品展示和开发者消息。
1、在可以正常运行的对话框基础上,右键rc文件夹导入或者新建BMP图片
3、新建对话框,相关参数设置如下:
4、添加Picture Control控件。属性设置如下,注意Image指向的ID。
5、新建一个对话框对应的类,初始化中添加SetTimer,开始显示图片
BOOL CDlgInitSystem::OnInitDialog()
{
CDialog::OnInitDialog();
SetTimer(0, 1000, NULL);//1s执行一次OnTimer,遇到KillTimer为止。OnTimer在消息队列中
return TRUE;
}
void CDlgInitSystem::OnTimer(UINT_PTR nIDEvent)
{
if (nIDEvent == 0)
{
if (1)//添加停止显示标志位,由其他条件控制。
{
KillTimer(0);
CDialog::OnOK();
}
}
CDialog::OnTimer(nIDEvent);
}
6、在初始化的CMyTestApp::InitInstance()中,主对话框之前新建线程
::CreateThread(NULL, 0, ThreadProc, this, 0, 0);//初始化打开图形界面
Sleep(2000);//用实际工作内容代替,比如可以进行硬件初始化。这里测试用
CMyTestDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
DWORD WINAPI CMyTestApp::ThreadProc(LPVOID pParam)
{
CMyTestApp* myapp = reinterpret_cast<CMyTestApp *>(pParam);
myapp->InitTreadFun();
return 0;
}
void CMyTestApp::InitTreadFun()
{
CDlgInitSystem dlgInitSystem;
dlgInitSystem.DoModal();
}