社区
VC.NET
帖子详情
求像skype那样一启动有个闪屏,能自动消失的完整代码
lpszDefExt
2009-03-25 04:31:36
主要是能实现exe启动时间稍微长点,有个画面友好显示的功能,
做个闪屏应该就可以了,我做了个总是不能正常表示主画面,很郁闷,求这方面代码。
...全文
87
6
打赏
收藏
求像skype那样一启动有个闪屏,能自动消失的完整代码
主要是能实现exe启动时间稍微长点,有个画面友好显示的功能, 做个闪屏应该就可以了,我做了个总是不能正常表示主画面,很郁闷,求这方面代码。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lpszDefExt
2009-03-30
打赏
举报
回复
thank you to linaren,OK
wuyq11
2009-03-25
打赏
举报
回复
http://www.cnblogs.com/ziyifly/articles/1288812.html
linaren
2009-03-25
打赏
举报
回复
CSplashWnd::EnableSplashScreen(1);
CSplashWnd::ShowSplashScreen(/* CWnd * */pParentWnd);
linaren
2009-03-25
打赏
举报
回复
#include "stdafx.h"
#include "Splash.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
// スプラッシュ スクリーン クラス
BOOL CSplashWnd::c_bShowSplashWnd;
CSplashWnd *CSplashWnd::c_pSplashWnd;
CSplashWnd::CSplashWnd()
{
}
CSplashWnd::~CSplashWnd()
{
//
ASSERT(c_pSplashWnd == this);
c_pSplashWnd = NULL;
}
BEGIN_MESSAGE_MAP(CSplashWnd, CWnd)
//{{AFX_MSG_MAP(CSplashWnd)
ON_WM_CREATE()
ON_WM_PAINT()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CSplashWnd::EnableSplashScreen(BOOL bEnable /*= TRUE*/ )
{
c_bShowSplashWnd = bEnable;
}
void CSplashWnd::ShowSplashScreen(CWnd * pParentWnd /*= NULL*/ )
{
if (!c_bShowSplashWnd || c_pSplashWnd != NULL)
return;
//
c_pSplashWnd = new CSplashWnd;
if (!c_pSplashWnd->Create(pParentWnd))
delete c_pSplashWnd;
else
c_pSplashWnd->UpdateWindow();
}
BOOL CSplashWnd::PreTranslateAppMessage(MSG * pMsg)
{
if (c_pSplashWnd == NULL)
return FALSE;
//
if (pMsg->message == WM_KEYDOWN || pMsg->message == WM_SYSKEYDOWN ||
pMsg->message == WM_LBUTTONDOWN || pMsg->message == WM_RBUTTONDOWN ||
pMsg->message == WM_MBUTTONDOWN || pMsg->message == WM_NCLBUTTONDOWN ||
pMsg->message == WM_NCRBUTTONDOWN || pMsg->message == WM_NCMBUTTONDOWN) {
return FALSE; //
}
return FALSE; //
}
BOOL CSplashWnd::Create(CWnd * pParentWnd /*= NULL*/ )
{
HRSRC hrSrc =::FindResource(NULL, MAKEINTRESOURCE(IDB_SPLASH), RT_BITMAP);
LPVOID lpvResource = (LPVOID)::LoadResource(NULL, hrSrc); //
m_Dib.AttachMemory(lpvResource); // no need for lock
CSize size = m_Dib.GetDimensions();
return CreateEx(0, AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)), NULL,
WS_POPUP | WS_VISIBLE, 0, 0, size.cx, size.cy, pParentWnd->GetSafeHwnd(), NULL);
}
void CSplashWnd::HideSplashScreen()
{
//
DestroyWindow();
AfxGetMainWnd()->UpdateWindow();
}
void CSplashWnd::PostNcDestroy()
{
//
delete this;
}
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
//
CenterWindow();
//
SetTimer(1, 750 * 3, NULL);
return 0;
}
void CSplashWnd::OnPaint()
{
CPaintDC dc(this);
CSize size = m_Dib.GetDimensions();
m_Dib.Draw(&dc, CPoint(0, 0), size);
}
void CSplashWnd::OnTimer(UINT nIDEvent)
{
//
HideSplashScreen();
}
linaren
2009-03-25
打赏
举报
回复
闪屏单独类:头文件
#include "Mask.h"
#include "ComConvBmp.h"
class CSplashWnd : public CWnd
{
protected:
CSplashWnd();
//
public:
//CBitmap m_bitmap;
CDib m_Dib;
//
public:
static void EnableSplashScreen(BOOL bEnable = TRUE);
static void ShowSplashScreen(CWnd* pParentWnd = NULL);
static BOOL PreTranslateAppMessage(MSG* pMsg);
//
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSplashWnd)
//}}AFX_VIRTUAL
//
public:
~CSplashWnd();
virtual void PostNcDestroy();
protected:
BOOL Create(CWnd* pParentWnd = NULL);
void HideSplashScreen();
static BOOL c_bShowSplashWnd;
static CSplashWnd* c_pSplashWnd;
//
protected:
//{{AFX_MSG(CSplashWnd)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnPaint();
afx_msg void OnTimer(UINT nIDEvent);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
悔说话的哑巴
2009-03-25
打赏
举报
回复
帮顶
现实世界的 JavaScript Windows8 应用开发教程(一)
这不是一本微软粉丝写的书,而是一本常识性的、完成工作的技术爱好者写的书。我们也喜欢在做一些酷的、前沿的、有意义的事情的同时赚钱的机会,所以当我们说 Windows 8 是开发者有史以来最重要的机会时,请注意。...
Java8 游戏开发入门手册(四)
我们将七个基本的精灵形状与我们在第十一章中开发的按键移动和我们在第十二章中开发的边界检测结合起来,以创建一个真正活起来的完全动画化的无敌角色,并基于六个基本游戏控制键(上、下、左、右、W 和 S)的使用来...
Android 上百实例源码分析以及开源分析
我只是每天看一个小时,但是已经看完了大半部分,其它时间用于研究c++方面的东西了,没办法啊,我以前是搞c++的,现在换了公司,得学Java了,但是我对c++的爱好始终没有减,有时间的话我把研究好了的东西开源出来...
Android 上千实例源码分析以及开源分析
我只是每天看一个小时,但是已经看完了大半部分,其它时间用于研究c++方面的东西了,没办法啊,我以前是搞c++的,现在换了公司,得学Java了,但是我对c++的爱好始终没有减,有时间的话我把研究好了的东西开源出来...
Android资源下载
我只是每天看一个小时,但是已经看完了大半部分,其它时间用于研究c++方面的东西了,没办法啊,我以前是搞c++的,现在换了公司,得学Java了,但是我对c++的爱好始终没有减,有时间的话我把研究好了的东西开源出来...
VC.NET
7,539
社区成员
27,671
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章