我正在做一个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()));其中无模式是我对话框的一个对象,测试是我保存标记名称的数组;如果我输入一个明确的字符串,比如“MarkerNames”,它就可以工作,但是向它传递参数有问题;
问题出在哪里?我该如何纠正它?
非常感谢您的帮助:)
发布于 2014-07-08 20:11:24
使用_T表明您正在为unicode字符集构建程序,这是默认字符集。如果是这种情况,那么您应该使用wstring而不是string。
https://stackoverflow.com/questions/24625428
复制相似问题