Код (Text): LOCAL lvi :LVITEM invoke SetFocus,hList invoke SendMessage,hList,LVM_GETNEXTITEM,-1,LVNI_SELECTED ;находим SELECTED mov lvi.imask,LVIF_STATE mov lvi.iItem,eax mov lvi.iSubItem,0 mov lvi.state,0h mov lvi.stateMask,LVIS_SELECTED invoke SendMessage,hList,LVM_SETITEM,NULL,ADDR lvi ;снимаем выделение invoke SendMessage,hList,LVM_GETNEXTITEM,-1,LVNI_SELECTED ;находим SELECTED - выделен прежний :( Вот такой код. Должен снимать выделение с итема, но не снимает Код использовался в других проектах, работал нормально, а вот сейчас не снимает выделения. Может, что забыл? Хотя вроде все правильно.
q_q это половина кода. Вторая (аналогичная) занимается фокусом (с тем же успехом). Визуально выделеный итем должен перестать выделяться, т.е. фон текста должен стать белым и рамка в виде пунктира вокруг итема должна исчезнуть.
Я делал так Код (Text): mov eax,iItem mov lvi.iItem,eax mov lvi.state,0 mov lvi.stateMask,LVIS_SELECTED or LVIS_FOCUSED invoke SendMessage,hList,LVM_SETITEMSTATE,-1,addr lvi
-1 - все итемы или конкретный итем (0,1,2...) Код (Text): mov lvi.state,0 mov lvi.stateMask,LVIS_SELECTED or LVIS_FOCUSED invoke SendMessage,hList,LVM_SETITEMSTATE,iItem,addr lvi