GASCHE Опубликовано 5 июля, 2015 Поделиться Опубликовано 5 июля, 2015 Прошу помочь. Как узнать ширину полосы прокрутки в выпадающем списке В VCL GetSystemMetrics (SM_CXVSCROLL), а в FMX? Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 6 июля, 2015 Администраторы Поделиться Опубликовано 6 июля, 2015 Добрый день, Речь идет о TComboBox и TComboEdit? Цитата Ссылка на комментарий
0 GASCHE Опубликовано 6 июля, 2015 Автор Поделиться Опубликовано 6 июля, 2015 O TComboBox ! Цитата Ссылка на комментарий
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 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.