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

📄 warnstatic.cpp

📁 波峰焊后台控制软件-中文版
💻 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 + -