📄 meterconfigdlg1.cpp
字号:
// MeterConfigDlg1.cpp : implementation file
//
#include "stdafx.h"
#include <float.h>
#include "wizard.h"
#include "DrawSample.h"
#include "Sample.h"
#include "MeterConfigDlg1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMeterConfigDlg1 dialog
CMeterConfigDlg1::CMeterConfigDlg1(CWnd* pParent /*=NULL*/)
: CDialog(CMeterConfigDlg1::IDD, pParent)
{
//{{AFX_DATA_INIT(CMeterConfigDlg1)
m_strFaceLabel = _T("");
m_strValName = _T("");
m_dwFaceFillColor = 0;
m_dwFaceTextColor = 0;
m_nLabelDecimalLen = 0;
m_dwLabelTextColor = 0;
m_nLabelMainDiff = 0;
m_nPrimeScale = 0;
m_nSlaveScale = 0;
m_fltMaxScale = 0.0f;
m_fltMinScale = 0.0f;
//}}AFX_DATA_INIT
}
void CMeterConfigDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMeterConfigDlg1)
DDX_Text(pDX, IDC_EDIT_FACELABEL, m_strFaceLabel);
DDX_Text(pDX, IDC_EDIT_VALNAME, m_strValName);
DDX_Text(pDX, IDC_EDIT_LABELDECIMALLEN, m_nLabelDecimalLen);
DDX_Text(pDX, IDC_EDIT_LABELMAINDIFF, m_nLabelMainDiff);
DDX_Text(pDX, IDC_EDIT_PRIMESCALE, m_nPrimeScale);
DDX_Text(pDX, IDC_EDIT_SLAVESCALE, m_nSlaveScale);
DDX_Text(pDX, IDC_EDIT_MAXSCALE, m_fltMaxScale);
DDX_Text(pDX, IDC_EDIT_MINSCALE, m_fltMinScale);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMeterConfigDlg1, CDialog)
//{{AFX_MSG_MAP(CMeterConfigDlg1)
ON_BN_CLICKED(IDC_BUTTON_VALNAMELIST, OnButtonValnamelist)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMeterConfigDlg1 message handlers
void CMeterConfigDlg1::OnButtonValnamelist()
{
CString strOldValName, strNewValName;
CWnd * pWnd = GetDlgItem( IDC_EDIT_VALNAME );
pWnd->GetWindowText( strOldValName );
strNewValName = GetTag( m_hWnd, strOldValName, SHOW_TYPE );
pWnd->SetWindowText( strNewValName );
m_strValName = strNewValName;
}
void CMeterConfigDlg1::OnOK()
{
UpdateData( TRUE ) ;
if ( CheckValid() )
{
m_dwFaceFillColor = m_btnFaceColor.m_color ;
m_dwFaceTextColor = m_btnFaceTextColor.m_color ;
m_dwLabelTextColor = m_btnScaleTextColor.m_color ;
CDialog::OnOK();
}
}
BOOL CMeterConfigDlg1::CheckValid()
{
CString strMsg, strCheckValidTitle ;
strCheckValidTitle.LoadString( IDS_CHECK_VALID_TITLE ) ;
CString strDefaultValName ;
strDefaultValName.LoadString( IDS_NO_SET_LINK_VARNAME ) ;
if ( m_strValName.IsEmpty() || m_strValName == strDefaultValName )
{
GetDlgItem( IDC_EDIT_VALNAME )->SetFocus() ;
strMsg.LoadString( IDS_PLEASE_INPUT_VARNAME ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_strValName.GetLength() >= LINK_VARNAME_LEN )
{
GetDlgItem( IDC_EDIT_VALNAME )->SetFocus() ;
strMsg.Format( IDS_VARNAME_LEN_MUST_LESS, LINK_VARNAME_LEN ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( !CheckTagType( m_hWnd, m_strValName, CHECK_TYPE ) )
return FALSE ;
if ( m_strFaceLabel.GetLength() >= FACE_LABEL_LEN )
{
GetDlgItem( IDC_EDIT_FACELABEL )->SetFocus() ;
strMsg.Format( IDS_LABEL_LEN_MUST_LESS, FACE_LABEL_LEN ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_nPrimeScale < PRIME_SCALE_MIN_COUNT || m_nPrimeScale > PRIME_SCALE_MAX_COUNT )
{
GetDlgItem( IDC_EDIT_PRIMESCALE )->SetFocus() ;
strMsg.Format( IDS_PRIME_SCALE_MUST_BETWEEN , PRIME_SCALE_MIN_COUNT, PRIME_SCALE_MAX_COUNT ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_nSlaveScale < SLAVE_SCALE_MIN_COUNT || m_nSlaveScale > SLAVE_SCALE_MAX_COUNT )
{
GetDlgItem( IDC_EDIT_SLAVESCALE )->SetFocus() ;
strMsg.Format( IDS_SLAVE_SCALE_MUST_BETWEEN, SLAVE_SCALE_MIN_COUNT, SLAVE_SCALE_MAX_COUNT ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_nLabelMainDiff < MIN_SCALE_LABEL_MAIN_DIFF )
{
GetDlgItem( IDC_EDIT_LABELMAINDIFF )->SetFocus() ;
strMsg.Format( IDS_SCALE_LABEL_CAN_NOT_LESS, MIN_SCALE_LABEL_MAIN_DIFF ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_fltMinScale >= m_fltMaxScale )
{
GetDlgItem( IDC_EDIT_MINSCALE )->SetFocus() ;
strMsg.LoadString( IDS_MIN_SCALE_MUST_LESS_MAX_SCALE ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_fltMinScale < -FLT_MAX || m_fltMinScale > FLT_MAX )
{
GetDlgItem( IDC_EDIT_MINSCALE )->SetFocus() ;
strMsg.Format( IDS_MIN_SCALE_BETWEEN, -FLT_MAX, FLT_MAX ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_fltMaxScale < -FLT_MAX || m_fltMaxScale > FLT_MAX )
{
GetDlgItem( IDC_EDIT_MAXSCALE )->SetFocus() ;
strMsg.Format( IDS_MAX_SCALE_BETWEEN, -FLT_MAX, FLT_MAX ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
if ( m_nLabelDecimalLen < SCALE_LABEL_DECIMAL_MIN_LEN || m_nLabelDecimalLen > SCALE_LABEL_DECIMAL_MAX_LEN )
{
GetDlgItem( IDC_EDIT_LABELDECIMALLEN )->SetFocus() ;
strMsg.Format( IDS_SCALE_LABEL_DECIMAL_LEN_BETWEEN, SCALE_LABEL_DECIMAL_MIN_LEN, SCALE_LABEL_DECIMAL_MAX_LEN ) ;
MessageBox( strMsg, strCheckValidTitle ) ;
return FALSE ;
}
return TRUE ;
}
BOOL CMeterConfigDlg1::OnInitDialog()
{
CDialog::OnInitDialog();
m_editMinScale.SubclassDlgItem( IDC_EDIT_MINSCALE , this ) ;
m_editMaxScale.SubclassDlgItem( IDC_EDIT_MAXSCALE , this ) ;
m_btnFaceColor.m_color = m_dwFaceFillColor ;
m_btnFaceTextColor.m_color = m_dwFaceTextColor ;
m_btnScaleTextColor.m_color = m_dwLabelTextColor ;
m_btnFaceColor.SubclassDlgItem( IDC_BUTTON_FACE_COLOR, this ) ;
m_btnFaceTextColor.SubclassDlgItem( IDC_BUTTON_FACE_TEXT_COLOR, this ) ;
m_btnScaleTextColor.SubclassDlgItem( IDC_BUTTON_SCALE_TEXT_COLOR, this ) ;
CString strVarName, strDefaultVarName ;
GetDlgItemText( IDC_EDIT_VALNAME, strVarName ) ;
strDefaultVarName.LoadString( IDS_DEFAULT_VARNAME ) ;
if ( strVarName == strDefaultVarName )
{
CString strDefault;
//strDefault.LoadString( IDS_NO_SET_LINK_VARNAME ) ;
strDefault.Empty() ;
SetDlgItemText( IDC_EDIT_VALNAME, strDefault ) ;
}
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -