У меня есть TWebScrollBox с множеством элементов, но мне не нравятся цвета полосы прокрутки по умолчанию.
Это моя полоса прокрутки на TWebScrollBox:
Вы можете видеть, что полоса прокрутки состоит из двух разных частей:
Я хочу изменить цвет обеих вышеупомянутых частей.
Я искал свойство цвета полосы прокрутки, но не смог его найти.
Можно ли как-то изменить цвета полосы прокрутки без использования файла CSS или класса CSS? Я хочу сделать это просто, используя код Delphi.






Вы можете изменить цвета полосы прокрутки, используя следующий код:
WebScrollBox.ElementHandle.style.setProperty('scrollbar-color','Fuchsia Green');
И это можно превратить в красивую процедуру Delphi следующим образом:
procedure ChangeScrollbarColor(ScrollBox: TWebCustomPanel; ColorThumb, ColorTrack: TColor);
var
RGB: Integer;
ColorThumbHex, ColorTrackHex: String;
begin
RGB := ColorToRGB(ColorThumb);
ColorThumbHex := '#' + Byte(RGB).ToHexString +
Byte(RGB shr 8).ToHexString +
Byte(RGB shr 16).ToHexString;
RGB := ColorToRGB(ColorTrack);
ColorTrackHex := '#' + Byte(RGB).ToHexString +
Byte(RGB shr 8).ToHexString +
Byte(RGB shr 16).ToHexString;
ScrollBox.ElementHandle.style.setProperty('scrollbar-color',ColorThumbHex + ' ' + ColorTrackHex);
end;
Затем эту процедуру можно легко использовать для изменения цвета полосы прокрутки в компоненте TWebScrollBox. Функция очень хороша, потому что вы можете передавать ей обычные значения Delphi TColor вместо использования цветов HTML.
Вот пример:
begin
ChangeScrollbarColor(MyScrollBox, clFuchsia, clGreen);
end;
@AmigoJack Это не спам. Я предоставляю реальную процедуру Delphi, которую можно использовать для изменения цвета полосы прокрутки. Это не ответ CSS. Мне нужен был способ сделать это с помощью только кода Delphi, что и дает ответ.
Это снова ответ .ElementHandle.style.setProperty(), как и раньше . Превратить TColor в шестнадцатеричный цвет HTML тривиально. Если «это не ответ CSS», то вы не можете использовать scrollbar-color, поскольку это CSS.
Снова спрашиваете, как определить CSS, как в Как мне установить встроенный CSS для компонента через Delphi в TMS Web Core? и Как изменить цвет границы компонента TWebButton? и предыдущие вопросы.