📄 elevatordlg.h
字号:
// ElevatorDlg.h : header file
//
#if !defined(AFX_ELEVATORDLG_H__02CD205C_1566_449C_B58D_1BF712DC64AA__INCLUDED_)
#define AFX_ELEVATORDLG_H__02CD205C_1566_449C_B58D_1BF712DC64AA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h" // main symbols
#include "CommonInc.h"
#include "WaitQueue.h"
#include "ColorStaticST.h"
//发往父窗体的消息
#define WM_ARRIVE_ONEFLOOR WM_USER+ 0X80
/*####################################################################
模块名称: 电梯箱体
开发作者: 漫步阳光
开发时间: @2005.11
####################################################################*/
/////////////////////////////////////////////////////////////////////////////
// CElevatorDlg dialog
class CElevatorDlg : public CDialog
{
// Construction
public:
CElevatorDlg(CWnd* pParent = NULL); // standard constructor
CElevatorDlg(int iElevatorNo, int iMaxPassengerNum=15, int iIniFloor=1, CWnd* pParent = NULL);
void acceptReq(sOuterRequest& tmpOuterRequest);
bool isOverWeight() { return m_iCurPassengerNum > m_iMaxPassengerNum; }
bool isMalFunction() { return m_eCurState==MAL_FUNCTION; }
int getElevatorNo() { return m_iElevatorNo; }
int getCurPassengerNum() { return m_iCurPassengerNum; }
int getCurFloor() { return m_iCurFloor; }
int getCurWeight() { return m_iCurPassengerNum; }
enum state getState() { return m_eCurState; }
bool canSchedule() { return m_bCanSchedule; }
void setState(enum state eCurState) { m_eCurState =eCurState; }
// Dialog Data
//{{AFX_DATA(CElevatorDlg)
enum { IDD = IDD_ELEVATOR_DIALOG };
CStatic m_conPsgNum;
CStatic m_conState;
CColorStaticST m_ElevatorBox;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CElevatorDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
CWnd* m_pParent;
CStdioFile m_cLogFile;//日志文件
CFileException m_Except;
protected:
void gotoNextDest();
// Generated message map functions
//{{AFX_MSG(CElevatorDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnDestroy();
afx_msg void openDoor();
afx_msg void closeDoor();
afx_msg void OnBtnCreateFault();
afx_msg void OnBtnCorrectFault();
afx_msg void OnBtnPsgEnter();
afx_msg void OnBtnPsgLeave();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
//}}AFX_MSG
afx_msg void OnInnerBtnClk(UINT nID);
DECLARE_MESSAGE_MAP()
private:
int m_iElevatorNo;
int m_iMaxPassengerNum;
int m_iCurPassengerNum;
int m_iCurFloor;
int m_iNextDestFloor;
enum state m_eCurState;
enum state m_eOldState;
enum direction m_eBackupDirection;
bool m_bCanSchedule;
char str_arrElevatorName[ELEVATOR_NUM];
//HBRUSH m_hbrush;
//enum state m_eOldState;
//窗体成员变量
CButton* m_pButton[FLOOR_NUM];
CStatic* m_pLabel[FLOOR_NUM];
CString stateDespArr[8];
//等待队列
CUpWaitQueue* m_cUpWaitQueue;
CDownWaitQueue* m_cDownWaitQueue;
private:
//void gotoDestFloor(int iFloorNo);
void enableRelateBtn(enum state eCurState, int iFloorNo);
void Write2Log(CString content);
void buzz();
//void OnePassengerEnter();
//void OnePassengerLeave();
};
#endif // !defined(AFX_ELEVATORDLG_H__02CD205C_1566_449C_B58D_1BF712DC64AA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -