代码如下:int pInt[] = { 150, -1 };
// 分栏
::SendMessage(hWndStatus, SB_SETPARTS, 2, (LPARAM)pInt);
// 设置各栏的文本
::SendMessage(hWndStatus, SB_SETTEXT, 0, (LPARAM)" Windows");问题就是我要在状态栏显示" Windows"字符串,但是显示的是乱码?
我用的是UNICODE字符,应该(LPARAM)" Windows"这里转换出问题了!
// 分栏
::SendMessage(hWndStatus, SB_SETPARTS, 2, (LPARAM)pInt);
// 设置各栏的文本
::SendMessage(hWndStatus, SB_SETTEXT, 0, (LPARAM)" Windows");问题就是我要在状态栏显示" Windows"字符串,但是显示的是乱码?
我用的是UNICODE字符,应该(LPARAM)" Windows"这里转换出问题了!
解决方案 »
- MFC何时调用BOOL CFrameWnd::Create
- cxCaps怎么理解
- 大家帮我看看,update这样用对么?(程序总报update语法错误)
- 程序模拟鼠标和键盘向WINDOWS系统发送消息,该怎么做?
- 休息片刻,大家进来聊聊,诚心给些建议,也顺便放些分
- 8位256色内存DC设置字体颜色无效,这是何原因啊?是不是要对调色版做特殊处理啊
- 如何使用类似LoadBitmap的函数,载入某一位图文件?
- ADO和ACCESS的数据备份问题
- 关于在VC++下使用断点调试程序
- 请告知“我的电脑”是用哪个程序打开的?如何用ShellExcute() 打开“我的电脑”?
- WTL问题
- InstallShield 多语言支持问题
看如下定义:
如果定义了_UNICODE标识符,那么一个称作__T的宏就定义如下:#define __T(x) L##x
如果没有定义_UNICODE标识符,则__T宏只简单地定义如下:#define __T(x) x///////举个例子,即可明白:CString str = _T("12345");在非 UNICODE 工程下等于:CString str = "12345";在 UNICODE 工程下等于:CString str = L"12345";这个在编译时就决定了,其实就是个宏替换。
明白了
谢谢各位了