Одиночный выбор Win32 ListView (Общие элементы управления) - PullRequest
2 голосов
/ 12 октября 2010

Я использую элемент управления 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 ]

5 голосов
/ 12 октября 2010

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

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

3 голосов
/ 12 октября 2010

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

2 голосов
/ 12 октября 2010

Вы хотите LVS_SINGLESEL. Смотри: http://msdn.microsoft.com/en-us/library/bb774739.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...