我试图为旧的pocketpc应用程序制作一个简单的程序。
希望它能够得到时间并在我使用按钮时显示它。
使用下面的代码,我得到两个编译器错误:
error C2664: 'SetWindowTextW' : cannot convert parameter 1 from 'int' to 'HWND' Line: 201
error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'const char [7]' to 'LPCWSTR' Line: 233
我试图搜索,似乎是一个常见的误解,但我无法看到适合的解释..
_strdate( dateStr);
SetWindowText(1003, dateStr);
还有:
hwndLabel = CreateWindow("STATIC","Time",
WS_VISIBLE | WS_CHILD | SS_RIGHT,
10,200,75,35,hWnd,NULL,1003,NULL);
编辑:
在Xearinox的建议之后,我得到了三个新的错误。
这些:
error C2664: '_wstrdate' : cannot convert parameter 1 from 'char [9]' to 'wchar_t *' 199
error C2664: 'SetDlgItemTextW' : cannot convert parameter 3 from 'char [9]' to 'LPCWSTR' 201
error C2440: '=' : cannot convert from 'HWND' to 'int' 233
如果我从静态中删除(HMENU),我得到另一个错误:
error C2664: 'CreateWindowExW' : cannot convert parameter 10 from 'int' to 'HMENU' 233
答案 0 :(得分:1)
SetWindowText 的第一个参数是hwnd,而不是控件标识符。 试试这个:
SetDlgItemTextW(hWnd, 1003, dateStr);
将此用于检索日期:
WCHAR dateStr[256] = {0};
_wstrdate(dateStr);
还为CreateWindow使用宽字符串参数:
hwndLabel = CreateWindowW(L"STATIC",L"Time",
WS_VISIBLE | WS_CHILD | SS_RIGHT,
10,200,75,35,hWnd, (HMENU)1003, NULL, NULL);