Одиночный выбор Win32 ListView (Общие элементы управления)

Я использую элемент управления ListView из Common Controls 6.0 в C++, и мне нужно, чтобы ListView был только один выбор.

Все элементы управления более высокого уровня имеют эту функцию (например,.Net и Qt), но я предполагаю, что они где-то основаны на этом элементе управления. Любые идеи о том, как я могу заставить это вести себя как список с одним выбором?


На всякий случай, если это имеет значение, вот мое текущее утверждение создания:

list = ::CreateWindowExW(
    0,
    WC_LISTVIEWW,
    NULL,
    WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_SHOWSELALWAYS | LVS_REPORT | LVS_OWNERDATA,
    0,
    0,
    250,
    400,
    parentWindow,
    NULL,
    NULL,
    NULL
);

3 ответа

Решение

Вы хотите флаг LVS_SINGLESEL

Этот флаг должен использоваться при создании окна, изменение его после неудачного создания - не может переключаться между одиночным и множественным выбором без создания 2 отдельных элементов управления.

Есть стиль LVS_SINGLESEL. Просто ИЛИ со стилями, которые у вас уже есть.

Ты хочешь LVS_SINGLESEL, Смотрите: http://msdn.microsoft.com/en-us/library/bb774739.aspx

Если вы не хотите добавлять какой-либо код, просто отредактируйте свойство Dialog RC.

Другие вопросы по тегам