求像skype那样一启动有个闪屏,能自动消失的完整代码

lpszDefExt 2009-03-25 04:31:36
主要是能实现exe启动时间稍微长点,有个画面友好显示的功能,
做个闪屏应该就可以了,我做了个总是不能正常表示主画面,很郁闷,求这方面代码。
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lpszDefExt 2009-03-30
  • 打赏
  • 举报
回复
thank you to linaren,OK
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
  • 打赏
  • 举报
回复
帮顶
内容概要:本文围绕基于三电平ANPC-VSG(虚拟同步发电机)构网型逆变器的控制策略展开研究,重点提出一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的复合控制体系。通过ANPC三电平拓扑结构的优势,实现开关损耗均衡、中点电位稳定及低输出谐波,从而提升并网电能质量。采用DPWMA调制策略优化输出波形,有效抑制低次谐波;结合正负序分离技术应对电网不平衡工况,确保锁相精度与并网对称性;引入电网电压前馈控制增强系统动态响应能力与抗扰性能。通过Simulink仿真平台搭建完整模型,验证了该控制策略在稳态运行、电网不平衡及动态扰动等多种复杂工况下的优越性能,展现出高稳态精度、强鲁棒性与快速动态恢复能力,适用于新能源发电、工业大功率变流等高要求并网场景。; 适合人群:具备电力电子、自动控制或电气工程相关背景,从事新能源发电、微电网、逆变器控制等方向的科研人员及工程技术人员,尤其适合研究生及以上层次的研究者。; 使用场景及目标:①用于高电能质量要求的大功率并网逆变器系统设计;②解决电网电压不平衡、畸变、骤升骤降等复杂工况下的并网稳定性问题;③提升逆变器动态响应速度与抗干扰能力,适用于光伏、风电等新能源并网场景。; 阅读建议:建议结合Simulink仿真模型进行实践验证,重点关注DPWMA调制策略的实现逻辑、正负序分离锁相的信号处理流程以及电网电压前馈环节的补偿机制,深入理解各模块间的协同作用,并通过不同工况下的仿真对比分析,全面掌握系统性能优化方法。

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧