如何在Win32 Project C ++中向列表框添加多个项目?

时间:2014-07-08 06:53:30

标签: c++ dialog listbox win32gui modeless

我正在开发一个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"它有效但将参数传递给它有一个问题;

问题是什么?如何纠正?

非常感谢你的帮助:)。

1 个答案:

答案 0 :(得分:0)

您对_T的使用表明您正在为unicode字符集构建程序,这是默认设置。如果是这种情况,那么你应该使用wstring而不是string。