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

📄 clockctrl.h

📁 《Visual C++.NET MFC类库应用详解》程序实例
💻 H
字号:
#pragma once

// ClockCtrl.h : CClockCtrl ActiveX 控件类的声明。


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

class CClockCtrl : public COleControl
{
	DECLARE_DYNCREATE(CClockCtrl)

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

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

// 实现
protected:
	~CClockCtrl();

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

// 消息映射
	DECLARE_MESSAGE_MAP()

// 调度映射
	DECLARE_DISPATCH_MAP()

	afx_msg void AboutBox();

// 事件映射
	DECLARE_EVENT_MAP()

// 调度和事件 ID
public:
	enum {
		dispidSetActiveTime = 6L,		eventidActiveWhen = 1L,		dispidKillTimekeeper = 5L,		dispidStartTimekeeper = 4L,		dispidFactoryName = 3,		dispidPenWidth = 2,		dispidhourPosColor = 1
	};
protected:
	void OnhourPosColorChanged(void);
	OLE_COLOR m_hourPosColor;
	void OnPenWidthChanged(void);
	SHORT m_PenWidth;
	void OnFactoryNameChanged(void);
	CString m_FactoryName;

 	short m_oldHour;  // 记录计时开始时的时间
 	short m_oldMin;
 	short m_oldSec;
 	double m_hourAngle;  // 计录时针、分针和秒针在表盘上的位置
 	double m_minAngle;
 	double m_secAngle;

    short m_setHour;
 	short m_setMin;
 	short m_setSec;
    UINT m_timer;

	void StartTimekeeper(void);
	LONG KillTimekeeper(void);
    void SetPointerPos();

	void ActiveWhen(SHORT hour, SHORT min, SHORT sec)
	{
		FireEvent(eventidActiveWhen, EVENT_PARAM(VTS_I2 VTS_I2 VTS_I2), hour, min, sec);
	}
	void SetActiveTime(SHORT hour, SHORT min, SHORT sec);
	void DrawPointer(CDC *pDC,CRect rect,double d1,double d2,double d3,double angle);
public:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnTimer(UINT nIDEvent);
	virtual BOOL DestroyWindow();
};

⌨️ 快捷键说明

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