ctrlpage5.cpp

来自「《Visual C++.NET MFC类库应用详解》程序实例」· C++ 代码 · 共 95 行

CPP
95
字号
// CtrlPage5.cpp : 实现文件
//

#include "stdafx.h"
#include "ControlUse.h"
#include "CtrlPage5.h"


// CCtrlPage5 对话框

IMPLEMENT_DYNAMIC(CCtrlPage5, CPropertyPage)
CCtrlPage5::CCtrlPage5()
	: CPropertyPage(CCtrlPage5::IDD)
	, m_Value(0)
{
	pos=0;
}

CCtrlPage5::~CCtrlPage5()
{
}

void CCtrlPage5::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_SLIDER1, m_Slider);
	DDX_Control(pDX, IDC_EDIT1, m_Edit1);
	DDX_Control(pDX, IDC_EDIT2, m_Edit);
	DDX_Control(pDX, IDC_SPIN1, m_Spin);
	DDX_Control(pDX, IDC_PROGRESS1, m_Progress);
}


BEGIN_MESSAGE_MAP(CCtrlPage5, CPropertyPage)
	ON_WM_HSCROLL()
	ON_EN_CHANGE(IDC_EDIT1, OnEnChangeEdit1)
	ON_WM_TIMER()
END_MESSAGE_MAP()


// CCtrlPage5 消息处理程序

BOOL CCtrlPage5::OnInitDialog()
{
	CPropertyPage::OnInitDialog();

	// TODO:  在此添加额外的初始化
	m_Slider.SetRange(1, 100);
	m_Slider.SetTicFreq(10);
	m_Slider.SetPos(25);
	m_Value=25;
	CString str;
	str.Format("%d",m_Value);
	m_Edit1.SetWindowText(str);

    m_Spin.SetBuddy(&m_Edit);  //设置编辑控件为兄弟窗口
	m_Spin.SetRange(0,255);    //设置微调按钮控件的范围
	m_Spin.SetBase(10);        //设置微调按钮控件的基数
	m_Spin.SetPos(0);          //设置微调按钮控件的当前位置

	m_Progress.SetRange(0,10000);
	m_Progress.SetPos(0);
	m_timer=SetTimer(1,200,NULL);

	return TRUE; 
}

void CCtrlPage5::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	m_Value = m_Slider.GetPos();  // 用m_Value变量保留滑动块当前位置
	CString str;
	str.Format("%d",m_Value);
	m_Edit1.SetWindowText(str);

	CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CCtrlPage5::OnEnChangeEdit1()
{
	// TODO:  在此添加控件通知处理程序代码
	m_Value=(int)GetDlgItemInt(IDC_EDIT1);
    m_Slider.SetPos(m_Value);
}

void CCtrlPage5::OnTimer(UINT nIDEvent)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
    pos=pos+50;
	if(pos>10000)pos=0;
	m_Progress.SetPos(pos);

	CPropertyPage::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

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