bpinfodlg.cpp

来自「故障诊断工作涉及的领域相当广泛」· C++ 代码 · 共 151 行

CPP
151
字号
// bpinfodlg.cpp : implementation file
//

#include "stdafx.h"
#include "richtest.h"
#include "bpinfodlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// bpinfodlg dialo

bpinfodlg::bpinfodlg(CWnd* pParent /*=NULL*/)
	: CDialog(bpinfodlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(bpinfodlg)
		// NOTE: the ClassWizard will add member initialization here
		nin=8;
		nout=6;
		nlayer=1;
		pinfo=0;
		type=sigmod;
		stderror=0.001;
	//}}AFX_DATA_INIT
		
}


void bpinfodlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(bpinfodlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	DDX_Text(pDX,IDC_EDIT_INCNT,nin);
	DDX_Text(pDX,IDC_EDIT_OUTCNT,nout);
	DDX_Text(pDX,IDC_EDIT_HIDECNT,nlayer);
	DDX_Text(pDX,IDC_EDIT_STDER,stderror);
	//}}AFX_DATA_MAP
	
}


BEGIN_MESSAGE_MAP(bpinfodlg, CDialog)
	//{{AFX_MSG_MAP(bpinfodlg)
	ON_CBN_SELCHANGE(IDC_COMBO_FUNC, OnSelchangeComboFunc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// bpinfodlg message handlers

BOOL bpinfodlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	cmbfunctype=(CComboBox*)GetDlgItem(IDC_COMBO_FUNC);
	cmbfunctype->InsertString(0,"sigmod");
	cmbfunctype->InsertString(1,"bar");
	cmbfunctype->InsertString(2,"slope");
	cmbfunctype->InsertString(3,"bar-slope");
	cmbfunctype->SetCurSel(0);
	CWnd* ppic=GetDlgItem(IDC_FUNC_PIC);
	CRect rect;
	CDC memDC;
	CBitmap bitmap;
	ppic->GetWindowRect(&rect);
	bitmap.LoadBitmap(IDR_DRAW_BAR);
	BITMAP mbitmap;
	bitmap.GetObject(sizeof(BITMAP),&mbitmap);
	CDC* pdc=ppic->GetDC();
	memDC.CreateCompatibleDC(pdc);
	CBitmap* poldmembmp=memDC.SelectObject(&bitmap);
	pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,mbitmap.bmWidth,mbitmap.bmHeight,SRCCOPY);
	if(poldmembmp)
		memDC.SelectObject(poldmembmp);
	memDC.DeleteDC();


	//image->DeleteObject();
	//image->LoadBitmap(IDR_DRAW_BAR);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void bpinfodlg::OnSelchangeComboFunc() 
{
	// TODO: Add your control notification handler code here
	
	CComboBox* pcbx=(CComboBox*)this->GetDlgItem(IDC_COMBO_FUNC);
	int nIndex=pcbx->GetCurSel();
	if(nIndex!=LB_ERR)
	{
		switch(nIndex)
		{
		case 0:
			type=sigmod;
			break;
		case 1:
			type=bark;
			break;
		case 2:
			type=slope;
			break;
		case 3:
			type=bark_slope;
			break;
		default:
			type=sigmod;
			break;
		}
	
	}
	CWnd* ppic=GetDlgItem(IDC_FUNC_PIC);
	CRect rect;
	CDC memDC;
	CBitmap bitmap;
	ppic->GetWindowRect(&rect);
	switch(nIndex)
		{
		case 0:
			bitmap.LoadBitmap(IDB_SIGMOD);
			break;
		case 1:
			bitmap.LoadBitmap(IDB_BAR);
			break;
		case 2:
			bitmap.LoadBitmap(IDB_SLOPE);
			break;
		case 3:
			bitmap.LoadBitmap(IDR_ZOOM_BAR);
			break;
		default:
			break;
		}
	BITMAP mbitmap;
	bitmap.GetObject(sizeof(BITMAP),&mbitmap);
	CDC* pdc=ppic->GetDC();
	memDC.CreateCompatibleDC(pdc);
	CBitmap* poldmembmp=memDC.SelectObject(&bitmap);
	pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,mbitmap.bmWidth,mbitmap.bmHeight,SRCCOPY);
	if(poldmembmp)
		memDC.SelectObject(poldmembmp);
	memDC.DeleteDC();
}

⌨️ 快捷键说明

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