⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parameterdlg.cpp

📁 用VC编写的完整采样程序
💻 CPP
字号:
// ParameterDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Test.h"
#include "ParameterDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CParameterDlg dialog


CParameterDlg::CParameterDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CParameterDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CParameterDlg)
	m_nFreqSpin = 0;
	m_nHourSpin = 0;
	m_nMinuteSpin = 0;
	m_nRangeSpin = 0;
	m_nSecondSpin = 0;
	m_nPortSpin = 0;
	//}}AFX_DATA_INIT
}


void CParameterDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CParameterDlg)
	DDX_Text(pDX, IDC_BUDDY_FREQ_SPIN, m_nFreqSpin);
	DDV_MinMaxInt(pDX, m_nFreqSpin, 0, 100);
	DDX_Text(pDX, IDC_BUDDY_HOUR_SPIN, m_nHourSpin);
	DDV_MinMaxInt(pDX, m_nHourSpin, 0, 10);
	DDX_Text(pDX, IDC_BUDDY_MINUTE_SPIN, m_nMinuteSpin);
	DDV_MinMaxInt(pDX, m_nMinuteSpin, 0, 600);
	DDX_Text(pDX, IDC_BUDDY_RANGE_SPIN, m_nRangeSpin);
	DDV_MinMaxInt(pDX, m_nRangeSpin, 0, 5000);
	DDX_Text(pDX, IDC_BUDDY_SECOND_SPIN, m_nSecondSpin);
	DDV_MinMaxInt(pDX, m_nSecondSpin, 0, 36000);
	DDX_Text(pDX, IDC_PORT_EDIT, m_nPortSpin);
	DDV_MinMaxInt(pDX, m_nPortSpin, 0, 1000);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CParameterDlg, CDialog)
	//{{AFX_MSG_MAP(CParameterDlg)
	ON_WM_VSCROLL()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CParameterDlg message handlers

BOOL CParameterDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CSpinButtonCtrl* pFreqSpin =
		(CSpinButtonCtrl*) GetDlgItem(IDC_FREQ_SPIN);
	pFreqSpin->SetRange(0, 100);
	pFreqSpin->SetPos(m_nFreqSpin);
//	pFreqSpin->SetPos(100);

	CSpinButtonCtrl* pRangeSpin =
		(CSpinButtonCtrl*) GetDlgItem(IDC_RANGE_SPIN);
	pRangeSpin->SetRange(0, 5000);
	pRangeSpin->SetPos(m_nRangeSpin);
//	pRangeSpin->SetPos(2000);

	CSpinButtonCtrl* pHourSpin =
		(CSpinButtonCtrl*) GetDlgItem(IDC_HOUR_SPIN);
	pHourSpin->SetRange(0, 10);
	pHourSpin->SetPos(m_nHourSpin);
//	pHourSpin->SetPos(0);

	CSpinButtonCtrl* pMinuteSpin =
		(CSpinButtonCtrl*) GetDlgItem(IDC_MINUTE_SPIN);
	pMinuteSpin->SetRange(0, 600);
	pMinuteSpin->SetPos(m_nMinuteSpin);
//	pMinuteSpin->SetPos(10);

	CSpinButtonCtrl* pSecondSpin =
		(CSpinButtonCtrl*) GetDlgItem(IDC_SECOND_SPIN);
	pSecondSpin->SetRange(0, 36000);
	pSecondSpin->SetPos(m_nSecondSpin);
//	pSecondSpin->SetPos(0);

	CheckRadioButton(IDC_ONE_RADIO,
		             IDC_EIGHT_RADIO,
					 IDC_ONE_RADIO);
		
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CParameterDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	if (nSBCode == SB_ENDSCROLL) 
	      return; // Reject spurious messages
	CString str;

    if(pScrollBar->GetDlgCtrlID()==IDC_FREQ_SPIN)
	{
		str.Format("%d", nPos);
        ((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
		m_nFreqSpin=nPos;
	}
	else if(pScrollBar->GetDlgCtrlID()==IDC_RANGE_SPIN)
	{
		str.Format("%d", nPos);
        ((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
		m_nRangeSpin=nPos*10;
	}

	else if(pScrollBar->GetDlgCtrlID()==IDC_HOUR_SPIN)
	{
		str.Format("%d", nPos);
        ((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
		m_nHourSpin=nPos;
	}

	else if(pScrollBar->GetDlgCtrlID()==IDC_MINUTE_SPIN)
	{
		str.Format("%d", nPos);
        ((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
		m_nMinuteSpin=nPos;
	}

	else if(pScrollBar->GetDlgCtrlID()==IDC_SECOND_SPIN)
	{
		str.Format("%d", nPos);
        ((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(str);
		m_nSecondSpin=nPos;
	}

	CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}

⌨️ 快捷键说明

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