记着以前用MessageBox(),里面的参数直接用"你好"就可以正常显示
比如:MessageBox("hello","message",MB_OK);
但用vc.net后发现必须这么用MessageBox(_T("hello"),_T("message"),MB_OK);才能正常显示
里面关于字符串参数定义为LPCTSTR
如果还用以前的参数形式就报错“CWnd::MessageBoxW”: 不能将参数 1 从“const char [15]”转换为“LPCTSTR”小弟菜鸟,请问各位
是因为MessageBox的函数定义变了吗,还是其他什么原因,虚心求教中......

解决方案 »

  1.   

    对了,再多问一个
    那个 _T 的详细使用我怎么才能查到啊
    在MSDN里头就找不到~~~~
      

  2.   

    你的字符集设置为unicode,在编译器中查找_UNICODE ,改为_MBCS即可
      

  3.   

    T是非常有意思的一个符号(TCHAR、LPCTSTR、LPTSTR、_T()、_TEXT()...),它表示使用一种中间类型,既不明确表示使用 MBCS,也不明确表示使用 UNICODE。那到底使用哪种字符集那?编译的时候才决定。设置条件编译的方式是:VC6中,"Project\Settings...\C/C++卡片 Preprocessor definitions" 中添加或修改 _MBCS、_UNICODE;VC.NET中,"项目\属性\配置属性\常规\字符集"然后用组合窗进行选择。使用 T 类型,是非常好的习惯,严重推荐!