Я использую пользовательскую форму в Excel VBA, и у меня есть комбинированное окно со стилем fmStyleDropDownList. Я хочу удалить горизонтальную полосу прокрутки:
Имейте в виду, что эта проблема чем-то похожа на эту: Удалите полосу прокрутки в списке . В этом посте принятое решение гласит:
Это может произойти, когда для свойства формата ширины столбца списка задано какое-то широкое значение, а затем вы измените размер элемента управления для данных, он покажетполосы прокрутки.
Чтобы исправить это, измените свойство «Ширина столбца» на вкладке «Формат» на что-то очень маленькое, затем поиграйтесь с этим свойством и размером элемента управления списка, пока не получите его так, как хотите, и без прокрутки. отображаются полосы.
Итак, что я сделал: я изменил свойство ColumnWidths на меньшие значения, пока горизонтальная полоса прокрутки не исчезнет. Однако это имеет побочный эффект, заключающийся в том, что раскрывающемуся тексту недостаточно ширины для отображения в целом, как показано на следующих рисунках (свойство Width и LastWidth остается равным 162):
- Изображение моего комбинированного окна с шириной столбца 50 пт . Полоса прокрутки все еще там. Вместо «abcdefghijklmn» во втором ряду выпадающего меню отображается только «abcdefghijkl» (без mn), а в третьем - «что-то е» вместо «что-то еще». Я предполагаю, что это потому, что свойство ColumnWidths установлено слишком маленьким.
- Изображение моего поля со списком с ColumnWidths 18 pt . Полоса прокрутки исчезла (что я и хочу). 18 пунктов - самое большое значение, которое я нашел, не имея полосы прокрутки. Но теперь он отображает только несколько (18?) Точек в любом ряду выпадающего меню, что для меня неприемлемо.
Есть идеи, как решить эту проблему?