📄 btmview.cpp
字号:
// BtmView.cpp : implementation file
//
#include "stdafx.h"
#include "Vsbq.h"
#include "BtmView.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CVsbqApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CBtmView
IMPLEMENT_DYNCREATE(CBtmView, CFormView)
CBtmView::CBtmView()
: CFormView(CBtmView::IDD)
{
//{{AFX_DATA_INIT(CBtmView)
m_bright = FALSE;
m_bleft = FALSE;
m_NumLeftSlider = 0;
m_NumRightSlider = 0;
m_rscSlider2Val = 0;
m_NumTimerSlier = 0;
m_NumSampleSlider = 0;
m_NumSampleRigor = 0;
m_nVolCH2 = 0;
//}}AFX_DATA_INIT
m_bset = TRUE;
pBrush = new CBrush;
pOldBrush = new CBrush;
pBrush->CreateSolidBrush(RGB(212,208,200));
m_brBkgnd.CreateSolidBrush(RGB(212,208,200));
m_pen.CreatePen(PS_SOLID,0,RGB(212,208,200));
//165,162,132
}
CBtmView::~CBtmView()
{
}
void CBtmView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBtmView)
DDX_Control(pDX, IDC_VOLCH2_SLIDER, m_VolCH2Slider);
DDX_Control(pDX, IDC_SAMPLE_RIGOR, m_SampleRigor);
DDX_Control(pDX, IDC_ADDWAVE_BTN, m_AddWaveBtn);
DDX_Control(pDX, IDC_EXIT_BTN, m_ExitBtn);
DDX_Control(pDX, IDC_START_BTN, m_StartBtn);
DDX_Control(pDX, IDC_STARTUP_BTN, m_StartupBtn);
DDX_Control(pDX, IDC_SAMPLE_SLIDER, m_SampleSlider);
DDX_Control(pDX, IDC_TIMER_SLIDER, m_TimerSlider);
DDX_Control(pDX, IDC_SLIDER2, m_rscSlider2);
DDX_Control(pDX, IDC_RIGHTSLIDER, m_RightSelider);
DDX_Control(pDX, IDC_LEFTSLIDER, m_LeftSlider);
DDX_Check(pDX, IDC_CHECK_RGT, m_bright);
DDX_Check(pDX, IDC_CHECK_LFT, m_bleft);
DDX_Slider(pDX, IDC_LEFTSLIDER, m_NumLeftSlider);
DDX_Slider(pDX, IDC_RIGHTSLIDER, m_NumRightSlider);
DDX_Slider(pDX, IDC_SLIDER2, m_rscSlider2Val);
DDX_Slider(pDX, IDC_TIMER_SLIDER, m_NumTimerSlier);
DDX_Slider(pDX, IDC_SAMPLE_SLIDER, m_NumSampleSlider);
DDX_Slider(pDX, IDC_SAMPLE_RIGOR, m_NumSampleRigor);
DDX_Slider(pDX, IDC_VOLCH2_SLIDER, m_nVolCH2);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBtmView, CFormView)
//{{AFX_MSG_MAP(CBtmView)
ON_WM_PAINT()
ON_BN_CLICKED(IDC_CHECK_LFT, OnCheckLft)
ON_BN_CLICKED(IDC_CHECK_RGT, OnCheckRgt)
ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_LEFTSLIDER, OnReleasedcaptureLeftslider)
ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_RIGHTSLIDER, OnReleasedcaptureRightslider)
ON_WM_HSCROLL()
ON_BN_CLICKED(IDC_STARTUP_BTN, OnStartupBtn)
ON_BN_CLICKED(IDC_START_BTN, OnStartBtn)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_EXIT_BTN, OnExitBtn)
ON_WM_CREATE()
ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_SAMPLE_RIGOR, OnReleasedcaptureSampleRigor)
ON_MESSAGE(UM_MYKILLTIMER, OnMyKillTimer) /////////////////////
ON_MESSAGE(UM_MYSETTIMER, OnMySetTimer) ///////////////////////
ON_MESSAGE(UM_SETBUTTON, OnMySetButton) /////////////////////
ON_WM_CANCELMODE()
ON_WM_CTLCOLOR()
ON_WM_CAPTURECHANGED()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBtmView diagnostics
#ifdef _DEBUG
void CBtmView::AssertValid() const
{
CFormView::AssertValid();
}
void CBtmView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CBtmView message handlers
void CBtmView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CPen *pOldPen;
CRect rect;
GetClientRect(&rect);
dc.SelectObject(myhFont);
pOldPen = dc.SelectObject(&m_pen);
dc.SelectObject(m_pen);
dc.SetBkMode(TRANSPARENT);
pOldBrush = dc.SelectObject(pBrush);
dc.Rectangle(rect);
// CH1通道幅值旋钮
/* dc.Draw3dRect(300,22,102,116,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(300,22,103,117,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(302,24,401,137);*/
dc.TextOut(330,123, "幅值旋钮");
// CH2通道幅值旋钮
/* dc.Draw3dRect(523,22,102,116,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(523,22,103,117,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(525,24,624,137);*/
dc.TextOut(550,123, "幅值旋钮");
// 时基旋钮
/* dc.Draw3dRect(155,15,121,128,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(155,15,122,129,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(157,17,275,142);*/
dc.TextOut(192,125, "时基旋钮");
// 采样率旋钮
/* dc.Draw3dRect(17,15,121,128,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(17,15,122,129,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(19,17,137,142);*/
dc.TextOut(45,125, "采样率旋钮");
// CH1垂直位置调节
/* dc.Draw3dRect(410,30,86,90,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(410,30,87,91,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(412,32,495,119);*/
// CH2垂直位置调节
/* dc.Draw3dRect(638,30,86,90,RGB(240,240,220),RGB(80,80,80));
dc.Draw3dRect(638,30,87,91,RGB(240,240,220),RGB(80,80,80));
dc.Rectangle(640,32,723,119);*/
dc.SelectObject(pOldBrush);
dc.SelectObject(pOldPen);
// Do not call CFormView::OnPaint() for painting messages
}
void CBtmView::OnCheckLft()
{
// TODO: Add your control notification handler code here
// theApp.m_bLeftBtn = !theApp.m_bLeftBtn;
// m_LeftSlider.EnableWindow(theApp.m_bLeftBtn);
}
void CBtmView::OnCheckRgt()
{
// TODO: Add your control notification handler code here
// theApp.m_bRightBtn = !theApp.m_bRightBtn;
// m_RightSelider.EnableWindow(theApp.m_bRightBtn);
}
void CBtmView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// CH1垂直位置调整旋钮
m_LeftSlider.SetRange(-50,50,TRUE);
m_LeftSlider.SetPos(0);
m_LeftSlider.SetZero(204); // 起始点度数
m_LeftSlider.SetKnobRadius(8);
m_LeftSlider.SetDragByKnobOnly( TRUE );
m_LeftSlider.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_LeftSlider.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_LeftSlider.SetInverted(); // 滑块背景颜色
m_LeftSlider.SetBitmap(IDB_XUANNIU2);/**/
m_LeftSlider.SetShowText(true);
m_LeftSlider.SetText("位置");
m_LeftSlider.SetFontName("Comic Sans MS"); // 字体样式
m_LeftSlider.SetFontSize(12); // 字体大小
m_LeftSlider.SetFontItalic(); // 斜体字体
m_LeftSlider.SetTextColor(RGB(0, 0, 255)); // 文本颜色
m_LeftSlider.EnableWindow(theApp.m_bLeftBtn);
// CH2垂直位置调整旋钮
m_RightSelider.SetRange(-50,50,TRUE);
m_RightSelider.SetPos(0);
m_RightSelider.SetZero(204); // 起始点度数
m_RightSelider.SetKnobRadius(8);
m_RightSelider.SetDragByKnobOnly( TRUE );
m_RightSelider.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_RightSelider.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_RightSelider.SetInverted(); // 滑块背景颜色
m_RightSelider.SetBitmap(IDB_XUANNIU2);/**/
m_RightSelider.SetShowText(true);
m_RightSelider.SetText("位置");
m_RightSelider.SetFontName("Comic Sans MS"); // 字体样式
m_RightSelider.SetFontSize(12); // 字体大小
m_RightSelider.SetFontItalic(); // 斜体字体
m_RightSelider.SetTextColor(RGB(0, 0, 255)); // 文本颜色
m_RightSelider.EnableWindow(theApp.m_bRightBtn);
// CH1通道幅值旋钮
m_rscSlider2.SetRange(0, 100, FALSE); // 最小与最大位置
m_rscSlider2.SetPos(50); // 设置当前位置
m_rscSlider2.SetZero(222); // 起始点度数
m_rscSlider2.SetKnobRadius(8);
m_rscSlider2.SetDragByKnobOnly( TRUE );
m_rscSlider2.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_rscSlider2.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_rscSlider2.SetInverted(); // 滑块背景颜色
m_rscSlider2.SetBitmap(IDB_XUANNIU1);/**/
m_rscSlider2.SetShowText(true);
theApp.m_fVoleteVal1 = ((float)(100 - m_rscSlider2.GetPos()))/10;
theApp.m_fVoleteVal2 = ((float)(100 - m_rscSlider2.GetPos()))/10;
theApp.m_strVoleteVal1.Format("%.1f",theApp.m_fVoleteVal1);
theApp.m_strVoleteVal1 = theApp.m_strVoleteVal1 + "伏/格";
m_rscSlider2.SetText("幅度");
theApp.m_strVolete1 = theApp.m_strVoleteVal1;
theApp.m_strVolete2 = theApp.m_strVoleteVal1;
m_rscSlider2.SetFontName("Comic Sans MS"); //字体样式
m_rscSlider2.SetFontSize(14); //字体大小
m_rscSlider2.SetFontItalic(); //斜体字体
m_rscSlider2.SetTextColor(RGB(0, 0, 255)); //文本颜色
// CH2通道幅值旋钮
m_VolCH2Slider.SetRange(0, 100, FALSE); // 最小与最大位置
m_VolCH2Slider.SetPos(50); // 设置当前位置
m_VolCH2Slider.SetZero(222); // 起始点度数
m_VolCH2Slider.SetKnobRadius(8);
m_VolCH2Slider.SetDragByKnobOnly( TRUE );
m_VolCH2Slider.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_VolCH2Slider.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_VolCH2Slider.SetInverted(); // 滑块背景颜色
m_VolCH2Slider.SetBitmap(IDB_XUANNIU1);/**/
m_VolCH2Slider.SetShowText(true);
theApp.m_fVoleteVal2 = ((float)(100 - m_VolCH2Slider.GetPos()))/10;
theApp.m_strVoleteVal2.Format("%.1f",theApp.m_fVoleteVal2);
theApp.m_strVoleteVal2 = theApp.m_strVoleteVal2 + "伏/格";
m_VolCH2Slider.SetText("幅度");
theApp.m_strVolete2 = theApp.m_strVoleteVal2;
m_VolCH2Slider.SetFontName("Comic Sans MS"); //字体样式
m_VolCH2Slider.SetFontSize(14); //字体大小
m_VolCH2Slider.SetFontItalic(); //斜体字体
m_VolCH2Slider.SetTextColor(RGB(0, 0, 255)); //文本颜色
// 时基旋钮
m_TimerSlider.SetRange(1, 199, FALSE); // 最小与最大位置
m_TimerSlider.SetPos(100); // 设置当前位置
m_TimerSlider.SetZero(222); // 起始点度数
m_TimerSlider.SetKnobRadius(8);
m_TimerSlider.SetDragByKnobOnly( TRUE );
m_TimerSlider.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_TimerSlider.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_TimerSlider.SetInverted(); // 滑块背景颜色
m_TimerSlider.SetBitmap(IDC_XUANNIU);/**/
m_TimerSlider.SetShowText(true);
m_TimerSlider.SetText("时基");
m_TimerSlider.SetFontName("Comic Sans MS"); // 字体样式
m_TimerSlider.SetFontSize(14); // 字体大小
// m_TimerSlider.SetFontItalic(); // 斜体字体
m_TimerSlider.SetTextColor(RGB(0, 0, 255)); // 文本颜色
// 采样率旋钮(粗调)
m_SampleSlider.SetRange(1, 100, FALSE); // 最小与最大位置
m_SampleSlider.SetPos(50); // 设置当前位置
m_SampleSlider.SetZero(222); // 起始点度数
m_SampleSlider.SetKnobRadius(8);
m_SampleSlider.SetDragByKnobOnly( TRUE );
m_SampleSlider.SetKnobColor(RGB(0, 255, 0)); // 指针颜色
m_SampleSlider.SetActiveKnobColor( RGB ( 255,0,0 ) );
m_SampleSlider.SetInverted(); // 滑块背景颜色
m_SampleSlider.SetBitmap(IDC_XUANNIU);
m_SampleSlider.SetShowText(true);
m_SampleSlider.SetText("采样率");
m_SampleSlider.SetFontName("宋体"); //字体样式
m_SampleSlider.SetFontSize(14); //字体大小
// m_SampleSlider.SetFontItalic(); //斜体字体
m_SampleSlider.SetTextColor(RGB(0, 0, 255)); //文本颜色
m_bitmap1.DeleteObject();
m_bitmap1.LoadBitmap(IDB_BITMAP_STARTUPBTN);
m_StartupBtn.SetBitmap((HBITMAP)m_bitmap1);
m_bitmap2.DeleteObject();
m_bitmap2.LoadBitmap(IDB_BITMAP_STARTBTN);
m_StartBtn.SetBitmap((HBITMAP)m_bitmap2);
m_bitmap3.DeleteObject();
m_bitmap3.LoadBitmap(IDB_BITMAP_ADDWAVEBTN);
m_AddWaveBtn.SetBitmap((HBITMAP)m_bitmap3);
m_bitmap4.DeleteObject();
m_bitmap4.LoadBitmap(IDB_BITMAP_EXITBTN);
m_ExitBtn.SetBitmap((HBITMAP)m_bitmap4);
// 采样率旋钮(细调)
m_SampleRigor.SetRange(1, 20000, FALSE); // 最小与最大位置
m_SampleRigor.SetPos(10000);
UpdateData();
theApp.m_mySample = m_NumSampleRigor;
theApp.m_nTimer = m_NumTimerSlier*10;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -