Сообщений 0 Оценка 41 Оценить |
Такой эффект имеет место при неправильном заданиии высоты контрола combo box. В этом случае вместо выпадающего списка под полем ввода отрисовывается утолщенная линия. Проблема может быть решена увеличением высоты контрола, как программым способом, так и редактированием ресурс-скрипта диалога на этапе проектирования. Программное изменение размеров combo box'а рассмотрено в статье Как программно изменить высоту выпадающего списка?. Для устранения проблемы на этапе проектирования загляните в ваш проект, откройте в текстовом режиме файл, содержащий ресурс необходимого вам диалога и отыщите строку, похожую на эту:
COMBOBOX IDC_CB,7,64,77,62,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP |
Четвертое число после идентификатора контрола (в нашем примере это IDC_CB) задает высоту контрола в единицах диалогового окна (в нашем примере это 62). Она, скорее всего, задана неправильно - слишком мала. Отредактируйте текст скрипта при необходимости.
ПРИМЕЧАНИЕ Необходимо всегда иметь ввиду, что combo box носит название "комбинированного" вовсе не случайно - он реально состоит из нескольких окон: поля ввода (edit), кнопки управления выпадающим списком (button) и окна выпадающего списка (list box). И шириной контрола combo box будет ширина поля ввода вместе с дочерним окном кнопки управления, а высотой его будет сумма высот поля ввода и окна выпадающего списка в развернутом состоянии. Высота, задаваемая для combobox-контрола, никак не влияет на высоту его поля ввода. |
Другим способом решения указанной проблемы может быть правильная работа с контролом в редакторе ресурсов. Рассмотрим работу с редактором на примере Visual Sudio.
Рисунок 1
Для перевода редактора в режим управления высотой контрола необходимо щелкнуть мышью по кнопке управления выпадающим списком контрола. Контрол в результате этого примет вид, приведенный на рисунке 1. По-умолчанию редактор ресурсов Visual Studio создает combobox-контрол высотой, достаточной для вывода выпадающего списка высотой в одну строку. В ресурс-скрипте это выражается числом 30. На каждую дополнительную строку потребуется 7-8 единиц.
Растягивая границы контрола за темный квадратик на нижней стороне, можно визуально отрегулировать высоту контрола.
Вернуть редактор в режим регулирования ширины контрола можно, щелкнув по полю ввода.
Сообщений 0 Оценка 41 Оценить |