Прозрачный флажок с поддержкой тем?
Я ищу простой, прозрачный компонент флажок, который должным образом поддерживает темы XP/Vista/7.
Он также должен работать с Delphi 7.
Я нашел компонент на Torry, который не работает должным образом, и я знаю, что у компонентов Raize есть прозрачный флажок - но я, очевидно, не собираюсь платить 300 долларов за весь пакет, только чтобы получить этот единственный компонент.
Я также нашел много других решений, но ни одно из них не поддерживает их.
Основная проблема заключается в том, что TCustomCheckBox является потомком TWinControl, и для реализации прозрачности необходимо создать новый элемент управления TGraphic с нуля.
Есть идеи?
5 ответов
LMD-Tools SE бесплатен, отлично работает на Delphi 7 и имеет компонент-флажок, который имеет свойство прозрачности. Я недавно использовал TLMDCheckbox со свойством прозрачности, включенным в Delphi 7.
http://www.lmdinnovative.com/download/index.php
Загрузить файл: setupse10d7.zip. Извините, я не могу опубликовать весь путь (URL), так как мне еще не хватает сока.
Это должно исправить тебя:).
ShawnH.
Не уверен, поможет ли это, но я столкнулся с той же проблемой при работе с элементами управления TMSSmooth: метка места для флажка в форме выглядела ужасно, потому что она не была прозрачной.
Их демонстрационные / примерные программы имели красивые флажки, поэтому я взглянул на их пример кода.
Оказывается, они уменьшили ширину компонента флажка до 13, так что показывается только сам ящик и без заголовка. Затем они добавили TLabel для подписи.
Похоже, умный обходной путь для меня.
Надеюсь это поможет.
Я использую AlphaControls для некоторых моих программ - все их компоненты имеют скины и имеют достаточно мощные опции обработки графики. Многие компоненты также имеют больше функций, чем соответствующие им стандартные компоненты Delphi - некоторые из них я использую только для этих функций. На сайте www.alphaskins.com доступна бесплатная версия Lite - она может быть именно тем, что вам нужно. Заметьте, это не тема Vista/7. Мы используем Delphi 2010, и осведомленность о теме vista/7 встроена в стандартный VCL, хотя, вероятно, это не то решение, на которое вы надеялись.
Raize Components является избыточным только для этого компонента, но гораздо более способным и поддерживает прозрачность в целом загрузки большего количества компонентов. Как только вы его получите, вы по достоинству оцените другие предметы. Я бы сказал, что это решение, которое вы ищете.
Если вы можете принять альтернативный элемент управления, в библиотеке JVCL находится JvXPCheckCtrls.pas с его компонентом TJvXPCheckbox. http://jvcl.delphi-jedi.org/ Я думаю (если я правильно помню), это прозрачно, когда используются темы.
Это довольно большой пакет, который будет добавлен в vcl с установкой Jvcl. И это не будет стоить вам ни цента.
Но помните, что компонент TJvXPCheckbox является частью их пакета XP-controls, и вы не можете просто вынуть компонент как автономный. Вам понадобится установить Jedi и получить основной код и необходимую обработку тем для его использования. - Публичная лицензия Mozilla ("MPL") версии 1.1.