win32 GUI 在窗口中显示来自字符数组变量的文本
win32 GUI display text from char array variable in window
我希望使用 win32 将字符数组中的字符显示到窗口中。第二个参数类型是错误的。我该如何解决这个问题?谢谢
char data[5]="hello";
CreateWindow(TEXT("STATIC"), TEXT(data), WS_VISIBLE | WS_CHILD |
WS_BORDER|ES_AUTOVSCROLL,
10, 50,300,300,hWnd, (HMENU) none, NULL, NULL);
const TCHAR* data = TEXT("hello"); // LPCTSTR
CreateWindow(TEXT("STATIC"), data, WS_VISIBLE | WS_CHILD |
WS_BORDER|ES_AUTOVSCROLL,
10, 50,300,300,hWnd, (HMENU) none, NULL, NULL);
您的代码不是在 Unicode 配置中编译的。使用通用 TCHAR 类型应该可以解决问题。
另一种方法,如果数据char*
,则使用 ATL 转换宏 (http://msdn.microsoft.com/en-us/library/87zae4a3.aspx):
#include <atlstr.h>
const char* data = "hello";
CreateWindow(TEXT("STATIC"), CA2T(data), WS_VISIBLE | WS_CHILD |
WS_BORDER|ES_AUTOVSCROLL,
10, 50,300,300,hWnd, (HMENU) none, NULL, NULL);
最后,为了完整起见,您可以显式调用 ANSI API 版本:
const char* data = "hello";
CreateWindowA("STATIC", data, WS_VISIBLE | WS_CHILD |
WS_BORDER|ES_AUTOVSCROLL,
10, 50,300,300,hWnd, (HMENU) none, NULL, NULL);
相关文章:
- 指向指向字符数组的指针数组的指针
- 比较字符数组
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 使用无符号字符数组有效存储内存
- 按字符值访问int数组
- 错误:字符数组的初始值设定项太多
- 对字符数组中的元素执行逐位操作
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 移动二维数组中的字符
- C++ 传递二维字符数组
- 无法在 C++ 中输入字符数组
- C++ 带结构的数组字符
- 数组字符包含量超出预期
- 读取文件并添加到数组字符
- 如何在Qt中更改或替换数组字符
- 为什么编译器不在参数中传递数组字符 *arr[] 的大小?
- 井字棋数组字符错误
- 分割数组字符