社区
VC.NET
帖子详情
求像skype那样一启动有个闪屏,能自动消失的完整代码
lpszDefExt
2009-03-25 04:31:36
主要是能实现exe启动时间稍微长点,有个画面友好显示的功能,
做个闪屏应该就可以了,我做了个总是不能正常表示主画面,很郁闷,求这方面代码。
...全文
90
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 是开发者有史以来最重要的机会时,请注意。尽管这听起来可能像是重复的微软营销宣传,但我们一直站在 API 的前沿,我们大胆地声称 Windows 8 中的一切都是从头开始重新想象、检查和创新的。
Java8 游戏开发入门手册(四)
在第十三章中,我们使用高度优化的代码在 InvinciBagel 应用中实现了 sprite 动画。我们将七个基本的精灵形状与我们在第十一章中开发的按键移动和我们在第十二章中开发的边界检测结合起来,以创建一个真正活起来的完全动画化的无敌角色,并基于六个基本游戏控制键(上、下、左、右、W 和 S)的使用来实现这一点。我们学习了如何使用 JavaFX ImageView 类 ScaleX 属性及其特殊用例设置来围绕 Y 轴翻转或镜像 ImageView“图像容器”内部的图像资产。
Android 上百实例源码分析以及开源分析
首先 介绍几本书籍(下载包中)吧。 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多
Android 上千实例源码分析以及开源分析
Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多。 首先 介绍几本书籍(下载包中)吧。 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_A
Android资源下载
Android 上百实例源码分析以及开源分析 集合打包7
VC.NET
7,539
社区成员
27,671
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章