📄 tsqczview.cpp
字号:
// TsqCzView.cpp : implementation file
//
#include "stdafx.h"
#include "Tsq.h"
#include "TsqCzView.h"
#include "TsqDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTsqCzView
IMPLEMENT_DYNCREATE(CTsqCzView, CFormView)
CTsqCzView::CTsqCzView()
: CFormView(CTsqCzView::IDD)
{
//{{AFX_DATA_INIT(CTsqCzView)
m_dqkx = 0;
m_dqst = 0.0f;
m_dysc = 0.0f;
m_glgd = 0.0f;
m_jzpl = 0.0f;
m_jzyg = 0.0f;
m_plgd = 0.0f;
m_sdst = 0.0f;
//}}AFX_DATA_INIT
}
CTsqCzView::~CTsqCzView()
{
}
void CTsqCzView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTsqCzView)
DDX_Text(pDX, IDC_ET_DQKX, m_dqkx);
DDX_Text(pDX, IDC_ET_DQST, m_dqst);
DDX_Text(pDX, IDC_ET_DYSC, m_dysc);
DDX_Text(pDX, IDC_ET_GLGD, m_glgd);
DDX_Text(pDX, IDC_ET_JZPL, m_jzpl);
DDX_Text(pDX, IDC_ET_JZYG, m_jzyg);
DDX_Text(pDX, IDC_ET_PLGD, m_plgd);
DDX_Text(pDX, IDC_ET_SDST, m_sdst);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTsqCzView, CFormView)
//{{AFX_MSG_MAP(CTsqCzView)
ON_BN_CLICKED(IDC_BT_JK, OnBtJk)
ON_WM_TIMER()
ON_WM_CREATE()
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTsqCzView diagnostics
#ifdef _DEBUG
void CTsqCzView::AssertValid() const
{
CFormView::AssertValid();
}
void CTsqCzView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CTsqDoc* CTsqCzView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTsqDoc)));
return (CTsqDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTsqCzView message handlers
BOOL CTsqCzView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
cs.style=WS_CHILD;
return CFormView::PreCreateWindow(cs);
}
void CTsqCzView::OnBtJk()
{
CWnd*p=GetParent();
p->PostMessage(WM_COMMAND,MAKEWPARAM(ID_JK,0),0L);
}
void CTsqCzView::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
}
void CTsqCzView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// m_bitmap.LoadBitmap(IDB_BITMAP3);
// ((CButton*)GetDlgItem(IDC_bPgZ))->SetBitmap(m_bitmap);
// TODO: Add your specialized code here and/or call the base class
m_BtPgz.SubclassDlgItem(IDC_bPgZ,this);
m_BtPgj.SubclassDlgItem(IDC_bPgJ,this);
m_BtGgz.SubclassDlgItem(IDC_bGgZ,this);
m_BtGgj.SubclassDlgItem(IDC_bGgJ,this);
m_BtKxz.SubclassDlgItem(IDC_bKxZ,this);
m_BtKxj.SubclassDlgItem(IDC_bKxJ,this);
m_BtGzwp.SubclassDlgItem(IDC_bGzWp,this);
m_BtGzpg.SubclassDlgItem(IDC_bGzPg,this);
m_BtGltj.SubclassDlgItem(IDC_bGlTj,this);
m_BtKdtj.SubclassDlgItem(IDC_bKdTj,this);
m_BtGlzd.SubclassDlgItem(IDC_bGlZd,this);
m_BtGlsd.SubclassDlgItem(IDC_bGlSd,this);
m_BtFh.SubclassDlgItem(IDC_BT_JK,this);
/////////////////////////////////
m_BtFh.SetTxetBk(RGB(0,0,0));
COLORREF tx = RGB( 255, 0, 0);
COLORREF bk = RGB(128, 128, 128);
m_et_jzpl.SubclassDlgItem(IDC_ET_JZPL,this);
m_et_jzpl.bkColor( bk );
m_et_jzpl.textColor( tx );
m_et_jzpl.setFont( -26 );
m_et_plgd.SubclassDlgItem(IDC_ET_PLGD,this);
m_et_plgd.bkColor( bk );
m_et_plgd.textColor( tx );
m_et_plgd.setFont( -26 );
/////////
m_et_jzyg.SubclassDlgItem(IDC_ET_JZYG,this);
m_et_jzyg.bkColor( bk );
m_et_jzyg.textColor( tx );
m_et_jzyg.setFont( -26 );
//////////////
m_et_glgd.SubclassDlgItem(IDC_ET_GLGD,this);
m_et_glgd.bkColor( bk );
m_et_glgd.textColor( tx );
m_et_glgd.setFont( -26 );
///////////
m_et_dqst.SubclassDlgItem(IDC_ET_DQST,this);
m_et_dqst.bkColor( bk );
m_et_dqst.textColor( tx );
m_et_dqst.setFont( -26 );
///////////////
m_et_dysc.SubclassDlgItem(IDC_ET_DYSC,this);
m_et_dysc.bkColor( bk );
m_et_dysc.textColor( tx );
m_et_dysc.setFont( -26 );
//////////////
m_et_dqkx.SubclassDlgItem(IDC_ET_DQKX,this);
m_et_dqkx.bkColor( bk );
m_et_dqkx.textColor( tx );
m_et_dqkx.setFont( -26 );
/////////////
m_et_sdst.SubclassDlgItem(IDC_ET_SDST,this);
m_et_sdst.bkColor( bk );
m_et_sdst.textColor( tx );
m_et_sdst.setFont( -26 );
}
void CTsqCzView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_jzpl=float(rand()%10000)/100;
m_plgd=float(rand()%10000)/100;
m_jzyg=float(rand()%1000)/10;
m_glgd=float(rand()%1000)/10;
m_dqst=float(rand()%1000)/10;
m_sdst=float(rand()%1000)/10;
m_dysc=float(rand()%1000)/10;
m_dqkx=(int)rand()%100;
if(rand()%100<50){m_BtPgz.SetTxetBk(RGB(128,128,128));}
else{m_BtPgz.SetTxetBk(RGB(0,0,255));}
m_BtPgz.Invalidate();
if(rand()%100<50){m_BtPgj.SetTxetBk(RGB(128,128,128));}
else{m_BtPgj.SetTxetBk(RGB(0,0,255));}
m_BtPgj.Invalidate();
if(rand()%100<50){m_BtGgz.SetTxetBk(RGB(128,128,128));}
else{m_BtGgz.SetTxetBk(RGB(50,250,50));}
m_BtGgz.Invalidate();
if(rand()%100<50){
m_BtGlzd.SetTxetBk(RGB(128,128,128));
m_BtGlsd.SetTxetBk(RGB(0,250,0));
}
else{ m_BtGlzd.SetTxetBk(RGB(0,250,0));
m_BtGlsd.SetTxetBk(RGB(128,128,128));
}
m_BtGlzd.Invalidate();
m_BtGlsd.Invalidate();
if(rand()%100<50){
m_BtGltj.SetTxetBk(RGB(128,128,128));
m_BtKdtj.SetTxetBk(RGB(255,0,0));
}
else{ m_BtGltj.SetTxetBk(RGB(255,0,0));
m_BtKdtj.SetTxetBk(RGB(128,128,128));
}
m_BtGltj.Invalidate();
m_BtKdtj.Invalidate();
UpdateData(FALSE);
CWnd * pWnd=GetDlgItem(IDC_STATIC_R);
CRect Rect;
pWnd->GetClientRect(Rect);
CDC * pControlDC=pWnd->GetDC();
CFont font;
VERIFY(font.CreateFont(
24, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
DEFAULT_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
PROOF_QUALITY ,// DEFAULT_QUALITY, // nQuality
VARIABLE_PITCH|FF_ROMAN,//DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"楷体_GB2312")); // lpszFacename
// Do something with the font just created...
CFont* def_font = pControlDC->SelectObject(&font);
if(m_dqkx<50) pControlDC->SetTextColor(RGB(255,0,0));
else pControlDC->SetTextColor(RGB(0,255,0));
CPoint pos[12];
int Dis=(Rect.Width()-20)/4;
int k;
for(k=0;k<4;k++)
{
pos[k].x=Rect.left+10+Dis*k;
pos[k].y=Rect.top+10;
}
Dis=Rect.Height()/5;
for(k=4;k<8;k++)
{
pos[k].x=pos[0].x;
pos[k+4].x=pos[2].x;
pos[k+4].y=pos[k].y=Rect.top+10+(k-3)*Dis;
}
CString str[12];
str[0]="开机";
str[1]="停机";
str[2]="并网";
str[3]="调相";
str[10]="停机备用";
COLORREF tx[12];
COLORREF bx[12];
for(k=0;k<12;k++)
{
if(rand()%100<50)state[k]=TRUE;
else state[k]=FALSE;
}
if(state[0]){
bx[0]=RGB(255,255,0);
tx[0]=RGB(0,0,0);
}else{
bx[0]=RGB(128,128,128);
tx[0]=RGB(198,198,198);
}
if(state[1]){
bx[1]=RGB(0,255,0);
tx[1]=RGB(0,0,0);
}else{
bx[1]=RGB(128,128,128);
tx[1]=RGB(198,198,198);
}
if(state[2]){
bx[2]=RGB(255,0,0);
tx[2]=RGB(0,0,0);
}else{
bx[2]=RGB(128,128,128);
tx[2]=RGB(198,198,198);
}
if(state[3]){
bx[3]=RGB(0,255,0);
tx[3]=RGB(0,0,0);
}else{
bx[3]=RGB(128,128,128);
tx[3]=RGB(198,198,198);
}
if(state[4]){
bx[4]=RGB(255,255,0);
tx[4]=RGB(0,0,0);
str[4]="导叶手动";
}else{
bx[4]=RGB(0,255,0);
tx[4]=RGB(0,0,0);
str[4]="导叶自动";
}
if(state[6]){
bx[5]=RGB(0,255,0);
tx[5]=RGB(0,0,0);
str[5]="功率调节";
}else{
bx[5]=RGB(255,255,0);
tx[5]=RGB(0,0,0);
str[5]="开度调节";
}
if(state[7]){
bx[6]=RGB(255,255,0);
tx[6]=RGB(0,0,0);
str[6]="功率手动";
}else{
bx[6]=RGB(0,255,0);
tx[6]=RGB(0,0,0);
str[6]="功率自动";
}
if(state[8]){
bx[7]=RGB(255,255,0);
tx[7]=RGB(0,0,0);
str[7]="水头手动";
}else{
bx[7]=RGB(0,255,0);
tx[7]=RGB(0,0,0);
str[7]="水头自动";
}
if(state[13]){
bx[10]=RGB(0,255,0);
tx[10]=RGB(0,0,0);
}else{
bx[10]=RGB(128,128,128);
tx[10]=RGB(198,198,198);
}
if(state[10]){
bx[8]=RGB(255,255,0);
tx[8]=RGB(0,0,0);
str[8]= "跟踪频给";
}else{
bx[8]=RGB(0,255,0);
tx[8]=RGB(0,0,0);
str[8]= "跟踪网频";
}
if(txyc){
bx[9]=RGB(255,0,0);
tx[9]=RGB(0,0,0);
str[9]="通讯异常";
}else{
bx[9]=RGB(0,255,0);
tx[9]=RGB(0,0,0);
str[9]="通讯正常";
}
if(state[9]){
bx[11]=RGB(255,255,0);
tx[11]=RGB(0,0,0);
str[11]="调速器故障";
}else{
bx[11]=RGB(0,255,0);
tx[11]=RGB(0,0,0);
str[11]="调速器正常";
}
for(k=0;k<12;k++)
{
pControlDC->SetBkColor(bx[k]);
pControlDC->SetTextColor(tx[k]);
pControlDC->TextOut(pos[k].x,pos[k].y,str[k]);
}
pControlDC->SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
CFormView::OnTimer(nIDEvent);
}
int CTsqCzView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFormView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
SetTimer(1,1000,NULL);
return 0;
}
BOOL CTsqCzView::DestroyWindow()
{
KillTimer(1);
return CFormView::DestroyWindow();
}
HBRUSH CTsqCzView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
// if(nCtlColor==CTLCOLOR_EDIT)
//{ pDC->SetBkColor(RGB(0,0,0));
// HBRUSH B = CreateSolidBrush(RGB(200,0,0));
// return (HBRUSH) B;
//}
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -