VC2005不能像VC++6.0那样在工程里加
怎样加哦?
听说要添加一个Splash类,哪位有?给个啊
谢谢!
怎样加哦?
听说要添加一个Splash类,哪位有?给个啊
谢谢!
解决方案 »
- 写的这个图标列表咋不行呢?
- 一个莫名其妙的错误
- 两个创建无模式对话框的dll调用正常,卸载时,卸载第一个dll将第二个dll中的对话框窗体也卸载了??
- "●"字符如何在界面上显示呢??
- 一个打印控件怎么控制多台打印机
- 为何可执行文件只有88k,运行时却显示占用内存3M多?如何减少内存占用?(急)
- 在VC创建的COM组件中调用另外一个组件的问题
- 想进一步提高VC有没有更深点更全面点的书?
- 被动FTP语意是什么意思?
- Ansi工程中如何使用Unicode Edit控件?
- ::createProcess()函数使用unicode字符集时参数出错,而不用unicode时则正常, 请问要使用unicode,应该怎么传递参数。
- 无法定位程序输入点glRotatef与动态链接库opengl
#pragma once
#include "afxwin.h"
/*****************
使用本类前需要将Stdafx.h中的版
本信息改成#define WINVER 0x0500
用以支持AnimateWindow()函数
*****************/// CSplashWndclass CSplashWnd : public CWnd
{
DECLARE_DYNAMIC(CSplashWnd)public:
//CSplashWnd();
CSplashWnd(UINT bmpID,UINT nTime);
virtual ~CSplashWnd();protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnClose();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
protected:
CBitmap m_bitmap;//闪屏图片
private:
BITMAP m_bmpInfo;//图片信息,用与取图片大小设置窗口大小
UINT m_Time;
};
// SplashWnd.cpp : 实现文件
//#include "stdafx.h"
#include "SplashWnd.h"
#include "SplashWnd.h"
#include ".\splashwnd.h"
// CSplashWndIMPLEMENT_DYNAMIC(CSplashWnd, CWnd)
//CSplashWnd::CSplashWnd()
//{
//
//}
CSplashWnd::CSplashWnd(UINT bmpID,UINT nTime=1000)
{
m_Time = nTime; //淡入淡出效果时间
m_bitmap.LoadBitmap(bmpID);
m_bitmap.GetBitmap(&m_bmpInfo);
//
//注册WNDCLASS
//
CString strWndClass; strWndClass = AfxRegisterWndClass(
NULL,
AfxGetApp() ->LoadStandardCursor(IDC_ARROW),
NULL,
NULL); //
//建立窗口
//
CreateEx(WS_EX_TOOLWINDOW/*不在任务栏显示*/, strWndClass, "启动中...", WS_POPUP, CW_USEDEFAULT, CW_USEDEFAULT,
m_bmpInfo.bmWidth , m_bmpInfo.bmHeight, NULL, NULL, NULL);
}CSplashWnd::~CSplashWnd()
{
}
BEGIN_MESSAGE_MAP(CSplashWnd, CWnd)
ON_WM_CREATE()
ON_WM_CLOSE()
ON_WM_TIMER()
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()// CSplashWnd 消息处理程序
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1; // TODO: 在此添加您专用的创建代码
this->CenterWindow();
AnimateWindow(m_Time,AW_BLEND);
SetTimer(1, 3000, NULL);
return 0;
}void CSplashWnd::OnClose()
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
AnimateWindow(m_Time,AW_BLEND|AW_HIDE); CWnd::OnClose();
}void CSplashWnd::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
OnClose();
CWnd::OnTimer(nIDEvent);
}BOOL CSplashWnd::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//显示图片
CBitmap* pOldBmp;
CDC memDC;
memDC.CreateCompatibleDC(pDC);
pOldBmp = memDC.SelectObject(&m_bitmap);
pDC->BitBlt(0,0,m_bmpInfo.bmWidth,m_bmpInfo.bmHeight,&memDC,0,0,SRCCOPY); return CWnd::OnEraseBkgnd(pDC);
}