我正在开发一个win32项目(visual studio 2012)。用户可以输入几个标记及其坐标和名称; 现在我想将列表框中的所有标记名称添加为单独的项目;但是使用下面的代码,我在列表框中看不到任何内容:
string MarkerNames[10];
CMarkerList *Modeless;
if (!Modeless)
Modeless = new CMarkerList;
if (!::IsWindow(Modeless->GetSafeHwnd()))
Modeless->Create(IDD_DIALOG2,NULL);
Modeless->ShowWindow(SW_SHOW);
HWND hdlg = FindWindow(NULL,_T("Dialog"));
int index1 = SendDlgItemMessage(hdlg, IDC_LIST2, LB_ADDSTRING, 0, (LPARAM)(MarkerNames[0].c_str()));
哪个Modeless是我的对话框的一个对象,而MarkerNames是一个我保存标记名称的数组; 如果我输入一个明确的字符串,如" TEST"它有效但将参数传递给它有一个问题;
问题是什么?如何纠正?
非常感谢你的帮助:)。
答案 0 :(得分:0)
您对_T的使用表明您正在为unicode字符集构建程序,这是默认设置。如果是这种情况,那么你应该使用wstring而不是string。