按照文档对于这个函数的定义,void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...),
定义变量r为CString型,语句r.Format("%f%s=%f%s",1.0,u1,t,u2);被判错。判错信息为c:\documents and settings\dell\桌面\工作资料\mfcs\ctrltest\ctrltest\ctrltestdlg.cpp(217) : error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [10]”转换为“const wchar_t *”
1>        with
1>        [
1>            BaseType=wchar_t,
1>            StringTraits=StrTraitMFC_DLL<wchar_t>
1>        ]
1>        与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换以下是程序片断:
void CCtrltestDlg::OnBnClickedButtonEqual()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE); double t = GetConvFactor();
CString strTemp; m_ltUnit2.GetText(m_ltUnit2.GetCurSel(),strTemp);
m_result.Format("%f",m_dbNumber*t);
m_result+=strTemp; UpdateData(FALSE);
}void CCtrltestDlg::OnCbnSelchangeComboUnit1()
{
// TODO: 在此添加控件通知处理程序代码
double t = GetConvFactor();
CString u1,u2,r; m_cbUnit1.GetLBText(m_cbUnit1.GetCurSel(),u1);
m_ltUnit2.GetText(m_ltUnit2.GetCurSel(),u2);
r.Format("%f%s=%f%s",1.0,u1,t,u2); m_ref.SetWindowText(r);
}void CCtrltestDlg::OnLbnSelchangeListUnit2()
{
// TODO: 在此添加控件通知处理程序代码
double t = GetConvFactor();
CString u1,u2,r; m_cbUnit1.GetLBText(m_cbUnit1.GetCurSel(),u1);
m_ltUnit2.GetText(m_ltUnit2.GetCurSel(),u2);
r.Format("%f%s=%f%s",1.0,u1,t,u2); m_ref.SetWindowText(r);
}