Есть диалог, в нем есть ListView Control.
Пытаюсь добавлять элементы в ListView, но что-то не получется. Вернее
элементы добавляются, но текст не отображается. В чем может быть дело?
hList = GetDlgItem(hWnd,IDC_LISTBOX);
AddListColumn(hList,0,"Column 1",100);
AddListColumn(hList,1,"Column 2",100);
AddListItem(hList,0,0,"Item 1");
AddListItem(hList,1,0,"Item 2");
int AddListColumn(HWND hList, int i, LPSTR lpszText, int nWidth)
{
LVCOLUMN lvc;
ZeroMemory(&lvc,sizeof(lvc));
lvc.mask = LVCF_TEXT | LVCF_WIDTH;
lvc.pszText = lpszText;
lvc.cx = nWidth;
return ListView_InsertColumn(hList,i,&lvc);
}
int AddListItem(HWND hList, int iItem, int iSubItem, LPSTR lpszText)
{
LVITEM lvi;
ZeroMemory(&lvc,sizeof(lvi));
lvi.mask = LVIF_TEXT;
lvi.iItem = iItem;
lvi.iSubItem = iSubItem;
lvi.pszText = lpszText;
return ListView_InsertItem(hList,&lvi);
}
AS>1. Используй TCHAR
AS>2. Заполняй поля LVITEM.cchTextMax и LVCOLUMN.cchTextMax
IMHO, эти поля можно не заполнять
MSDN говорит по этому поводу следущее:
сchTextMax
Size of the buffer pointed to by the pszText member. If the structure is not receiving information about a column, this member is ignored.
Вообще не работает. Почему, не пойму
Здравствуйте, Игорь, Вы писали:
И>Вообще не работает. Почему, не пойму
Надо в оконной процедуре диалога обрабатывая WM_NOTIFY ответеить на сообщение LVN_GETDISPINFO. Это другая из вероятных причин. А лучше в VC найти примерчик с ипользованием ListView.
Здравствуйте, ua1zcl, Вы писали:
U>Здравствуйте, Игорь, Вы писали:
И>>Вообще не работает. Почему, не пойму
U>Надо в оконной процедуре диалога обрабатывая WM_NOTIFY ответеить на сообщение LVN_GETDISPINFO. Это другая из вероятных причин. А лучше в VC найти примерчик с ипользованием ListView.
А как ты догадался, что у него стиль Owner Data ?
Он вроде про это ничего не писал.
И неплохо бы привести все стили, с которыми создавался этот контрол — загадка скорее всего там.
Здравствуйте, B_A_D, Вы писали:
B_A>И неплохо бы привести все стили, с которыми создавался этот контрол — загадка скорее всего там.
Действительно, не заметил как поставил галочку напротив Owner data.
Опыт — его не пропьешь