📄 testimage.cpp
字号:
// TestImage.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "TestImage.h"
#include "FLADS.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTestImage
extern CFLADSApp theApp;
CTestImage::CTestImage()
{
flash=0;
}
CTestImage::~CTestImage()
{
DeleteObject(hbrush);
}
BEGIN_MESSAGE_MAP(CTestImage, CStatic)
//{{AFX_MSG_MAP(CTestImage)
ON_WM_PAINT()
ON_WM_CTLCOLOR()
ON_WM_CREATE()
ON_WM_DRAWITEM()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTestImage message handlers
void CTestImage::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
/* int i,dx,dy;
unsigned char ch;
CString string;
CRect mm_rect;
mm_rect.left=0;
mm_rect.right=0;
mm_rect.top=0;
mm_rect.bottom=0;
GetClientRect(&m_rectClient);
dc.SetBkColor(RGB(0, 167, 192));
dc.SetBkMode(OPAQUE);
if(theApp.TestFlash!=0)
{
theApp.TestFlash=0;
flash=0;
}
/* if(flash==0)
{
GetClientRect(&m_rectClient);
CBrush brush(RGB(0, 167, 192));
dc.FillRect(m_rectClient, &brush);
}
*/
/* CDC memDC;
memDC.CreateCompatibleDC(&dc);
CBitmap* pOld;
// 0--------入板光感
// 1--------急停
// 2--------编码信号
// 3--------噴头左限 原点
// 4--------噴头右限 顶点
// 5--------运输马达过载
// 6--------
// 7--------排风马达过载
// 8--------波峰马达1
// 9--------波峰马达2
//10--------调机测试
// theApp.yxbuf00=RxdBuffer[6];
// theApp.yxbuf01=RxdBuffer[7];
LOGFONT lf;
CFont Font, *PtrOldFont;
memset(&lf, 0, sizeof(LOGFONT));
lf.lfHeight = 24;
lstrcpy(lf.lfFaceName, _T("宋体"));
Font.CreateFontIndirect(&lf);
PtrOldFont = dc.SelectObject(&Font);//--
dc.SetTextColor(RGB(0, 0, 0));
for(i=0;i<11;i++)
{
if(i!=6)
{
switch(i)
{
case 0x00: dx=0; dy=40;
string=_T("入板光感");
break;
case 0x01: dx=150*1; dy=40;
string=_T("紧急停止");
break;
case 0x02: dx=150*2; dy=40;
string=_T("编码信号");
break;
case 0x03: dx=150*3; dy=40;
string=_T("噴头左限");
break;
case 0x04: dx=150*4; dy=40;
string=_T("噴头右限");
break;
case 0x05: dx=0; dy=120;
string=_T("运输马达过载");
break;
case 0x07: dx=150*1; dy=120;
string=_T("排风马达过载");
break;
case 0x08: dx=150*2; dy=120;
string=_T("波峰马达1");
break;
case 0x09: dx=150*3; dy=120;
string=_T("波峰马达2");
break;
case 0x0a: dx=150*4; dy=120;
string=_T("调机测试");
break;
}
if(theApp.krsts(i)!=0)
{//绿色
pOld = memDC.SelectObject(theApp.fillbitmap[164]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left+40+dx, m_rectClient.top+dy, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
}else
{//红色
pOld = memDC.SelectObject(theApp.fillbitmap[165]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left+40+dx, m_rectClient.top+dy, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
}
memDC.SelectObject(pOld);
ExtTextOut(dc,m_rectClient.left+15+dx,m_rectClient.top+dy+40,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
}
}//for
// Do not call CStatic::OnPaint() for painting messages
ch=theApp.Warn[0];
ch=ch & 0x01;
if(ch==0)
{//通信正常
pOld = memDC.SelectObject(theApp.fillbitmap[166]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left+40, m_rectClient.top+300, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}else
{
pOld = memDC.SelectObject(theApp.fillbitmap[167]);
if (pOld == NULL)return; // destructors will clean up
dc.BitBlt(m_rectClient.left+40, m_rectClient.top+300, m_rectClient.Width(), m_rectClient.Height(),
&memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
}
switch(theApp.A4018_TT)//tt
{
case 0x00: string=_T("-15 mV——+15 mV ");
break;
case 0x01: string=_T("-50 mV——+50 mV");
break;
case 0x02: string=_T("-100 mV——+100 mV ");
break;
case 0x03: string=_T("-500 mV——+500 mV");
break;
case 0x04: string=_T("-001 V——+001 V");
break;
case 0x05: string=_T("-02.5 V——+02.5 V");
break;
case 0x06: string=_T("-020 mA——+020 mA ");
break;
case 0x0E: string=_T("J 型热电偶 0—760 度 ");
break;
case 0x0F: string=_T("K 型热电偶 0—1370 度 ");
break;
case 0x10:string=_T("T 型热电偶 -100—400 度 ");
break;
case 0x11: string=_T("E 型热电偶 0—1000 度 ");
break;
case 0x12:string=_T("R 型热电偶 500—1750 度 ");
break;
case 0x13: string=_T("S 型热电偶 500—1750 度 ");
break;
case 0x14: string=_T("B 型热电偶 500—1800 度 ");
break;
};
ExtTextOut(dc,m_rectClient.left+160,m_rectClient.top+300,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
switch(theApp.A4018_CC)
{
case 0x03: string=_T("1200 bps ");
break;
case 0x04: string=_T("2400 bps ");
break;
case 0x05: string=_T("4800 bps ");
break;
case 0x06: string=_T("9600 bps ");
break;
case 0x07: string=_T("19.2K bps ");
break;
case 0x08: string=_T("38.4K bps ");
break;
default: string=_T("无 ");
break;
};
ExtTextOut(dc,m_rectClient.left+160,m_rectClient.top+300+25,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
ch=theApp.A4018_FF;
if((ch & 0x80)==0)
{
string=_T("50ms(60HZ power)");
}else
{
string=_T("60ms(50HZ power)");
}
ExtTextOut(dc,m_rectClient.left+160,m_rectClient.top+300+25*2,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
ch=theApp.A4018_FF;
if((ch & 0x40)==0)
{
string=_T("禁止校验");
}else
{
string=_T("允许校验");
}
ExtTextOut(dc,m_rectClient.left+160,m_rectClient.top+300+25*3,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
ch=theApp.A4018_FF;
ch=ch%4;
switch(ch)
{
case 0x00: string=_T("Engineering units");
break;
case 0x01: string=_T("% of FSR");
break;
case 0x02: string=_T("two's complement of hexadecimal");
break;
case 0x03: string=_T("Ohms(4013 only)");
break;
default: break;
};
ExtTextOut(dc,m_rectClient.left+160,m_rectClient.top+300+25*4,ETO_OPAQUE,&mm_rect,string, string.GetLength(),NULL);
dc.SelectObject(PtrOldFont);//++
flash=0xff;
*/
}
HBRUSH CTestImage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CStatic::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return hbrush;
return hbr;
}
int CTestImage::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CStatic::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
hbrush=CreateSolidBrush(RGB(0, 167, 192));
return 0;
}
void CTestImage::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your message handler code here and/or call default
AfxMessageBox(_T("OnDrawItem"));
CStatic::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -