📄 myshowcontrol.h
字号:
#pragma once
#ifdef MY_SHOWPICTURE_CONTROL_DLL
#define MY_CUSTOMCTROL_DLL_DECLARE _declspec(dllexport)
#else
#define MY_CUSTOMCTROL_DLL_DECLARE _declspec(dllimport)
#endif
// CMyBitmapShow
class MY_CUSTOMCTROL_DLL_DECLARE CMyBitmapShow : public CWnd
{
DECLARE_DYNAMIC(CMyBitmapShow)
public:
CMyBitmapShow();
virtual ~CMyBitmapShow();
private:
int m_iBitmapSum ; // 保存在列表中的位图数目
int m_iCurrentBitmapIndex ; // 目前要显示的位图数字索引(从0开始)
UINT m_nTimer ; // 设置的计时器
UINT m_nBreakSeconds ; // 计时器的间隔时间
CSize m_sizeBmp ; // 位图大小
protected:
CImageList m_PictureList ; // 保存所有位图的列表
protected:
bool b_MouseOver; // 控件是否有鼠标经过
bool m_bShowing ; // 控件是否开始显示位图
private:
// 向位图列表中添加位图,(位图大小由第一个加入的位图决定)
// 后续添加的位图大小与第一个不符时,加入会失败。
BOOL Add( CBitmap* pbmp ) ;
public:
// 用位图资源编号或者文件名称添加位图
BOOL AddBitmap(UINT nIDResource);
BOOL AddBitmap(LPCTSTR pstrBmpFile) ;
// 设置循环放映的时间间隔
void SetBreakTime(UINT nseconds) ;
// 开始显示图片
void BeginShow() ;
protected:
DECLARE_MESSAGE_MAP()
// 注册Custom Control的类名
bool RegisterWindowClass();
public:
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
afx_msg void OnPaint();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg LRESULT OnMouseLeave(WPARAM wParam , LPARAM lParam) ;
afx_msg void OnTimer(UINT nIDEvent);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -