77 lines
1.7 KiB
C++
77 lines
1.7 KiB
C++
// SplashScreenEx.cpp : header file
|
|
// by John O'Byrne 01/10/2002
|
|
|
|
#pragma once
|
|
|
|
#define CSS_FADEIN 0x0001
|
|
#define CSS_FADEOUT 0x0002
|
|
#define CSS_FADE CSS_FADEIN | CSS_FADEOUT
|
|
#define CSS_SHADOW 0x0004
|
|
#define CSS_CENTERSCREEN 0x0008
|
|
#define CSS_CENTERAPP 0x0010
|
|
#define CSS_HIDEONCLICK 0x0020
|
|
|
|
#define CSS_TEXT_NORMAL 0x0000
|
|
#define CSS_TEXT_BOLD 0x0001
|
|
#define CSS_TEXT_ITALIC 0x0002
|
|
#define CSS_TEXT_UNDERLINE 0x0004
|
|
|
|
typedef BOOL (WINAPI* FN_ANIMATE_WINDOW)(HWND,DWORD,DWORD);
|
|
|
|
// CSplashScreenEx
|
|
|
|
class CSplashScreenEx : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CSplashScreenEx)
|
|
|
|
public:
|
|
CSplashScreenEx();
|
|
virtual ~CSplashScreenEx();
|
|
|
|
BOOL Create(CWnd *pWndParent,LPCTSTR szText=NULL,DWORD dwStyle=CSS_FADE | CSS_CENTERSCREEN | CSS_SHADOW);
|
|
BOOL SetBitmap(UINT nBitmapID,short red=-1,short green=-1,short blue=-1);
|
|
BOOL SetBitmap(LPCTSTR szFileName,short red=-1,short green=-1,short blue=-1);
|
|
|
|
void Show();
|
|
void Hide();
|
|
|
|
void SetText(LPCTSTR szText);
|
|
void SetTextFont(LPCTSTR szFont,int nSize,int nStyle);
|
|
void SetTextDefaultFont();
|
|
void SetTextColor(COLORREF crTextColor);
|
|
void SetTextRect(CRect& rcText);
|
|
void SetTextFormat(UINT uTextFormat);
|
|
|
|
protected:
|
|
FN_ANIMATE_WINDOW m_fnAnimateWindow;
|
|
CWnd *m_pWndParent;
|
|
CBitmap m_bitmap;
|
|
CFont m_myFont;
|
|
HRGN m_hRegion;
|
|
|
|
DWORD m_dwStyle;
|
|
CString m_strText;
|
|
CRect m_rcText;
|
|
UINT m_uTextFormat;
|
|
COLORREF m_crTextColor;
|
|
|
|
int m_nBitmapWidth;
|
|
int m_nBitmapHeight;
|
|
int m_nxPos;
|
|
int m_nyPos;
|
|
|
|
HRGN CreateRgnFromBitmap(HBITMAP hBmp, COLORREF color);
|
|
void DrawWindow(CDC *pDC);
|
|
|
|
protected:
|
|
DECLARE_MESSAGE_MAP()
|
|
public:
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg void OnPaint();
|
|
LRESULT OnPrintClient(WPARAM wParam, LPARAM lParam);
|
|
protected:
|
|
virtual void PostNcDestroy();
|
|
};
|
|
|
|
|