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

📄 aneasyvaluectrl.h

📁 本书分为五个部分
💻 H
字号:
#pragma once
#include "atltypes.h"

// AnEasyValueCtrl.h : CAnEasyValueCtrl ActiveX 控件类的声明。


// CAnEasyValueCtrl : 有关实现的信息,请参阅 AnEasyValueCtrl.cpp。

class CAnEasyValueCtrl : public COleControl
{
	DECLARE_DYNCREATE(CAnEasyValueCtrl)

// 构造函数
public:
	CAnEasyValueCtrl();

// 重写
public:
	virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
	virtual void DoPropExchange(CPropExchange* pPX);
	virtual void OnResetState();

// 实现
protected:
	~CAnEasyValueCtrl();

	DECLARE_OLECREATE_EX(CAnEasyValueCtrl)    // 类工厂和 guid
	DECLARE_OLETYPELIB(CAnEasyValueCtrl)      // GetTypeInfo
	DECLARE_PROPPAGEIDS(CAnEasyValueCtrl)     // 属性页 ID
	DECLARE_OLECTLTYPE(CAnEasyValueCtrl)		// 类型名称和杂项状态

// 消息映射
	DECLARE_MESSAGE_MAP()

// 调度映射
	DECLARE_DISPATCH_MAP()

	afx_msg void AboutBox();

// 事件映射
	DECLARE_EVENT_MAP()

// 调度和事件 ID
public:
	enum {
		dispidABeep = 5L,		eventidValueIsMax = 1L,		dispidCurValue = 4,		
		dispidMinValue = 3,		
		dispidMaxValue = 2,		
		dispidTextAlign = 1
	};
protected:
	void OnTextAlignChanged(void);
	LONG m_TextAlign;
	LONG GetMaxValue(void);
	void SetMaxValue(LONG newVal);
	LONG GetMinValue(void);
	void SetMinValue(LONG newVal);
	LONG GetCurValue(void);
	void SetCurValue(LONG newVal);
public:
	long m_MaxValue;
	long m_MinValue;
	long m_CurValue;
	CSize m_szValueText;
	CRect m_rcBar;
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
protected:

	void ValueIsMax(LONG* pMaxValue)
	{
		FireEvent(eventidValueIsMax, EVENT_PARAM(VTS_PI4), pMaxValue);
		DoClick(); //调用DoClick常用方法
		Beep(); //调用ABeep自定义方法
	}
	void Beep(void);
};

⌨️ 快捷键说明

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