我希望使用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/zh-cn/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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句