bp_layer_dialog.cpp

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

CPP
158
字号
// bp_layer_dialog.cpp : implementation file
//

#include "stdafx.h"
#include "richtest.h"
#include "bp_layer_dialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// bp_layer_dialog dialog


bp_layer_dialog::bp_layer_dialog(bp_layer* player,CWnd* pParent /*=NULL*/)
	: CDialog(bp_layer_dialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(bp_layer_dialog)
		// NOTE: the ClassWizard will add member initialization here
	this->player=player;
	//}}AFX_DATA_INIT
}


void bp_layer_dialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(bp_layer_dialog)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	DDX_Text(pDX,IDC_EDIT1,player->delta_slope);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(bp_layer_dialog, CDialog)
	//{{AFX_MSG_MAP(bp_layer_dialog)
	ON_CBN_SELCHANGE(IDC_COMBO_FUNC, OnSelendcancelComboFunc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// bp_layer_dialog message handlers

void bp_layer_dialog::OnSelendcancelComboFunc() 
{
	// 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:
			player->type=sigmod;
			break;
		case 1:
			player->type=bark;
			break;
		case 2:
			player->type=slope;
			break;
		case 3:
			player->type=bark_slope;
			break;
		default:
			player->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();
	char slopeinfo[]="斜率";
	char gaossinfo[]="得尔塔";	
	CWnd* pwnd=GetDlgItem(IDC_STATIC_PRT);
	CWnd* pwnde=GetDlgItem(IDC_EDIT1);		
	if(pwnd)
		{   
		if(player->type==slope)	
			{pwnd->SetWindowText(slopeinfo);
			pwnd->ShowWindow(1);
			pwnde->ShowWindow(1);
			}
		else					
			{pwnd->ShowWindow(0);
			pwnde->ShowWindow(0);
			}			
		}
}

BOOL bp_layer_dialog::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();
	CWnd *pwnd,*pwnde;
	char slopeinfo[]="斜率";
	char gaossinfo[]="得尔塔";
	pwnd=GetDlgItem(IDC_STATIC_PRT);
	pwnd->ShowWindow(0);
	pwnde=GetDlgItem(IDC_EDIT1);
	pwnde->ShowWindow(0);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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