📄 status.cpp
字号:
#include <vcl.h>
#include "status.h"
#include "datetool.h"
#include "Gridtool.h"
/* 定义状态框标示符*/
enum STATUS_ITEM{IDC_BLANK,IDC_OPERATORHEAD,IDC_OPERATOR,
IDC_INNUMEAD,IDC_INNUM,
IDC_OUTNUMEAD,IDC_OUTNUM,
IDC_RESERVER,
IDC_DISPDATE,IDC_DISPTIME,
IDC_VENDOR};
//获取设置主状态栏
static void *GetSetMainStatus(void *pStatus);
#define GetMainStatus() ((TStatusBar *)GetSetMainStatus(NULL))
//设置主状态栏
void *SetMainStatus(void *pStatus)
{
return(GetSetMainStatus(pStatus));
}
//获取设置主状态栏
void *GetSetMainStatus(void *pStatus)
{
static void *MainStatus;
void *p;
p=MainStatus;
if(pStatus!=NULL)MainStatus=pStatus;
return(p);
}
//显示时间和日期
void DispDateAndTime(void)
{
static BYTE state=100;
SYSTEMTIME t;
char szBuf[30];
TStatusBar *pStatus;
pStatus = GetMainStatus();
if(pStatus==NULL)return;
GetLocalTime(&t);
wsprintf(szBuf,"%02d:%02d:%02d",t.wHour,t.wMinute,t.wSecond);
pStatus->Panels->Items[IDC_DISPTIME]->Text=szBuf;
if((++state)>60){
wsprintf(szBuf,"%04d.%02d.%02d %s",t.wYear,t.wMonth,t.wDay,
GetWeekName(t.wDayOfWeek));
pStatus->Panels->Items[IDC_DISPDATE]->Text=szBuf;
state=0;
}
}
//显示操作员
void DispOperator(char *pszOperator)
{
TStatusBar *pStatus;
pStatus = GetMainStatus();
if(pStatus==NULL)return;
pStatus->Panels->Items[IDC_OPERATOR]->Text=pszOperator;
}
//显示进入数
void DispParkInNum(int n)
{
TStatusBar *pStatus;
char szBuf[30];
pStatus = GetMainStatus();
if(pStatus==NULL)return;
wsprintf(szBuf,"%d",n);
pStatus->Panels->Items[IDC_INNUM]->Text=szBuf;
}
//显示外出数
void DispParkOutNum(int n)
{
TStatusBar *pStatus;
char szBuf[30];
pStatus = GetMainStatus();
if(pStatus==NULL)return;
wsprintf(szBuf,"%d",n);
pStatus->Panels->Items[IDC_OUTNUM]->Text=szBuf;
}
//自画状态栏
void OwnerDrawMainStatus(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect)
{
TCanvas *tc;
int nIndex,nColor,nAlign;
nIndex = Panel->Index;
nAlign = DT_LEFT;
if(nIndex==IDC_OPERATOR) nColor = clBlue;
else if(nIndex==IDC_INNUM || nIndex==IDC_OUTNUM)
{ nColor=clRed; nAlign=DT_CENTER; }
else if(nIndex==IDC_VENDOR)nColor = clNavy; //厂家
else nColor = clGreen;
tc = StatusBar->Canvas;
RectText(tc,Rect,Panel->Text,nColor,nAlign);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -