Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Язык С: не отображаются столбцы в ListView

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Язык С: не отображаются столбцы в ListView
Имя
Сообщение << Старые топики   Новые топики >>
Язык С: не отображаются столбцы в ListView - 2008-12-16 03:46:16.046666   
sht0p0r

Сообщений: 23
Оценки: 0
Присоединился: 2008-12-16 03:22:12.390000
Пишу курсовую файловый менеджер на языке С. Вывод файлов пытаюсь сделать в ListView, но столбцы не отображаются.
quote:

GetClientRect(hwnd,&amp;rc);
InitCommonControls();
hwndList1 = CreateWindowEx(0L, WC_LISTVIEW, "",
WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT |
LVS_EDITLABELS,
2, 2, (rc.right-6)/2, rc.bottom-30,
hwnd, (HMENU)IDC_LISTVIEW1, ghInstance, NULL);
if (hwndList1 == NULL){MessageBox(NULL,"Cannot create ListView.","Error",MB_OK); return 0;}
hwndList2 = CreateWindowEx(0L, WC_LISTVIEW, "",
WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT |
LVS_EDITLABELS,
4+(rc.right-6)/2, 2, (rc.right-6)/2, rc.bottom-30,
hwnd, (HMENU)IDC_LISTVIEW2, ghInstance, NULL);
if (hwndList2 == NULL){MessageBox(NULL,"Cannot create ListView.","Error",MB_OK); return 0;}
himlSmall1=ImageList_Create(GetSystemMetrics(SM_CX SMICON),GetSystemMetrics(SM_CYSMICON),
ILC_MASK,9,1);
for(int i=0;i&lt;9;i++){
hIcon=LoadIcon(ghInstance, MAKEINTRESOURCE(IDR_ICO_MAIN));
ImageList_AddIcon(himlSmall1,hIcon);
}
ListView_SetImageList(hwndList1,himlSmall1, LVSIL_SMALL);
memset(&amp;lvc,0,sizeof(lvi));
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT;
lvc.cx = ((rc.right-6)/2) / 4;

lvc.iSubItem = 0;
lvc.pszText = "Application Name";
ListView_InsertColumn(hwndList1, 0, &amp;lvc);

lvc.iSubItem = 1;
lvc.pszText = "Icon Name";
ListView_InsertColumn(hwndList1, 1, &amp;lvc);

lvc.iSubItem = 2;
lvc.pszText = "Cost, USD";
ListView_InsertColumn(hwndList1, 2, &amp;lvc);
ListView_SetColumnWidth(hwndList1,2,(rc.right-6)/16);
memset(&amp;lvi, 0, sizeof(lvi));

lvi.mask = LVIF_IMAGE | LVIF_TEXT | LVIF_PARAM;
lvi.pszText = LPSTR_TEXTCALLBACK;

for(int i=0; i&lt;9; i++)
{
lvi.iItem = i;
lvi.iSubItem = 0;
lvi.cchTextMax = 40;
lvi.lParam = (LPARAM)"qwe";

lvi.iImage = i;
ListView_InsertItem(hwndList1, &amp;lvi);

lvi.iItem = i;
lvi.iSubItem = 1;
ListView_InsertItem(hwndList1, &amp;lvi);

lvi.iItem = i;
lvi.iSubItem = 2;
ListView_InsertItem(hwndList1, &amp;lvi);
}

Нужно ли для отображения столбцов обрабатывать сообщение WM_NOTIEFY?
Post #: 1
RE: Язык С: не отображаются столбцы в ListView - 2008-12-16 13:19:22.313333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
В структуре LISTVIEWITEM (переменная lvi) есть специальное поле для текста (чёт типа pchText). lParam немного не для этого предусмотрен. Почитай в мсдн описание структуры.
Post #: 2
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Язык С: не отображаются столбцы в ListView







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.