基于对话框的应用程序添加启动画面

基于对话框的应用程序添加启动画面
 
1 、利用组件库中的Splash Screen组件生成Splash1.cpp 和Splash1.h 这两个文件(也就是基于框架类的应用程序添加启动画面的步骤)
(1) Photoshop 等制作启动画面图像,保存为 bmp 格式。
   (2) Appwizard 建一个基于单文档的工程 Splash
   (3) 在资源中插入位图资源
      打开 VC++ 的资源编辑器,用鼠标右键单击 Resources 文件夹,选择 Import 命令,插入所制作的位图。如果位图超过 256 色, VC 会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图 ID 改为 IDB_SPLASH
   (4) 添加 Splash Screen 控件
   选择菜单 “project”/“Add To Project”/“Conponents and Controls” 打开对话框,在列表框中双击 “Visual C++ Conponents” 选项,选择 “Splash Screen” 控件,然后单击 “Insert”
   确认或修改类名和位图资源 ID ,单击 OK 确认。
   编译、连接,漂亮的启动画面就显示出来了。
   (5) 如果需要改变启动画面的停留时间,就修改 SetTimer() 函数的第二个参数,默认是 750 毫秒。该函数所在位置:
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
  ...
    // Set a timer to destroy the splash screen.
    SetTimer(1, 2000, NULL); // 修改第二个参数以调整画面停留时间
    return 0;
}
这样就生成了Splash1.cpp 和Splash1.h 这两个文件
2、制作基于对话框的应用程序启动画面
      (1) 建立基于对话框的工程 Cover

  (2) 文件移植
   Splash1.cpp Splash1.h 两个文件从步骤一建立的工程拷贝到 Cover 工程中,并且分别加入到 Source Files Header Files 中;
   导入位图文件到工程的资源中,改 ID IDB_SPLASH

   (3) 修改代码,实现启动画面的调用
   添加 CCoverApp InitInstance() 函数代码
#include "Splash1.h" // 加在 Cover.cpp 文件的头文件调用部位
BOOL CCoverApp::InitInstance()
{
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash);
...
}
使用 ClassWizard 添加 OnCreate() 函数到对话框类 CCoverDlg 中,并修改代码 #include "Splash1.h" // 加在 CoverDlg.cpp 文件的头文件调用部位
int CCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
CSplashWnd::ShowSplashScreen(this); //
显示启动画面
...
}
3、使得启动画面消失后再显示主程序
      在CCoverDlg类中添加 WM­_TIMER消息响应函数
        void CCoverDlg::OnTimer(UINT nIDEvent)
  {
          // TODO: Add your message handler code here and/or call default
          this->MoveWindow(300,300,600,400);
          CDialog::OnTimer(nIDEvent);
}
    在 intCCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)中添加如下代码:
   CSplashWnd::ShowSplashScreen(this);
 this->MoveWindow(0,0,0,0);
 this->SetTimer(1,2000,NULL);//注意这个 2000一点要等于步骤1中的2000
 return 0;
在 void CCoverDlg::OnPaint()的末尾添加如下代码:
     this->KillTimer(1);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值