-2
SendDlgItemMessage()函数的最后一个参数采用显式字符串,例如L“TEST”,并且当我将它传递给字符串或wstring变量时,它根本不起作用;将字符串参数传递给SendDlgItemMessage
如果我写下面的代码不会任何字符串项添加到我的LIST_BOX:
string str[10];
for(int i = 0; i<10; i++)
str[i] = "Item " + i;
int index2 = SendDlgItemMessage(hdlg, IDC_LIST2, LB_ADDSTRING, 0, (LPARAM)str[MarkerNumber ]);
你能不能帮我设置此功能使用字符串参数?
您需要从中获取原始C字符串:即,您需要调用'str [i] .c_str()'来获取API正在查找的'char *'或'wchar_t *'对于 –
检查你的代码 - 你使用变量i超出范围。 –
该代码不会*编译*,更不用说成功执行。这不是你如何建立一个字符串与运行整数后缀,我都可以,但是,向你保证'“项目” + i'不是做你认为它是。关于设置项目文本的实际调用,你的数组是'string',而不是'wstring'。 'SendDlgItemMessageA(hdlg,IDC_LIST2,LB_ADDSTRING,0,(LPARAM)STR [1] .c_str());',但你需要正确地生成字符串* *第一。 – WhozCraig