VB6, считать и установить флажок Check у итема в ListView
Формулировка задачи:
hi ALL
Пытаюсь сделать так:
Пытаюсь сделать так:
нихрена не получается ... каг сделать правильна?
Решение задачи: «VB6, считать и установить флажок Check у итема в ListView»
textual
Листинг программы
<font color="blue">Public</font> <font color="blue">Function</font> LVSetItemCheck(hwnd <font color="blue">As</font> <font color="blue">Long</font>, nItem <font color="blue">As</font> <font color="blue">Integer</font>, <font color="blue">ByVal</font> NewVal <font color="blue">As</font> <font color="blue">Boolean</font>) <font color="blue">As</font> <font color="blue">Boolean</font> <font color="blue">Dim</font> pItem <font color="blue">As</font> LV_ITEM <font color="blue">With</font> pItem .mask = LVIF_STATE <font color="00AA00">'забыл софсем указать сначала, а это - важно </font> .iItem = nItem .StateMask = LVIS_STATEIMAGEMASK .state = INDEXTOSTATEIMAGEMASK(Abs(NewVal) + <font color="darkblue"><b>1</b></font>) <font color="blue">End</font> <font color="blue">With</font> LVSetItemCheck = ListView_SetItem(hwnd, pItem) <font color="00AA00">'</font> <font color="00AA00">' nLvItem.mask = LVIF_STATE</font> <font color="00AA00">' nLvItem.iItem = nItem</font> <font color="00AA00">' nLvItem.StateMask = nMask</font> <font color="00AA00">' nLvItem.state = NewVal</font> <font color="00AA00">' LVSetItemCheck = LVSetItemState(ListView, nItem, INDEXTOSTATEIMAGEMASK(Abs(NewVal) + 1), LVIS_STATEIMAGEMASK)</font> <font color="blue">End</font> <font color="blue">Function</font> <font color="blue">Public</font> <font color="blue">Function</font> ListView_SetItem(hwnd <font color="blue">As</font> <font color="blue">Long</font>, pItem <font color="blue">As</font> LV_ITEM) <font color="blue">As</font> <font color="blue">Boolean</font> <font color="00AA00">'Sets some or all of a tree-view item's</font> <font color="00AA00">'attributes. Old docs say returns zero if</font> <font color="00AA00">'successful or - 1 otherwise.</font> <font color="00AA00">'New docs say returns TRUE if successful,</font> <font color="00AA00">'or FALSE otherwise!</font> ListView_SetItem = SendMessage(hwnd, LVM_SETITEM, <font color="darkblue"><b>0</b></font>&, pItem) <font color="blue">End</font> <font color="blue">Function</font> <font color="blue">Public</font> <font color="blue">Function</font> INDEXTOSTATEIMAGEMASK(iState <font color="blue">As</font> <font color="blue">Long</font>) <font color="blue">As</font> <font color="blue">Long</font> <font color="00AA00">'Prepares the index of a state image so that a</font> <font color="00AA00">'treeview control or listview control can use the</font> <font color="00AA00">'index to retrieve the state image for an item.</font> <font color="00AA00">'Returns the one-based index of the state image</font> <font color="00AA00">'shifted left twelve bits. A common control</font> <font color="00AA00">'utility macro.</font> <font color="00AA00">'This macro is defined in Commctrl.h as:</font> <font color="00AA00">'#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)</font> INDEXTOSTATEIMAGEMASK = iState * (<font color="darkblue"><b>2</b></font> ^ <font color="darkblue"><b>12</b></font>) <font color="blue">End</font> <font color="blue">Function</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д