Есть SysListView32 Code (Text): invoke CreateWindowEx,0,addr ListViewClass,0,WS_CHILD or WS_VISIBLE or LVS_REPORT or LVS_SHAREIMAGELISTS,75,70,350,200,hwnd,0,hInstance,0 mov hlist,eax invoke SendMessage,hlist,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_CHECKBOXES mov lvc.imask,LVCF_TEXT+LVCF_WIDTH mov lvc.pszText,offset Heading mov lvc.lx,250 invoke SendMessage,hlist,LVM_INSERTCOLUMN,0,addr lvc mov lvc.lx,100 mov lvc.pszText,offset Heading invoke SendMessage,hlist,LVM_INSERTCOLUMN,1,addr lvc mov lvs.imask,LVIF_TEXT or LVIF_STATE mov lvs.state,8192 mov lvs.stateMask,LVIS_STATEIMAGEMASK mov lvs.pszText,offset Text invoke SendMessage,hlist,LVM_INSERTITEM,0,addr lvs mov lvs.imask,LVIF_TEXT mov lvs.iSubItem,0 mov lvs.pszText,offset Text invoke SendMessage,hlist,LVM_SETITEM,1,addr lvs Вопрос №1 Почему не добавляется под-item? Вопрос №2 Данный код не работает под Win98. Каким образом можно сделать список с CHECKBOXES под Win98?
RamMerLabs Так Code (Text): mov lvs.imask,LVIF_TEXT mov lvs.iSubItem,1 mov lvs.pszText,offset schevent invoke SendMessage,hlist,LVM_SETITEM,1,addr lvs тоже не работает GMax Это как?
Т. е. создать, что-то типа кнопки? А как тогда эту кнопку соединить со списком итемов? Кстати, итемы тоже пропадают при Win 98. Короче говоря, не совсем понимаю как это практически осуществить. Может есть пример?
Ну вопервых -- http://www.wasm.ru/article.php?article=1001031 А чекбоксы это рисунки (Image), добавляются через ImageList
вот, юзай: (сорри, что на vb - первый пример, который нашёл) итем: Code (Text): Public Function ItemAdd(ByVal Item%, ByVal text$, ByVal Indent%, ByVal Icon%) As Boolean Dim uLV As LVITEM If (m_hListView) Then With uLV .iItem = Item .lParam = Item .pszText = text & vbNullChar .cchTextMax = Len(text) + 1 .iIndent = Indent .iImage = Icon .mask = LVIF_TEXT Or LVIF_INDENT Or LVIF_IMAGE Or LVIF_PARAM End With ItemAdd = (SendMessageA(m_hListView, LVM_INSERTITEM, 0, uLV) > -1) End If End Function субитем: Code (Text): Public Function SubItemSet(ByVal Item%, ByVal SubItem%, ByVal text$, ByVal Icon%) As Boolean Dim uLV As LVITEM If (m_hListView) Then With uLV .iItem = Item .iSubItem = SubItem .pszText = text & vbNullChar .cchTextMax = Len(text) + 1 .iImage = Icon .mask = LVIF_TEXT Or LVIF_IMAGE End With SubItemSet = CBool(SendMessageA(m_hListView, LVM_SETITEM, 0, uLV)) End If End Function