VS2005 MFC MessageBox 消息函数出错

VS2005 MFC MessageBox 消息函数出错


VC++6.0用户在使用VS2005编写WIN32或者MFC程序时,经常使用函数:MessageBox("提示信息。"),但是在VS2005编译时候出错,出错信息如:

错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” d:/我的文档/visual studio 2005/projects/test/test/testdlg.cpp 155

很多人不知道原因。现在给出这个错误的解决办法。


void CtestDlg::OnBnClickedButton1()
...{
MessageBox("你已经提交成功。");
// TODO: 在此添加控件通知处理程序代码
}

方法一:由于VS2005默认使用的是UNICODE字符集,在新建项目时,把使用UNICODE字符集取消,如下图:

方法二:在使用的函数前加“_T”如:


void CtestDlg::OnBnClickedButton1()
...{
MessageBox(_T"你已经提交成功。");
// TODO: 在此添加控件通知处理程序代码
}

如需要更改已经建立的项目字符集,则选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。如下图:

OK了。


或者:

<1> Cstring str;

str.Format("a = %d",a);

<2> ::MessageBox(head,_T("content"),_T("tile"),MB_ok);

<3>AfxMessageBox(nstringID,MB_YESNO|MB_ICONSTOP);

<4>CWnd::MessageBox();

<5>MessageBox((LPTSTR)(LPTSTR)str);


上一页 1 ... -1 -1 -1 -1 -1 -1 -1 ... -1 下一页
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值