В земле .NET есть чрезвычайно полезный System.Windows.Forms.CheckedListBox class.
Что такое эквивалент в земле общих элементов управления Windows? (если есть)
Превратите вид списка в один с флажками.Если вы хотите, чтобы он был похож на ListBox, используйте только 1 столбец.
ListView_SetExtendedListViewStyle (handle, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
Эта статья может быть вам интересна. В коротких окнах довольно легко реализовать флажки в списках и в выпадающих списках с помощью пользовательского рисования и обмена сообщениями.
Практически идентичный пользовательский интерфейс может быть разработан с помощью элемента управления List View с помощью изображений состояния элемента.
Но управление выбором и другие функции необходимо реализовать вручную.