?? alarm.h
字號:
int dev_id; //板卡號
int channel_id; //通道號
int clear_alert_flag; //消報標志
int alert_type; //報警類型
#define LO 0 //報警類型
#define HI 1
#define LOLO 2
#define HIHI 3
#define UP_R 4
#define DOWN_R 5
#define NORMAL 6
#define ON_RECORD 1
#define STOP_RECORD 2
#define ON_ALARM 3
#define ON_EVENT 4
#define ON_SOUND 5
#define ON_DO 1
#define OFF_DO 2
#define ON_T1 3
#define ON_C1 15
#define ON_ADD 27
#define OFF_ADD 27
#define ON_REPORT 28
#define ALARM_ 800
#define ALARM_ALERT_LIST (ALARM_+1)
#define ALARM_REPORT_LIST (ALARM_+2)
#define ALARM_ALARM (ALARM_+3)
#define ALARM_REPORT (ALARM_+4)
#define ALARM_LAST (ALARM_+5)
#define ALARM_NEXT (ALARM_+6)
#define ALARM_DATE (ALARM_+7)
#define ALARM_MODE (ALARM_+8)
#define ALARM_FIRST (ALARM_+9)
#define ALARM_UP (ALARM_+10)
#define ALARM_DOWN (ALARM_+11)
#define ALARM_ENTER (ALARM_+12)
#define ALARM_BACK (ALARM_+13)
#define ALARM_MYBUTTON (ALARM_+14)
#define ALARM_DOWNLOAD (ALARM_+15)
#define ALARM_CLEAR (ALARM_+16)
#define ALARM_OPREATE (ALARM_+17)
#define ALARM_CONFIGURE (ALARM_+18)
#define ALARM_CTRL (ALARM_+19)
#define ALARM_CLOSE (ALARM_+20)
#define ALARM_LIST 6
#define REPORT_LIST 5
#define MAX_ALARM_NUM 24
#define DAY 0
#define WEEK 1
#define MONTH 2
#define LIGHTBLUE 180
static int alarm_number ;
int period ;
typedef struct _lsthdr
{
struct _lsthdr *pNext;
int x;
int y;
int width;
int height;
BOOL up;
//SORTTYPE sort;
unsigned char *pTitle;
}
LSTHDR;
typedef LSTHDR *PLSTHDR;
typedef struct _subitemdata
{
struct _subitemdata *pNext;
unsigned char *pszInfo;
}
SUBITEMDATA;
typedef SUBITEMDATA *PSUBITEMDATA;
typedef struct _itemdata
{
struct _itemdata *pNext;
int nTextColor;
BOOL bSelected;
int nRows;//used for item selected ,valid is bSelected = true
PSUBITEMDATA pSubItemHead;
}
ITEMDATA;
typedef ITEMDATA *PITEMDATA;
typedef struct _lstvwdata
{
int nCols;
int nRows;
int nVisableRows;
int nFirstVisableRow;
int nOriginalX;
int nOriginalY;
BOOL bBorderDraged;
BOOL bItemClicked;
//static BOOL bMouseInBorder = FALSE;
PLSTHDR pItemDraged;
PLSTHDR pItemClicked;
PITEMDATA pItemSelected;
int oldMouseX, oldMouseY;
int nItemDraged;
int nItemSelected;
int nItemHeight;
int nHeadHeight;
HWND hWnd;
PLSTHDR pLstHead;
PITEMDATA pItemHead;
}
LSTVWDATA;
typedef LSTVWDATA *PLSTVWDATA;
typedef struct _ALARMTABLE{
int num;
unsigned char * type;
unsigned char * from;
float value;
}ALARMTABLE;
typedef ALARMTABLE* PALARMTABLE;
ALARMTABLE alarm_table;
typedef struct _DATE{
int year;
int month;
int day;
}DATE;
typedef DATE* PDATE;
DATE report_date;
//按鍵定義
#define KEYE_MODE SCANCODE_W
#define KEYE_UPDOWN SCANCODE_S
#define KEYE_UP SCANCODE_A
#define KEYE_DOWN SCANCODE_D
#define KEYE_ENTER SCANCODE_ENTER
#define KEYE_BACK SCANCODE_Q
#define KEYE_SHUT SCANCODE_ESCAPE
//左邊的按鈕
#define LBUTTON_X 2
#define LBUTTON_Y 0
#define LBUTTON_W 80
#define LBUTTON_H 73 //(HEIGHT-top/6)
//底部的按鈕
#define BBUTTON_X 82//(LBUTTON_X+LBUTTON_W)
#define BBUTTON_Y 398 //(HEIGHT-LEFT-BOTTOM)
#define BBUTTON_W 80 //((WIDTH-LEFT)/7) (640-80)/7
#define BBUTTON_H 40
//列表框
#define LV_X 82
#define LV_Y 32
#define LV_W 550 //640-80
#define LV_H 365
static CTRLDATA CtrlEvent[] =
{
{ "listview", WS_BORDER | WS_CHILD | WS_VSCROLL |WS_VISIBLE ,LV_X, LV_Y, LV_W, LV_H,ALARM_ALERT_LIST, "",0 },
{"listview",WS_BORDER | WS_CHILD |WS_VSCROLL,LV_X, LV_Y+40, LV_W, LV_H-40, ALARM_REPORT_LIST, "", 0},
{CTRL_STATIC,SS_CENTER, 240, 35, 200, 25, ALARM_DATE, "03/12/2005", },
{ "button",WS_CHILD | BS_PUSHBUTTON,LV_X, 35, 40, 25, ALARM_LAST, "<",0},
{"button",WS_CHILD | BS_PUSHBUTTON,630-40, 35, 40, 25,ALARM_NEXT, ">",0 },
{"button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, LV_X, 5, 80, 25,ALARM_ALARM, "事件/警報",0},
{"button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, LV_X+90, 5, 80, 25,ALARM_REPORT, " 報告 ",0},
//左邊的按鈕
{ "button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON |BS_MULTLINE, LBUTTON_X, LBUTTON_Y, LBUTTON_W, LBUTTON_H, ALARM_MODE, "\n事件\n模式\n W", 0 },
{ "mybutton",WS_CHILD|BS_BITMAP| BS_PUSHBUTTON|WS_TABSTOP|WS_VISIBLE, LBUTTON_X, LBUTTON_Y+LBUTTON_H, LBUTTON_W, LBUTTON_H,ALARM_FIRST, "\n\n首尾\n S",(DWORD)(&event_bmp[0]) },
{"mybutton",WS_CHILD|BS_BITMAP| BS_PUSHBUTTON|WS_TABSTOP|WS_VISIBLE, LBUTTON_X, LBUTTON_Y+LBUTTON_H*2, LBUTTON_W, LBUTTON_H, ALARM_UP, "\n\n上移 \n A", (DWORD)(&event_bmp[1]) },
{"mybutton",WS_CHILD|BS_BITMAP| BS_PUSHBUTTON|WS_TABSTOP|WS_VISIBLE,LBUTTON_X, LBUTTON_Y+LBUTTON_H*3, LBUTTON_W, LBUTTON_H,ALARM_DOWN, "\n下移 \n D", (DWORD)(&event_bmp[2])},
{ "mybutton",WS_CHILD|BS_BITMAP| BS_PUSHBUTTON|WS_TABSTOP|WS_VISIBLE , LBUTTON_X, LBUTTON_Y+LBUTTON_H*4, LBUTTON_W, LBUTTON_H, ALARM_ENTER, "\n確認 \nEnter", (DWORD)(&event_bmp[3]) },
{ "button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE,LBUTTON_X, LBUTTON_Y+LBUTTON_H*5, LBUTTON_W, LBUTTON_H, ALARM_BACK, "\n返回 \nQ", 0 },
//底部的按鈕
{ "button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE,BBUTTON_X,BBUTTON_Y,BBUTTON_W,BBUTTON_H,ALARM_DOWNLOAD, "下載\nF3", 0},
{"button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE, BBUTTON_X+BBUTTON_W,BBUTTON_Y,BBUTTON_W,BBUTTON_H,ALARM_CLEAR,"清除\nF4",0},
{ "button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE,BBUTTON_X+BBUTTON_W*2,BBUTTON_Y,BBUTTON_W,BBUTTON_H,ALARM_OPREATE, "操作\nF5",0},
{"button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE,BBUTTON_X+BBUTTON_W*3,BBUTTON_Y,BBUTTON_W,BBUTTON_H, ALARM_CONFIGURE, "組態\nF6",0 },
{ "button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,BBUTTON_X+BBUTTON_W*4,BBUTTON_Y,BBUTTON_W,BBUTTON_H,ALARM_CTRL, "", 0 },
{ "button",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON|BS_MULTLINE, BBUTTON_X+BBUTTON_W*6,BBUTTON_Y,BBUTTON_W,BBUTTON_H,ALARM_CLOSE,"關機\nESC", 0 },
};
static DLGTEMPLATE DlgEvent =
{
WS_VISIBLE,
WS_EX_NONE,
0, TOP, WIDTH, HEIGHT-TOP,
"Event/Alert",
0, 0,
19, NULL,
0
};
static void DownloadItem(HWND hDlg );
static void AlarmHappen(HWND hDlg, unsigned short palarm_type,int id);
static void AlarmSolve(HWND hDlg ,int num);
static void AlarmOver(HWND hDlg ,int num);
static void AlarmClear(HWND hDlg );
static void AlarmInit(HWND hDlg);
static void ForwardDate(HWND hDlg);
static void BackDate(HWND hDlg);
int EventProc (HWND hDlg, int message, WPARAM wParam, LPARAM lParam);
void DlgConfAlert(HWND hWnd);
void CheckMemory(void);
BOOL DealAlarmReport(HWND hDlg,unsigned int alarm_type);
unsigned int GetAlarmType(int id);
void SecondToTime(long seconds);
long GetSecond(void);
static void AlarmHappenTest(HWND hDlg);//PALARMTABLE alarm ,
void CheckMemory(void);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -