📄 unitconversiondlg.cpp
字号:
// UnitConversionDlg.cpp : implementation file
//
#include "stdafx.h"
#include "UnitConversion.h"
#include "UnitConversionDlg.h"
#include "sipapi.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int item;
int i;
double lengthresult[16],arearesult[12],cubageresult[12],weightresult[12],temresult[3],
powerresult[4],energyresult[3],pressresult[3];
double length[16],area[12],cubage[12],weight[12],power[4],energy[3],press[3];
TCHAR lengthunit[16][15],areaunit[12][15],cubageunit[12][15],weightunit[12][15],
temunit[3][15],powerunit[4][15],energyunit[3][15],pressunit[3][15];
/////////////////////////////////////////////////////////////////////////////
// CUnitConversionDlg dialog
CUnitConversionDlg::CUnitConversionDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUnitConversionDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUnitConversionDlg)
m_input = _T("");
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CUnitConversionDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUnitConversionDlg)
DDX_Control(pDX, IDC_BUTTON1, m_button);
DDX_Control(pDX, IDC_name, m_name);
DDX_Control(pDX, IDC_input, m_Input);
DDX_Control(pDX, IDC_list, m_list);
DDX_Control(pDX, IDC_result, m_result);
DDX_Control(pDX, IDC_typelist, m_typelist);
DDX_Text(pDX, IDC_input, m_input);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUnitConversionDlg, CDialog)
//{{AFX_MSG_MAP(CUnitConversionDlg)
ON_LBN_SELCHANGE(IDC_typelist, OnSelchangetypelist)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
ON_CBN_SELCHANGE(IDC_list, OnSelchangelist)
ON_WM_CTLCOLOR()
ON_EN_SETFOCUS(IDC_input, OnSetfocusinput)
ON_EN_KILLFOCUS(IDC_input, OnKillfocusinput)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUnitConversionDlg message handlers
BOOL CUnitConversionDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
controldialog();//设置控件位置和大小
// CenterWindow(GetDesktopWindow()); // center to the hpc screen
// TODO: Add extra initialization here
m_typelist.AddString(L" 长 度");
m_typelist.AddString(L"");
m_typelist.AddString(L" 面 积");
m_typelist.AddString(L"");
m_typelist.AddString(L" 容 积");
m_typelist.AddString(L"");
m_typelist.AddString(L" 重 量");
m_typelist.AddString(L"");
m_typelist.AddString(L" 温 度");
m_typelist.AddString(L"");
m_typelist.AddString(L" 功 率");
m_typelist.AddString(L"");
m_typelist.AddString(L" 能 量");
m_typelist.AddString(L"");
m_typelist.AddString(L" 压 强");
m_typelist.SetCurSel(0);
//长度
length[0]=1000;length[1]=100;length[2]=10;length[3]=1000000;
length[4]=1000000000;length[5]=3.28084;
length[6]=39.37008;length[7]=1.0;length[8]=3.0;length[9]=1.09361;
length[10]=0.00054;length[11]=0.001;
length[12]=0.00062139;length[13]=1.829;length[14]=3.3;length[15]=3.125;
swprintf(lengthunit[0],L"毫 米");
swprintf(lengthunit[1],L"厘 米");
swprintf(lengthunit[2],L"分 米");
swprintf(lengthunit[3],L"微 米");
swprintf(lengthunit[4],L"纳 米");
swprintf(lengthunit[5],L"英 尺");
swprintf(lengthunit[6],L"英 尺");
swprintf(lengthunit[7],L"米 ");
swprintf(lengthunit[8],L"市 尺");
swprintf(lengthunit[9],L"码 ");
swprintf(lengthunit[10],L"海 里");
swprintf(lengthunit[11],L"公 里");
swprintf(lengthunit[12],L"英 里");
swprintf(lengthunit[13],L"英 寻");
swprintf(lengthunit[14],L"台 尺");
swprintf(lengthunit[15],L"营 造 尺");
//面积
area[0]=0.01;area[1]=0.30261;area[2]=10.76391;area[3]=1550.0031;area[4]=1.0;
area[5]=0.000001;area[6]=0.0002471;area[7]=0.0001;area[8]=0.0015;area[9]=0.0001031;
area[10]=1.19599;area[11]=0.0000003861;
swprintf(areaunit[0],L"公 亩");
swprintf(areaunit[1],L"坪 ");
swprintf(areaunit[2],L"平方英尺");
swprintf(areaunit[3],L"平方英寸");
swprintf(areaunit[4],L"平 方 米");
swprintf(areaunit[5],L"平方公里");
swprintf(areaunit[6],L"英 亩");
swprintf(areaunit[7],L"公 顷");
swprintf(areaunit[8],L"市 亩");
swprintf(areaunit[9],L"台 甲");
swprintf(areaunit[10],L"平 方 码");
swprintf(areaunit[11],L"平方英里");
//容积
cubage[0]=1000.0;cubage[1]=0.2642;cubage[2]=1.0;cubage[3]=0.22;cubage[4]=1000.0;
cubage[5]=0.001;cubage[6]=27.0;cubage[7]=0.001308;cubage[8]=0.554351;cubage[9]=2.1134;
cubage[10]=1.0567;cubage[11]=0.0275;
swprintf(cubageunit[0],L"毫 升");
swprintf(cubageunit[1],L"美 加 仑");
swprintf(cubageunit[2],L"升 ");
swprintf(cubageunit[3],L"英 加 仑");
swprintf(cubageunit[4],L"立方厘米");
swprintf(cubageunit[5],L"立 方 米");
swprintf(cubageunit[6],L"立 方 寸");
swprintf(cubageunit[7],L"立 方 码");
swprintf(cubageunit[8],L"台 升");
swprintf(cubageunit[9],L"美 品 脱");
swprintf(cubageunit[10],L"美 夸 脱");
swprintf(cubageunit[11],L"蒲 式 耳");
//重量
weight[0]=0.001;weight[1]=0.001102310995;weight[2]=2.20462442;weight[3]=35.27399072;
weight[4]=1000.0;weight[5]=1.0;weight[6]=2.0;weight[7]=20;weight[8]=1.66667;
weight[9]=26.66672;weight[10]=5000;weight[11]=1.0;
swprintf(weightunit[0],L"吨 ");
swprintf(weightunit[1],L"美 吨");
swprintf(weightunit[2],L"磅 ");
swprintf(weightunit[3],L"盎 司");
swprintf(weightunit[4],L"克 ");
swprintf(weightunit[5],L"千 克");
swprintf(weightunit[6],L"斤 ");
swprintf(weightunit[7],L"两 ");
swprintf(weightunit[8],L"台 斤");
swprintf(weightunit[9],L"台 两");
swprintf(weightunit[10],L"克 拉");
swprintf(weightunit[11],L"公 斤");
//温度
swprintf(temunit[0],L"摄 氏");
swprintf(temunit[1],L"华 氏");
swprintf(temunit[2],L"开 氏");
//功率
power[0]=1.0;power[1]=0.735499;power[2]=735.499;power[3]=0.9857;
swprintf(powerunit[0],L"马 力");
swprintf(powerunit[1],L"千 瓦");
swprintf(powerunit[2],L"瓦 ");
swprintf(powerunit[3],L"英 马 力");
//能量
energy[0]=1.0;energy[1]=0.001163;energy[2]=4186.8;
swprintf(energyunit[0],L"千 卡");
swprintf(energyunit[1],L"千 瓦 时");
swprintf(energyunit[2],L"焦 耳");
//压强
press[0]=1.0;press[1]=760;press[2]=101324.0;
swprintf(pressunit[0],L"大 气 压");
swprintf(pressunit[1],L"毫 汞 柱");
swprintf(pressunit[2],L"帕 斯 卡");
OnSelchangetypelist();
return TRUE; // return TRUE unless you set the focus to a control
}
void CUnitConversionDlg::OnSelchangetypelist()
{
// TODO: Add your control notification handler code here
int index;
index=m_typelist.GetCurSel();
switch(index)
{
case 0:
listaddlength();
break;
case 1:
m_typelist.SetCurSel(index+1);
case 2:
listaddarea();
break;
case 3:
m_typelist.SetCurSel(index+1);
case 4:
listaddcubage();
break;
case 5:
m_typelist.SetCurSel(index+1);
case 6:
listaddweight();
break;
case 7:
m_typelist.SetCurSel(index+1);
case 8:
listaddtem();
break;
case 9:
m_typelist.SetCurSel(index+1);
case 10:
listaddpower();
break;
case 11:
m_typelist.SetCurSel(index+1);
case 12:
listaddenergy();
break;
case 13:
m_typelist.SetCurSel(index+1);
case 14:
listaddpress();
break;
}
m_input=L"1";
UpdateData(false);
OnButton1();
}
//长度赋值
void CUnitConversionDlg::listaddlength()
{
m_list.ResetContent();
m_list.AddString(L"毫 米");
m_list.AddString(L"厘 米");
m_list.AddString(L"分 米");
m_list.AddString(L"微 米");
m_list.AddString(L"纳 米");
m_list.AddString(L"英 尺");
m_list.AddString(L"英 尺");
m_list.AddString(L"米 ");
m_list.AddString(L"市 尺");
m_list.AddString(L"码 ");
m_list.AddString(L"海 里");
m_list.AddString(L"公 里");
m_list.AddString(L"英 里");
m_list.AddString(L"英 寻");
m_list.AddString(L"台 尺");
m_list.AddString(L"营 造 尺");
m_list.SetCurSel(7);
}
//面积赋值
void CUnitConversionDlg::listaddarea()
{
m_list.ResetContent();
m_list.AddString(L"公 亩");
m_list.AddString(L"坪 ");
m_list.AddString(L"平方英尺");
m_list.AddString(L"平方英寸");
m_list.AddString(L"平 方 米");
m_list.AddString(L"平方公里");
m_list.AddString(L"英 亩");
m_list.AddString(L"公 顷");
m_list.AddString(L"市 亩");
m_list.AddString(L"台 甲");
m_list.AddString(L"平 方 码");
m_list.AddString(L"平方英里");
m_list.SetCurSel(4);
}
//容积赋值
void CUnitConversionDlg::listaddcubage()
{
m_list.ResetContent();
m_list.AddString(L"毫 升");
m_list.AddString(L"美 加 仑");
m_list.AddString(L"升 ");
m_list.AddString(L"英 加 仑");
m_list.AddString(L"立方厘米");
m_list.AddString(L"立 方 米");
m_list.AddString(L"立 方 寸");
m_list.AddString(L"立 方 码");
m_list.AddString(L"台 升");
m_list.AddString(L"美 品 脱");
m_list.AddString(L"美 夸 脱");
m_list.AddString(L"蒲 式 耳");
m_list.SetCurSel(2);
}
//重量赋值
void CUnitConversionDlg::listaddweight()
{
m_list.ResetContent();
m_list.AddString(L"吨 ");
m_list.AddString(L"美 吨");
m_list.AddString(L"磅 ");
m_list.AddString(L"盎 司");
m_list.AddString(L"克 ");
m_list.AddString(L"千 克");
m_list.AddString(L"斤 ");
m_list.AddString(L"两 ");
m_list.AddString(L"台 斤");
m_list.AddString(L"台 两");
m_list.AddString(L"克 拉");
m_list.AddString(L"公 斤");
m_list.SetCurSel(5);
}
//温度赋值
void CUnitConversionDlg::listaddtem()
{
m_list.ResetContent();
m_list.AddString(L"摄 氏");
m_list.AddString(L"华 氏");
m_list.AddString(L"开 氏");
m_list.SetCurSel(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -