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

📄 trafficsignalctl.h

📁 Beginning Visual C++ 6源码。Wrox。
💻 H
字号:
#if !defined(AFX_TRAFFICSIGNALCTL_H__A833B938_78FF_11D0_9257_00201834E2A3__INCLUDED_)
#define AFX_TRAFFICSIGNALCTL_H__A833B938_78FF_11D0_9257_00201834E2A3__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

// TrafficSignalCtl.h : Declaration of the CTrafficSignalCtrl ActiveX Control class.

/////////////////////////////////////////////////////////////////////////////
// CTrafficSignalCtrl : See TrafficSignalCtl.cpp for implementation.

class CTrafficSignal;

class CTrafficSignalCtrl : public COleControl
{
	DECLARE_DYNCREATE(CTrafficSignalCtrl)

protected:
   CTrafficSignal* m_pSignal;     // Pointer to a traffic signal object
   long m_lStopOrGoTime;          // Duration of stop period, or go period
   UINT m_nChangeTime;            // Duration of orange period
   BOOL m_bSignalGo;              // TRUE indicates the signal is running 
   UINT m_nTimerID;               // Timer event ID

// Constructor
public:
	CTrafficSignalCtrl();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CTrafficSignalCtrl)
	public:
	virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
	virtual void DoPropExchange(CPropExchange* pPX);
	virtual void OnResetState();
	//}}AFX_VIRTUAL

// Implementation
protected:
	~CTrafficSignalCtrl();

	DECLARE_OLECREATE_EX(CTrafficSignalCtrl)    // Class factory and guid
	DECLARE_OLETYPELIB(CTrafficSignalCtrl)      // GetTypeInfo
	DECLARE_PROPPAGEIDS(CTrafficSignalCtrl)     // Property page IDs
	DECLARE_OLECTLTYPE(CTrafficSignalCtrl)		// Type name and misc status

// Message maps
	//{{AFX_MSG(CTrafficSignalCtrl)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

// Dispatch maps
	//{{AFX_DISPATCH(CTrafficSignalCtrl)
	BOOL m_bStartRed;
	afx_msg void OnStartRedChanged();
	afx_msg long GetStopOrGoTime();
	afx_msg void SetStopOrGoTime(long nNewValue);
	//}}AFX_DISPATCH
	DECLARE_DISPATCH_MAP()

	afx_msg void AboutBox();

// Event maps
	//{{AFX_EVENT(CTrafficSignalCtrl)
	void FireSignalChanged(long lNewState)
		{FireEvent(eventidSignalChanged,EVENT_PARAM(VTS_I4), lNewState);}
	//}}AFX_EVENT
	DECLARE_EVENT_MAP()

// Dispatch and event IDs
public:
	enum {
	//{{AFX_DISP_ID(CTrafficSignalCtrl)
	dispidStartRed = 1L,
	dispidStopOrGoTime = 2L,
	eventidSignalChanged = 1L,
	//}}AFX_DISP_ID
	};

private:
	void StopSignal();
	void StartSignal();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TRAFFICSIGNALCTL_H__A833B938_78FF_11D0_9257_00201834E2A3__INCLUDED)

⌨️ 快捷键说明

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