-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