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

📄 zstabar.cpp

📁 Modem 通信的完整例子
💻 CPP
字号:
#include "stdafx.h"
#include "modem.h"
#include "modem16.h"
#include "zstabar.h"
#include "mainfrm.h"
#include "modemdoc.h"
#include "modemvw.h"
/////////////////////////////////////////////////////////////////////////////
// ZStatusBar



BEGIN_MESSAGE_MAP(ZStatusBar,CStatusBar)
	//{{AFX_MSG_MAP(ZStatusBar)
	ON_WM_PAINT()
	ON_WM_CREATE()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// ZStatusBar message handlers

ZStatusBar::ZStatusBar()
{
	CStatusBar::CStatusBar();
	Image.LoadBitmap(IDB_INDICATOR); 
	ImageLight.LoadBitmap(IDB_LIGHT); 
	ImageDark.LoadBitmap(IDB_DARK);
}

ZStatusBar::~ZStatusBar()
{
	KillTimer(1);
}

void ZStatusBar::OnPaint()
{
    RECT Rect;
    CMainFrame *p;
    p=(CMainFrame *)GetParentFrame();
    CModem16View *v;
    v=(CModem16View *)p->GetActiveView();
	CStatusBar::OnPaint();
	if(!v->Modem.IfCom) return;
	CClientDC PDC(this);
	CDC MemDC1,MemDC2,MemDC3;
	MemDC1.CreateCompatibleDC(&PDC);
	MemDC1.SelectObject(&Image);
	MemDC2.CreateCompatibleDC(&PDC);
	MemDC2.SelectObject(&ImageLight);
	MemDC3.CreateCompatibleDC(&PDC);
	MemDC3.SelectObject(&ImageDark);
	MemDC1.BitBlt(35,3,10,10,(v->Modem.DetectRx())?&MemDC2:&MemDC3,0,0,SRCCOPY);
	MemDC1.BitBlt(71,3,10,10,(v->Modem.DetectTx())?&MemDC2:&MemDC3,0,0,SRCCOPY);
	MemDC1.BitBlt(109,3,10,10,(v->Modem.DetectDcd())?&MemDC2:&MemDC3,0,0,SRCCOPY);
	MemDC1.BitBlt(155,3,10,10,(v->Modem.DetectCts())?&MemDC2:&MemDC3,0,0,SRCCOPY);

	GetItemRect(1,&Rect);
	PDC.BitBlt(Rect.left+3,Rect.top+2,182,16,&MemDC1,0,0,SRCCOPY);
	
	// TODO: Add your message handler code here
	
	// Do not call CWnd::OnPaint() for painting messages
}

int ZStatusBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CStatusBar::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	SetTimer(1,100,NULL);
	
	
	return 0;
}

void ZStatusBar::OnTimer(UINT nIDEvent)
{
	// TODO: Add your message handler code here and/or call default
	SendMessage(WM_PAINT);
	CStatusBar::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -