📄 warnstatic.cpp
字号:
// WarnStatic.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "WarnStatic.h"
#include "FLADS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CWarnStatic
extern CFLADSApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CWarnStatic
CWarnStatic::CWarnStatic()
{
type=0;
}
CWarnStatic::~CWarnStatic()
{
}
BEGIN_MESSAGE_MAP(CWarnStatic, CStatic)
//{{AFX_MSG_MAP(CWarnStatic)
ON_WM_PAINT()
ON_WM_CREATE()
ON_WM_DESTROY()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWarnStatic message handlers
void CWarnStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
int Leny;
unsigned char ch;
GetClientRect(&m_rectClient);
Leny=m_rectClient.bottom-m_rectClient.top;
CDC memDC;
memDC.CreateCompatibleDC(&dc);
CBitmap* pOld;
switch(type)
{
case 0x00:
if(theApp.WarnFlag==0)
{
pOld = memDC.SelectObject(theApp.fillbitmap[68]);//报警隐 红灯亮
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}else
{
pOld = memDC.SelectObject(theApp.fillbitmap[67]);//报警现 红灯灭
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}
if(theApp.AddHotFlag==0)
{
pOld = memDC.SelectObject(theApp.fillbitmap[70]);//黄灯灭
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top+Leny/3, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}else
{
pOld = memDC.SelectObject(theApp.fillbitmap[69]);//黄灯亮
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top+Leny/3, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}
if(theApp.HTemperFlag==0)
{
pOld = memDC.SelectObject(theApp.fillbitmap[72]);//绿灯灭
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top+2*Leny/3, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}else
{
pOld = memDC.SelectObject(theApp.fillbitmap[71]);//绿灯亮
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top+2*Leny/3, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}
AddHotFlag = theApp.AddHotFlag;
HTemperFlag = theApp.HTemperFlag;
WarnFlag = theApp.WarnFlag;
break;
case 0x01: pOld = memDC.SelectObject(theApp.fillbitmap[75]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
break;
case 0x02: pOld = memDC.SelectObject(theApp.fillbitmap[76]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left, m_rectClient.top, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
break;
}
// Do not call CStatic::OnPaint() for painting messages
}
int CWarnStatic::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CStatic::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
SetTimer (2003,500,NULL);
return 0;
}
void CWarnStatic::OnDestroy()
{
CStatic::OnDestroy();
// TODO: Add your message handler code here
KillTimer(2003);
}
void CWarnStatic::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
int j;
if(type==0)
{
j=0;
if(AddHotFlag!=theApp.AddHotFlag) j++;
if(HTemperFlag!=theApp.HTemperFlag)j++;
if(WarnFlag!=theApp.WarnFlag) j++;
if(j!=0) Invalidate(false);
}
CStatic::OnTimer(nIDEvent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -