?? bk_ground.cpp
字號:
// BK_Ground.cpp: implementation of the CBK_Ground class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "BK_Ground.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
/*
void CBK_Ground::CBK_Ground()
{
::Init_BK();
}
*/
/*
void CBK_Ground::~CBK_Ground()
{
}
*/
void CBK_Ground::Draw_BK(CDC *cdc)
{
int x;
CRect rc(StartX,StartY,H_Size+StartX,V_Size+StartY);
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(cdc,H_Size,V_Size);
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.InvertRect(rc);
//MemDC.FillSolidRect(StartX,StartY,H_Size+StartX,V_Size+StartY,BK_Color);
MemDC.FillSolidRect(0,0,H_Size,V_Size,BK_Color);
//繪制坐標軸線,虛線
hp=CreatePen(PS_DASH,0,Line_Color);
MemDC.SelectObject(hp);
for(x=1;x<H_Grid_Count+1;x++)
{
MemDC.MoveTo(x*H_Size/H_Grid_Count,0);
MemDC.LineTo(x*H_Size/H_Grid_Count,V_Size);
}
for(x=1;x<V_Grid_Count+1;x++)
{
MemDC.MoveTo(0,x*V_Size/V_Grid_Count);
MemDC.LineTo(H_Size,x*V_Size/V_Grid_Count);
}
//顯示比例
/*
CString str;
if(V_Scale_List[V_Scale]>999)
str.Format(_T("%d V"),V_Scale_List[V_Scale]/1000);
else
str.Format(_T("%d mV"),V_Scale_List[V_Scale]);
str=str+" 1s";
MemDC.ExtTextOut(0,0,ETO_CLIPPED,rc,str,NULL);
*/
//雙緩沖的拷備
cdc->BitBlt(StartX,StartY,H_Size+StartX,V_Size+StartY,&MemDC,0,0,SRCCOPY);
//cdc->BitBlt(0,0,H_Size,V_Size,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);
//釋放資源
MemBitmap.DeleteObject();
DeleteObject(hp);
MemDC.DeleteDC();
}
void CBK_Ground::Single_Full()
{
}
void CBK_Ground::Init_BK()
{
BK_Color=RGB(0,0,0); //背景黑色
Line_Color=RGB(0xff,0x000,0x00); //坐標紅色
}
void CBK_Ground::DrawSingle(CDC *cdc)
{
int x;
CRect rc(StartX,StartY,H_Size+StartX,V_Size+StartY);
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(cdc,H_Size,V_Size);
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.InvertRect(rc);
//MemDC.FillSolidRect(StartX,StartY,H_Size+StartX,V_Size+StartY,BK_Color);
MemDC.FillSolidRect(0,0,H_Size,V_Size,BK_Color);
//繪制坐標軸線,虛線
hp=CreatePen(PS_DASH,0,Line_Color);
MemDC.SelectObject(hp);
for(x=1;x<H_Grid_Count+1;x++)
{
MemDC.MoveTo(x*H_Size/H_Grid_Count,0);
MemDC.LineTo(x*H_Size/H_Grid_Count,V_Size);
}
for(x=1;x<V_Grid_Count+1;x++)
{
MemDC.MoveTo(0,x*V_Size/V_Grid_Count);
MemDC.LineTo(H_Size,x*V_Size/V_Grid_Count);
}
//顯示比例
/*
CString str;
if(V_Scale_List[V_Scale]>999)
str.Format(_T("%d V"),V_Scale_List[V_Scale]/1000);
else
str.Format(_T("%d mV"),V_Scale_List[V_Scale]);
str=str+" 1s";
MemDC.ExtTextOut(0,0,ETO_CLIPPED,rc,str,NULL);
*/
//畫信號線
//畫信號線,所有的都畫一遍
for(int i=0;i<8;i++)//八路通道
{ //判斷的條件為:小于8;被選中;隊列的指針大于0,即有數(shù)據(jù)在隊列中
//設置畫筆
if((channel[i].Checked==1)&&(channel[i].SignalIndex>0))
{
hp=CreatePen(PS_SOLID,0,channel[i].DrawColour);
SelectObject(MemDC,hp);
MemDC.MoveTo(0,V_Size-channel[i].SignalLine[0]*V_Size/255);
for(int t=1;t<channel[i].SignalIndex;t++) //整個信號隊列
MemDC.LineTo(t*300/channel[i].PointCount,V_Size-channel[i].SignalLine[t]*V_Size/255);
}
}
//雙緩沖的拷備
cdc->BitBlt(StartX,StartY,H_Size+StartX,V_Size+StartY,&MemDC,0,0,SRCCOPY);
//cdc->BitBlt(0,0,H_Size,V_Size,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);
//釋放資源
MemBitmap.DeleteObject();
DeleteObject(hp);
MemDC.DeleteDC();
/*
/////繪制信號/////繪制信號/////繪制信號/////繪制信號/////繪制信號
/////繪制信號/////繪制信號/////繪制信號/////繪制信號/////繪制信號
hp=CreatePen(PS_SOLID,0,Line_Color);
SelectObject(MemDC,hp);
//******
///有待調(diào)整,有測試用的數(shù)字在里面
//******
MemDC.MoveTo(0,(V_Per*V_Grid_Count/2-S_Cache[i*H_Cent])*V_Size/(V_Per*V_Grid_Count)-Bm);
for(x=1;x<Cache_Size/H_Cent;x++)
{
Pix_X=(int)x*H_Size*H_Cent/Cache_Size;
Pix_Y=(V_Per*V_Grid_Count/2-S_Cache[i*H_Cent+x])*V_Size/(V_Per*V_Grid_Count);
MemDC.LineTo(Pix_X,Pix_Y-Bm);
}
*/
}
POINT CBK_Ground::ComputePoint(POINT Old_pt)
{
POINT pt;
pt.x=0;
return(pt);
}
void ChannelSet::Display()
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -