canvas.h

来自「smartphone 监听电源状态源码」· C头文件 代码 · 共 63 行

H
63
字号
#pragma once
#include "ShortcutManager.h"
#include "winimage.h"
#include "MonitorVisible.h"

#define  CANVAS_ROW  3
#define  CANVAS_LINE 3
class CCanvas:public CStatic,CMonitorVisible
{
	CString m_sBkBmpPath;
	CRITICAL_SECTION m_CriticalSection;
	HBITMAP m_hDefaultBitmap;
	std::vector<HBITMAP> m_arrVisibleBmp;
	RECT m_arrItemRect[CANVAS_LINE][CANVAS_ROW];
	CRect m_rcCanvas;
	CShortcutManager* m_smCurrent;
	std::vector<CShortcutManager*> m_vecSM;
	void DrawTransParent(HBITMAP hBmp,int const x,int const y,int const cx,int const cy,
		int const srcx,int const srcy,CDC *pDC,COLORREF TransparentColor);
	void DrawShortcutItem(CDC& dc);
	void DrawGif();
	CDC* m_pMemDC;
	void SetCurrentMan(CShortcutManager* pMan);
public:
	CCanvas(void);
	~CCanvas(void);
	DECLARE_MESSAGE_MAP()
	afx_msg void OnPaint();

protected:
	C_ImageSet m_AnimGif;
	HANDLE m_hThreadAnim;			// Thread Handle
	DWORD m_dwThreadIdAnim;		// Thread Identifier
public:
	C_ImageSet * m_pAnimation;	// Pointer to Animation Raster Information
	int m_CurrentImage;			// Current Image being displayed
	int m_CurrentLoop;			// Current Loop in animation
	BOOL m_bAnimationPlaying;		// TRUE when animation is playing.

	// CLASS FUNCTIONS: (not object functions!)
	static DWORD WINAPI fnThread (LPVOID lpParameter);

	// Animation control:
	void Play();				// Starts/Resumes animation
	void Stop();				// Stops(Pauses) animation (without rewinding)
	void Rewind();				// Rewinds animation (without stopping)
	BOOL IsPlaying();
	int LoadAnimatedGif(LPTSTR FileName);

	void SetCanvasRect(CRect& rc);

	BOOL Init(LPCTSTR lpszPath);
	BOOL Initialize(CRect& rc,LPCTSTR lpszPath);
	void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
	void CCanvas::EnterCriticalSec();
	void CCanvas::LeaveCriticalSec();

	void OnOk();
	void OnCancel();
	void OnNotifyChange(int iOldSel,int iOldSelTotal,int iCurrentSize,int iIsAddToBack = 0,int iAdded = 0,int iRemoved = 0);

};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?