Всех приветствую!
Есть задача разместить в ListIconGadget разные значки в разных колонках.
Рисую картинки, помещаю в список, в итоге в первой колонке отображаются, а в остальные не могу поместить значки.
Как я думаю, что-то со вставкой SUBITEM в ListIconGadget.
Гляньте код, а то я сам уже не догоняю в чем дело
За ранее спасибо!
Enumeration #MainWindow EndEnumeration Enumeration #MC_red #MC_blue #MC_green EndEnumeration ;{ рисуем три иконки ; красный color=$0000ff CreateImage(#MC_red,16,16,32|#PB_Image_Transparent) StartDrawing(ImageOutput(#MC_red)) Box(0,0,16,16,RGB(255,255,255)) LineXY(8,4,12,8,color) LineXY(12,8,8,12,color) LineXY(8,12,4,8,color) LineXY(4,8,8,4,color) FillArea(8,8,-1,color) StopDrawing() ; синий color=$ff0000 CreateImage(#MC_blue,16,16,32|#PB_Image_Transparent) StartDrawing(ImageOutput(#MC_blue)) Box(0,0,16,16,RGB(255,255,255)) LineXY(8,4,12,8,color) LineXY(12,8,8,12,color) LineXY(8,12,4,8,color) LineXY(4,8,8,4,color) FillArea(8,8,-1,color) StopDrawing() ; зеленый color=$008000 CreateImage(#MC_green,16,16,32|#PB_Image_Transparent) StartDrawing(ImageOutput(#MC_green)) Box(0,0,16,16,RGB(255,255,255)) LineXY(8,4,12,8,color) LineXY(12,8,8,12,color) LineXY(8,12,4,8,color) LineXY(4,8,8,4,color) FillArea(8,8,-1,color) StopDrawing() ;} Hwnd = ImageList_Create_(16,16,#ILC_COLOR32|#ILC_MASK, 0, 100) ; помещаем в список ImageList_Add_(Hwnd, ImageID(#MC_red), 0) ; 0 ImageList_Add_(Hwnd, ImageID(#MC_blue), 0) ; 1 ImageList_Add_(Hwnd, ImageID(#MC_green), 0) ; 2 If OpenWindow(#MainWindow,0,0,405,300,"Окно",#PB_Window_ScreenCentered |#PB_Window_SystemMenu) ; собственно ListIconGadget LIG=ListIconGadget(#PB_Any,20,20,365,260,"Колонка 1", 120 ,#PB_ListIcon_MultiSelect|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection) AddGadgetColumn(LIG, 1, "Колонка 2",120) AddGadgetColumn(LIG, 2, "Колонка 3",120) SendMessage_(GadgetID(LIG), #LVM_SETIMAGELIST, #LVSIL_SMALL, Hwnd) For i = 0 To 2 AddGadgetItem(LIG, -1, ""+Chr(10)+ "abc"+Chr(10)+"def") ; структура с параметрами Var.lv_item Var\mask = #LVIF_IMAGE | #LVIF_TEXT Var\iItem = i ; номер строки Var\iSubItem = 0 ; номер колонки Var\pszText = @""; замена текста Var\iImage = i ; номер картинки в списке ; первая колонка SendMessage_(GadgetID(LIG), #LVM_SETITEM, 0, @Var) ; вторая колонка не рисуется... Var\iSubItem = 1 Var\iImage = 1 SendMessage_(GadgetID(LIG), #LVM_SETITEM, 0, @Var) Next i EndIf Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow Quit = 1 EndSelect Until Quit End
Отредактировано nolnolsem (18.01.2013 17:10:57)