Я работаю над проектом win32 (visual studio 2012). Пользователь может ввести несколько маркеров с их координатами и именами; Теперь я хочу добавить все имена маркеров в список как отдельный элемент; но ниже код, который я не вижу ничего в ListBox:Как добавить несколько элементов в список в Win32 Project C++?
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 представляет собой массив, который я сохранил имя маркеров в; , если я вхожу в явную строку, такую как «TEST», она работает, но есть проблема с передачей ей параметра;
В чем проблема и как это исправить?
спасибо вам за вашу помощь :)
Я должен использовать функцию GetDlgItemText() для получения текста из элемента управления редактирования в диалоговом окне, и он должен быть в типе TCHAR, и я не могу найти подходящее преобразование для переключения между этими типами; – user3811565
Преобразование не требуется: элементы управления Edit и Listbox используют один и тот же тип текста. Но std :: string работает только для 8-битных символов, а std :: wstring работает только для 16-битных символов. Какой размер TCHAR в вашей программе? (Он изменяется в зависимости от того, создаете ли вы для юникода или нет.) –