📄 dlgrateset.cpp
字号:
// DlgRateSet.cpp : implementation file
//
#include "stdafx.h"
#include "CQuakeDemo.h"
#include "DlgRateSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "QuakeView.h"
/////////////////////////////////////////////////////////////////////////////
// CDlgRateSet dialog
CDlgRateSet::CDlgRateSet(CWnd* pParent /*=NULL*/)
: CResizableDialog(CDlgRateSet::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgRateSet)
//}}AFX_DATA_INIT
m_pInterface = NULL;
}
void CDlgRateSet::DoDataExchange(CDataExchange* pDX)
{
CResizableDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgRateSet)
DDX_Control(pDX, IDC_SLIDER_RATE_4, m_Slider4);
DDX_Control(pDX, IDC_SLIDER_RATE_2, m_Slider2);
DDX_Control(pDX, IDC_SLIDER_RATE_1, m_Slider1);
DDX_Control(pDX, IDC_STATIC_4, m_Static4);
DDX_Control(pDX, IDC_STATIC_2, m_Static2);
DDX_Control(pDX, IDC_STATIC_1, m_Static1);
DDX_Control(pDX, IDC_STATIC_CURRATE, m_StaticCur);
DDX_Control(pDX, IDC_BUTTON_SETDEFAULT, m_ButtonDef);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgRateSet, CResizableDialog)
//{{AFX_MSG_MAP(CDlgRateSet)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER_RATE_1, OnCustomdrawSliderRate1)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER_RATE_2, OnCustomdrawSliderRate2)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER_RATE_4, OnCustomdrawSliderRate4)
ON_BN_CLICKED(IDC_BUTTON_SETDEFAULT, OnButtonSetdefault)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgRateSet message handlers
BOOL CDlgRateSet::OnInitDialog()
{
CResizableDialog::OnInitDialog();
// TODO: Add extra initialization here
AddAnchor(IDC_SLIDER_RATE_4,TOP_LEFT,TOP_RIGHT);
AddAnchor(IDC_STATIC_4,TOP_RIGHT);
AddAnchor(IDC_SLIDER_RATE_2,TOP_LEFT,TOP_RIGHT);
AddAnchor(IDC_STATIC_2,TOP_RIGHT);
AddAnchor(IDC_SLIDER_RATE_1,TOP_LEFT,TOP_RIGHT);
AddAnchor(IDC_STATIC_1,TOP_RIGHT);
AddAnchor(IDC_STATIC_CURRATE,TOP_RIGHT);
AddAnchor(IDC_BUTTON_SETDEFAULT,TOP_RIGHT);
m_Slider1.SetRange(0,100);
m_Slider2.SetRange(0,99);
m_Slider4.SetRange(0,99);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgRateSet::SetRate(UINT uRate)
{
m_Slider1.SetPos(int(uRate)%100);
m_Slider2.SetPos(int(uRate)%10000/100);
m_Slider4.SetPos(int(uRate/10000));
}
UINT CDlgRateSet::ReadRate()
{
return(m_Slider4.GetPos()*10000 + m_Slider2.GetPos()*100 + m_Slider1.GetPos());
}
void CDlgRateSet::OnCustomdrawSliderRate1(NMHDR* pNMHDR, LRESULT* pResult)
{
ASSERT(m_pInterface != NULL);
CString str;
str.Format(_T("%d"),m_Slider1.GetPos());
m_Static1.SetWindowText(str);
str.Format(_T("Rate:%d"),ReadRate());
m_StaticCur.SetWindowText(str);
m_pInterface->m_pView->SetRate(ReadRate());
*pResult = 0;
}
void CDlgRateSet::OnCustomdrawSliderRate4(NMHDR* pNMHDR, LRESULT* pResult)
{
ASSERT(m_pInterface != NULL);
CString str;
str.Format(_T("%d"),m_Slider4.GetPos());
m_Static4.SetWindowText(str);
str.Format(_T("Rate:%d"),ReadRate());
m_StaticCur.SetWindowText(str);
m_pInterface->m_pView->SetRate(ReadRate());
*pResult = 0;
}
void CDlgRateSet::OnCustomdrawSliderRate2(NMHDR* pNMHDR, LRESULT* pResult)
{
ASSERT(m_pInterface != NULL);
CString str;
str.Format(_T("%d"),m_Slider2.GetPos());
m_Static2.SetWindowText(str);
str.Format(_T("Rate:%d"),ReadRate());
m_StaticCur.SetWindowText(str);
m_pInterface->m_pView->SetRate(ReadRate());
*pResult = 0;
}
void CDlgRateSet::OnButtonSetdefault()
{
ASSERT(m_pInterface != NULL);
SetRate(9999);
m_pInterface->m_pView->SetRate(9999);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -