Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206

Высота ComboBox при Style=csOwnerDrawFixed

24.01.2020, 17:58. Показов 3463. Ответов 11

Студворк — интернет-сервис помощи студентам
Добрый день.
Почему-то с включенным свойством csOwnerDrawFixed или csOwnerDrawVariable при увеличении штифта не меняется высота ComboBox, если шрифт увеличить - получается уродство))

с другими стилями высота меняется автоматом

Вручную не растягивается, даже программно через Height не увеличивается.
Подскажите пожалуйста, что за дичь и можно ли что-то сделать?
Миниатюры
Высота ComboBox при Style=csOwnerDrawFixed  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2020, 17:58
Ответы с готовыми решениями:

Одинаковая высота колонок при условии что высота изначально не известна
<div class="row equal"> <div class="col-md-8"> <div...

Как программно поменять style ComboBox'a?
Как программно поменять style ComboBox'a с DropDown на DropDownList?

Как программно изменить Style для элемента ComboBox?
Для элемента ComboBox нужно изменить Style (style=0 или 1) выбором из элемента ListBox. Помогите, не могу сообразить, как исправить...

11
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
24.01.2020, 18:22
У комбобокса есть событие OnMeasureItem, в обработчике которого можно назначать высоту каждому элементу списка, через параметр Height. Если это и имелось в виду под
Цитата Сообщение от roma2415 Посмотреть сообщение
даже программно через Height не увеличивается
- значит ,показывай код. Потому что у меня все увеличивается.
0
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 19:22  [ТС]
Нет, пытался просто

C++
1
2
3
4
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ComboBox101->Height=50;
}
Ничего не происходит при нажатии.

А как через OnMeasureItem сделать?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
24.01.2020, 19:28
Написать обработчик этого события, для чего просто в инспекторе объектов два раза щелкнуть рядом с событием OnMeasureItem и вписать необходимое:
C++
1
2
3
4
5
6
void __fastcall TForm1::ComboBox101MeasureItem(TWinControl *Control, int Index,
    int &Height)
 
{
    Height = 50; // <---
}
0
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 19:46  [ТС]
Сделал, ничего не меняется...
стиль csOwnerDrawFixed ?
C++
1
2
3
4
void __fastcall TForm1::ComboBox101MeasureItem(TWinControl *Control, int Index, int &Height)
{
Height = 100;
}
Изображения
 
0
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 19:50  [ТС]
Вообще высота Комбобокса устанавливается у меня автоматом при изменении шрифта, но если стиль csOwnerDrawFixed или csOwnerDrawVariable - этого не происходит, высота 22 и все...

Программно поменять высоту не получается, какой бы стиль не был выбран, остается исходное значение
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
24.01.2020, 20:16
Цитата Сообщение от roma2415 Посмотреть сообщение
Программно поменять высоту не получается
Почему у меня получается?
Миниатюры
Высота ComboBox при Style=csOwnerDrawFixed  
0
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 20:36  [ТС]
у вас csOwnerDrawVariable) с ним работает, а я пытался с csOwnerDrawFixed...
ну пусть будет csOwnerDrawVariable, подскажите пожалуйста как при такой настройке высоту выпадающего списка задать?
Миниатюры
Высота ComboBox при Style=csOwnerDrawFixed  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
24.01.2020, 20:58
Ну а Height что задает? Не высоту? Высота каждого элемента и задается. Что еще надо задавать?
0
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 21:34  [ТС]
Как вот эту высоту задать?... или количество элементов...
DropDownCount с OnMeasureItem не работает... у меня DropDownCount 20, но показывается 3 из 6...
Изображения
 
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
24.01.2020, 21:47
Лучший ответ Сообщение было отмечено roma2415 как решение

Решение

Добавил в OnCreate формы строку:

C++
1
ComboBox1->ItemHeight = 30; // <-- Чтобы совпадало с тем, что потом будет возвращаться в OnMeasureItem
, все нормально отображается:
Миниатюры
Высота ComboBox при Style=csOwnerDrawFixed  
2
10 / 6 / 6
Регистрация: 26.06.2017
Сообщений: 206
24.01.2020, 21:51  [ТС]
Спасибо большое и извиняюсь за глупые вопросы!)

вообще странно это, что при этих двух стилях высота автоматом не выставляется, как при других... такие танцы с бубном получаются
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2020, 21:51
Помогаю со студенческими работами здесь

На некоторых ПК высота ComboBox уменьшается до размеров одного элемента
Доброго времени суток. Имеется программка Windows Forms, в ней используется элемент comboBox. На одном из компьютеров на котором будет...

Как удалить стиль определенный между <style></style>
Привет. Есть тестовый пример : #foo{color:green;} &lt;div id=&quot;foo&quot; style=&quot;color:red&quot;&gt;hello&lt;/div&gt; Как очистить стили...

canvas.не меняется brush.style & pen.style
На форме лежит имэдж нужно часть его обвести (это в идеале). Я это решил реализовать так поместить сверху другой имэг и на его канве...

при поключении style.css не загрузаюся изображения background, но при блоки окрашиваются
В файле index.php подключаем стили &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot;/&gt;&lt;/head&gt; сами изображения в папке...

ComboBox. Как узнать индекс при изменении состояния ComboBox
Здравствуйте, возник вопрос касательно ComboBox. В реалиях выполняемой задачи появилась необходимость изменять строку в QLabel сразу же при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru