⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textmove.h

📁 evc MFC下实现文字滚动效果 AU1250下通过测试
💻 H
字号:
#if !defined(AFX_TEXTMOVE_H__C76E7D16_A888_4238_96AB_96090BF7194C__INCLUDED_)
#define AFX_TEXTMOVE_H__C76E7D16_A888_4238_96AB_96090BF7194C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TextMove.h : header file
//
#include "MemDC.h"
/////////////////////////////////////////////////////////////////////////////
// CTextMove window

class CTextMove : public CWnd
{
// Construction
public:
	CTextMove();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTextMove)
	//}}AFX_VIRTUAL

// Implementation
public:
	
	
	BOOL SetText(const TCHAR *pcszText);//设置显示文本
	BOOL Play(void);                    //开始显示文本
	BOOL Pause(void);                   //暂停显示文本
	BOOL Stop(void);                    //停止显示文本
	void SetInterval(DWORD dwInterval); //设置文本滚动的速度 毫秒
	void SetMovePixel(int iPixel);      //设置滚动像素数
	void SetTxtColor(COLORREF crColor); //设置文本颜色
	void SetTxtPointSize(int iPointSize); //设置字体大小
	void SetTxtWeight(int iWeight);       //设置字体粗细
	void SetBkColor(COLORREF crColor);    //设置背景颜色
	
	virtual ~CTextMove();

	// Generated message map functions
protected:
	CMemDC m_DCTxtInfo;//创建文字位图MEMDC
	 void DrawBackground(HDC hdc);
	//{{AFX_MSG(CTextMove)
	afx_msg void OnPaint();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	BOOL ResetTxtInfoRect();    //初始化要显示文本的长宽
	BOOL InitDCTxtInfo();   //初始化文字DC
	TCHAR *m_pszTxtInfo;        //显示文字指针
	CRect m_rectStaticClient;;	//存储文字显示控件的大小
	int m_offsetX,m_offsetY;	//代表显示位图的偏移量
	int m_sourceX, m_sourceY;	//代表显示位图时,源位图的开始点
	int bm_width;               //位图宽度
	

	int m_iWndWidth;        //显示框的宽度
	int m_iWndHeight;       //显示框的高度
	int m_iTxtInfoX;        //复制临时文本位图的X坐标
	int m_iTxtInfoY;        //复制临时文本位图的Y坐标
	int m_iTxtInfoWidth;  //文本的实际宽度
	int m_iTxtInfoHeight; //文本的实际高度
	int m_iMovePixel;     //移动像素个数
	int m_iTxtInfoPointSize;  //文本字体大小
	int m_iTxtInfoWeight;      //文本字体粗细
	 
	COLORREF m_crTxtInfoColor;  //文本颜色
	COLORREF m_crBkColor;       //显示框背静颜色

private:
	enum TimeoutAction     //控制命令
	{
		TA_NULL,
		TA_MOVE,
		TA_EXIT,
		TA_STOP
	};
	HANDLE m_hEventTimer;
	TimeoutAction m_taCurAction;
	DWORD m_dwInterval; //移动速度
	static DWORD TimerThread(PVOID pArg);
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TEXTMOVE_H__C76E7D16_A888_4238_96AB_96090BF7194C__INCLUDED_)

⌨️ 快捷键说明

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