Как я могу получить значение (строка) текущего выбора в поле комбинированного списка?

Это кажется очевидным решением, которое не должно выполнять больше работы, чем необходимо:

def shuffled(gen):
    ls = list(gen)
    random.shuffle(ls)
    return ls

Поскольку сборка из примитивов stdlib настолько проста, я не уверен, что имеет смысл включать это как отдельный примитив.

15
задан BIBD 21 February 2009 в 19:59
поделиться

4 ответа

Мог бы быть лучший путь (мой MFC немного ржав), но кажется, что необходимо смочь звонить CComboBox::GetLBText(), передача его текущее использование выбора CComboBox::GetCurSel().

23
ответ дан 1 December 2019 в 01:31
поделиться

Простое GetWindowText работы, также.

Править: Поскольку ajryan указывает, GetWindowText на самом деле не работает в a CBN_SELCHANGE обработчик, потому что новый выбор вступил в силу, но текст окна не был обновлен с текстом нового выбора когда WM_COMMAND отправляется.

8
ответ дан 1 December 2019 в 01:31
поделиться

Используйте GetLBText, передающий в индексе и объекте CString.

править: слишком медленный!

4
ответ дан 1 December 2019 в 01:31
поделиться

CB_GETCURSEL возвратите целочисленный индекс CB_GETLBTEXT возвраты представляют в виде строки в CB_GETCURSEL

0
ответ дан 1 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: