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 + -
显示快捷键?