模拟制作启动动画

练习时可以使用基于对话框的工程,比较简洁,记得去掉AboutBox.

制作过程如下,我会截图

1.创建一个对话框,用于弹窗。另外导入一张位图资源(这个位图资源是等一下要放在这个新创建的对话框上的,用于弹窗时好看点。。。),本人从网上down了个全智贤的。。我会告诉你我把来自星星的你已经看完了么。。。

2.记得把新建的对话框中的确定和取消按钮删除,将Border改为None。这样就成了一个光秃秃的对话框了,方便我们拖放图片。

3.放个Picture控件上去,将控件的风格改为Bitmap,并在Image处选择我们自己搞好的图片。。可以按ctrl+t提前意淫一下。。。

4.双击新建好的这个对话框,弹出ClassWizard,我们为这个对话框建一个类,基于CDialog,取名CStartDlg。

5.为了保证启动画面顺畅运行,我们新建一个县城,专门用于启动这个动画。添加一个MFC类,取名CSplashForTestThread,并在其中添加成员变量CStartDlg* m_pStartDlg,并且在其中的InitInstance和ExitInstance中添加相关代码,代码如下:

BOOL CSplashForTestThread::InitInstance()
{
// TODO:  perform and per-thread initialization here
m_pStartDlg = new CStartDlg;
m_pStartDlg->Create(IDD_DIALOG1);
m_pStartDlg->ShowWindow(SW_SHOW);
m_pStartDlg->UpdateWindow();
return TRUE;
}


int CSplashForTestThread::ExitInstance()
{
// TODO:  perform any per-thread cleanup here
m_pStartDlg->DestroyWindow();
delete m_pStartDlg;
return CWinThread::ExitInstance();
}


void CSplashForTestThread::HideStartDlg(void)
{
m_pStartDlg->SendMessage(WM_CLOSE);
}

第三个函数用于发送退出消息,关闭窗体。

6.在主程序中实现启动画面,首先在CSplashForTestApp中添加成员变量CSplashForTestThread* m_pSplashForTestThread;,其次在InitInstance中添加如下代码:

m_pSplashForTestThread = (CSplashForTestThread*)AfxBeginThread(RUNTIME_CLASS(CSplashForTestThread,,0,0));
Sleep(1000);

一个用于启动线程,一个用于模拟该图片显示时间。。想多看会的可以设置时间长点。然后在OnInitDialg中添加如下代码,实现程序启动后自动隐藏开启动画效果即可。到这就结束了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值