添加启动类
添加.h和cpp
#pragma once #include "afxwin.h" class mySplash : public CWnd { DECLARE_DYNAMIC(mySplash) protected: DECLARE_MESSAGE_MAP() public: CBitmap m_bitmap; void Create(UINT nBitmapID); afx_msg void OnPaint(); afx_msg void OnTimer(UINT_PTR nIDEvent); public: mySplash(void); ~mySplash(void); };
#include "stdafx.h" #include "mySplash.h" IMPLEMENT_DYNAMIC(mySplash, CWnd) mySplash::mySplash() { } mySplash::~mySplash() { } BEGIN_MESSAGE_MAP(mySplash, CWnd) ON_WM_PAINT() ON_WM_TIMER() END_MESSAGE_MAP() void mySplash::Create(UINT nBitmapID) { m_bitmap.LoadBitmap(nBitmapID); BITMAP bitmap; m_bitmap.GetBitmap(&bitmap); CreateEx(0,AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)),NULL, WS_POPUP | WS_VISIBLE, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NULL, NULL); } void mySplash::OnPaint() { CPaintDC dc(this); BITMAP bitmap; m_bitmap.GetBitmap(&bitmap); CDC dcComp; dcComp.CreateCompatibleDC(&dc); dcComp.SelectObject(&m_bitmap); dc.BitBlt(0, 0, bitmap.bmWidth, bitmap.bmHeight, &dcComp, 0, 0, SRCCOPY); } void mySplash::OnTimer(UINT_PTR nIDEvent) { DestroyWindow(); //销毁初始画面窗口 }
而后在initdialog中添加
mySplash wndSplash; //创建启动窗口类的实例 wndSplash.Create(IDB_BITMAP1); wndSplash.CenterWindow(); wndSplash.UpdateWindow(); //send WM_PAINT Sleep(2500); wndSplash.DestroyWindow();//销毁初始画面窗口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!