GASCHE Опубликовано 5 июля, 2015 Опубликовано 5 июля, 2015 Прошу помочь. Как узнать ширину полосы прокрутки в выпадающем списке В VCL GetSystemMetrics (SM_CXVSCROLL), а в FMX? Цитата
0 Администраторы Brovin Yaroslav Опубликовано 6 июля, 2015 Администраторы Опубликовано 6 июля, 2015 Добрый день, Речь идет о TComboBox и TComboEdit? Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 13 июля, 2015 Модераторы Опубликовано 13 июля, 2015 TComboBox это тот же TListBox, смотрите в эту сторону Цитата
0 GASCHE Опубликовано 14 июля, 2015 Автор Опубликовано 14 июля, 2015 Эх, еще бы ткнули носом куда конкретно смотреть. Неужели ни кто не расширял выпадающий список? Цитата
0 AngryOwl Опубликовано 13 августа, 2015 Опубликовано 13 августа, 2015 var VScrollBar: TScrollBar; aWidth : Single; VScrollBar := TListBox(Sender) {или ваш объект}.VScrollBar; if Assigned(VScrollBar) and VScrollBar.Visible then aWidth := VScrollBar.Width; думаю, так Цитата
0 GASCHE Опубликовано 14 августа, 2015 Автор Опубликовано 14 августа, 2015 К сожалению VScrollBar не видно, и добраться до него мне не удается. ComboTest.zip Цитата
0 Администраторы Brovin Yaroslav Опубликовано 14 августа, 2015 Администраторы Опубликовано 14 августа, 2015 Я пправильно понимаю, что вы хотите узнать размер окна просмотра содержимого без учета размеров скроллбаров? Цитата
0 AngryOwl Опубликовано 14 августа, 2015 Опубликовано 14 августа, 2015 К сожалению VScrollBar не видно, и добраться до него мне не удается. создайте хелпер и тогда "увидите" VScrollBar например так: type TSB_Helper = class helper for TCustomScrollBox function VBar: TScrollBar; end; { TSB_Helper } function TSB_Helper.VBar: TScrollBar; begin Result:= Self.VScrollBar; end; { --------- } Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 14 августа, 2015 Модераторы Опубликовано 14 августа, 2015 // from uses FMX.ListView {$IFDEF MSWINDOWS} DefaultScrollBarWidth = 16; {$ELSE} DefaultScrollBarWidth = 7; {$ENDIF} могу вот это предложить, это из ListView стандарты Цитата
0 GASCHE Опубликовано 14 августа, 2015 Автор Опубликовано 14 августа, 2015 (изменено) Я пправильно понимаю, что вы хотите узнать размер окна просмотра содержимого без учета размеров скроллбаров? Нет, размер строки в выпадающем списке я определяю, как mItemWidth := ComboBox1.Canvas.TextWidth( ComboBox1.Items[ idx ] ), но если появляется скроллбар, то для полного определения ширины ComboBox1.ItemWidth необходимо к mItemWidth добавить его ширину, иначе строка в выпадающем списке полностью не отображается. ZuBy Не знаю почему, но при использовании DefaultScrollBarWidth = 16 строки полностью не отображаются. AlexG Наверно я что-то не понимаю, но присвоение VScrollBar := TCustomScrollBox( ComboBox1 ).VBar; не получается. ComboTest2.zip Изменено 15 августа, 2015 пользователем GASCHE Цитата
0 Администраторы Brovin Yaroslav Опубликовано 14 августа, 2015 Администраторы Опубликовано 14 августа, 2015 DropDownKind = Custom ? Цитата
0 GASCHE Опубликовано 14 августа, 2015 Автор Опубликовано 14 августа, 2015 (изменено) Нет, Native Должно быть видно "Температура охлаждающей жидкости PID" Изменено 15 августа, 2015 пользователем GASCHE Цитата
Вопрос
GASCHE
Прошу помочь.
Как узнать ширину полосы прокрутки в выпадающем списке
В VCL GetSystemMetrics (SM_CXVSCROLL), а в FMX?
12 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.