Управление Поля комбинированного списка MFC не показывает полный список объектов, когда я нажимаю выпадающее меню

Я кодирую приложение в 2008 MSVS, которое имеет контроль ComboBox, который я инициализирую через код как указано ниже:

static char*                    OptionString[4] = {"Opt1",
                                                   "Opt2",
                                                   "Opt3",
                                                   "Opt4"};


BOOL CMyAppDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

 // Set the icon for this dialog.  The framework does this automatically
 //  when the application's main window is not a dialog
 SetIcon(m_hIcon, TRUE);   // Set big icon
 SetIcon(m_hIcon, FALSE);  // Set small icon

    // TODO: Add extra initialization here

    m_Option.AddString(OptionString[0]);
    m_Option.AddString(OptionString[1]);
    m_Option.AddString(OptionString[2]);
    m_Option.AddString(OptionString[3]);
    m_Option.SetCurSel(0);

    return TRUE;  // return TRUE  unless you set the focus to a control
}

В вышеупомянутом коде, m_Option Контрольная переменная для Управления ComboBox.

Теперь, когда я создаю приложение и нажимаю стрелку вниз, выпадающее поле показывает первую опцию ONLY (так как я выбрал это через свой код). Но, если я нажимаю клавишу со стрелкой вниз на клавиатуре, она циклически повторяется через опции в порядке, который я вставил, но никогда не делает она показывает больше чем 1 вариант в поле. Так, В случае, если пользователь хочет выбрать option3, он должен циклически повториться через опции 1 и 2!! Хотя, после того как я выбираю любую опцию с помощью клавиатуры, соответствующие обработчики событий запущены, я раздражаюсь этим поведением, как понятно.

Я перечисляю свойства управления поля комбинированного списка также - только свойства, которые верны (отдых имеют значение false):

  1. Введите - выпадают
  2. Вертикальная полоса прокрутки
  3. Видимая позиция табуляции

Это прослушивало меня в течение многих недель теперь. Кто-либо может просветить меня?

12
задан phuclv 4 December 2013 в 02:33
поделиться

2 ответа

В дизайнере макета диалогов при разработке диалогового окна щелкните «стрелку вниз» в поле со списком. Затем вы можете перетащить нижнюю часть контура поля со списком, чтобы увеличить его высоту.

24
ответ дан 2 December 2019 в 04:16
поделиться

Вам необходимо увеличить высоту раскрывающегося списка в дизайнере.

Через дизайнер по умолчанию вы можете просто изменить размер ширины ComboBox. Если вы хотите изменить размер раскрывающегося списка Высота списка, вам нужно щелкнуть стрелку раскрывающегося списка справа, после чего вы сможете изменить размер опущенной высоты элемента управления. Это кажется таким простым, но если никто вам не скажет, это совсем не интуитивно понятно.

Надеюсь, вы поняли мою точка.

9
ответ дан 2 December 2019 в 04:16
поделиться
Другие вопросы по тегам:

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