📄 sdwpsldlg.cpp
字号:
// sdwpsldlg.cpp : implementation file
//
#include "stdafx.h"
#include "xxgl.h"
#include "sdwpsldlg.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static int cur_focus;
/////////////////////////////////////////////////////////////////////////////
// Csdwpdjdlg dialog
switch_to_english_mode(CWnd *wnd);
switch_to_chinese_mode(CWnd *wnd);
Set_to_item_end(CWnd *wd,int id);
Csdwpsldlg::Csdwpsldlg(CWnd* pParent /*=NULL*/)
: CDialog(Csdwpsldlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Csdwpsldlg)
m_qswpsl = _T("");
m_jswpsl = _T("");
//}}AFX_DATA_INIT
}
void Csdwpsldlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Csdwpsldlg)
DDX_Text(pDX, IDC_qswpsl, m_qswpsl);
DDX_Text(pDX, IDC_jswpsl, m_jswpsl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Csdwpsldlg, CDialog)
//{{AFX_MSG_MAP(Csdwpsldlg)
ON_EN_CHANGE(IDC_jswpsl, OnChangejswpsl)
ON_EN_CHANGE(IDC_qswpsl, OnChangeqswpsl)
ON_EN_SETFOCUS(IDC_jswpsl, OnSetfocusjswpsl)
ON_EN_SETFOCUS(IDC_qswpsl, OnSetfocusqswpsl)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csdwpsldlg message handlers
void Csdwpsldlg::OnChangejswpsl()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
char buf[20];
int l,i,flag,j;
GetDlgItemText(IDC_jswpsl,buf,12);
l = strlen(buf);
if (l > 8){
buf[8] = 0;
SetDlgItemText(IDC_jswpsl,buf);
Set_to_item_end(this,IDC_jswpsl);
return ;
}
if (l > 0){
for (i=0;i<l;i++){
if (((buf[i] < '0')||(buf[i] > '9'))&&(buf[i] != '.')){
buf[i] = 0;
SetDlgItemText(IDC_jswpsl,buf);
Set_to_item_end(this,IDC_jswpsl);
}
}
l = strlen(buf);
flag = 0;
for (i=0;i<l;i++){
if (buf[i] == '.'){
j = i;
flag = 1;
break;
}
}
if (flag == 1){
if (j < l-3){
buf[j+3] = 0;
SetDlgItemText(IDC_jswpsl,buf);
Set_to_item_end(this,IDC_jswpsl);
}
}
}
}
void Csdwpsldlg::OnChangeqswpsl()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
char buf[20];
int l,i,flag,j;
GetDlgItemText(IDC_qswpsl,buf,12);
l = strlen(buf);
if (l > 8){
buf[8] = 0;
SetDlgItemText(IDC_qswpsl,buf);
Set_to_item_end(this,IDC_qswpsl);
return ;
}
if (l > 0){
for (i=0;i<l;i++){
if (((buf[i] < '0')||(buf[i] > '9'))&&(buf[i] != '.')){
buf[i] = 0;
SetDlgItemText(IDC_qswpsl,buf);
Set_to_item_end(this,IDC_qswpsl);
}
}
l = strlen(buf);
flag = 0;
for (i=0;i<l;i++){
if (buf[i] == '.'){
j = i;
flag = 1;
break;
}
}
if (flag == 1){
if (j < l-3){
buf[j+3] = 0;
SetDlgItemText(IDC_qswpsl,buf);
Set_to_item_end(this,IDC_qswpsl);
}
}
}
}
void Csdwpsldlg::OnOK()
{
// TODO: Add extra validation here
float bf,ef;
char buf[20];
CWnd *wn_qswpsl;
CWnd *wn_jswpsl;
CWnd *wn_ok;
CWnd *wn_cur;
wn_qswpsl = GetDlgItem(IDC_qswpsl);
wn_jswpsl = GetDlgItem(IDC_jswpsl);
wn_ok = GetDlgItem(IDOK);
wn_cur = GetFocus();
if (wn_cur->m_hWnd != wn_ok->m_hWnd){
if (cur_focus == 1){
wn_jswpsl->SetFocus();
return;
}
}
GetDlgItemText(IDC_qswpsl,buf,20);
bf = atof(buf);
GetDlgItemText(IDC_jswpsl,buf,20);
ef = atof(buf);
if ((bf > ef)&&(fabs(bf) > 0.001)&&(fabs(ef) > 0.001)){
MessageBox("输入的起始数大于结束数,请重新输入.","",MB_OK);
wn_jswpsl->SetFocus();
return;
}
CDialog::OnOK();
}
void Csdwpsldlg::OnSetfocusjswpsl()
{
// TODO: Add your control notification handler code here
CWnd *wnd;
wnd = GetDlgItem(IDC_jswpsl);
switch_to_english_mode(wnd);
cur_focus = 2;
}
void Csdwpsldlg::OnSetfocusqswpsl()
{
// TODO: Add your control notification handler code here
CWnd *wnd;
wnd = GetDlgItem(IDC_qswpsl);
switch_to_english_mode(wnd);
cur_focus = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -