Прозрачный флажок с поддержкой тем?

Я ищу простой, прозрачный компонент флажок, который должным образом поддерживает темы 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.

Другие вопросы по тегам