Revision 1 of 3, by Zoltanleo on 2-22-2020. The page as it is now.
BGRAControls/ru
<figure> <img src="bgracontrols.png" title="bgracontrols.png" /> <figcaption>bgracontrols.png</figcaption> </figure>
Установка
Используйте Online Package Manager для получения BGRABitmap и BGRAControls.
Обратите внимание, что вы должны проверять только пакеты "bgrabitmappack.lpk" и "bgracontrols.lpk" в онлайн-менеджере пакетов. Другие пакеты являются необязательными и могут потребоваться сторонние пакеты / библиотеки для работы (OpenGL и PascalScript).
Дополнительные компоненты
Начиная с версии 4.4, компоненты TBCDefaultThemeManager, TBCKeyboard и TBCNumericKeyboard не устанавливаются по умолчанию, чтобы позволяет пользователям Linux получить беспроблемную установку с помощью Online Package Manager без установки сторонних компонентов. Если вы хотите, чтобы эти компоненты [установлены], подключите [их] в "Register unit" в опциях пакета для каждого файла (bcdefaulthememanager.pas, bckeyboard.pas, bcnumerickeyboard.pas), затем скомпилируйте и пересоберите Lazarus. В Linux вам нужно сначала установить [пакеты] libxtst-dev и libgl-dev.
Веб-сайт
BGRABitmap Organization on GitHub: https://github.com/bgrabitmap/
Элементы управления BGRA
Элементы управления BGRA - это набор графических элементов пользовательского интерфейса, которые можно использовать с приложениями Lazarus LCL. Под Linux вам нужно установить [пакеты] libxtst-dev и libgl-dev.
TBCButton
<figure> <img src="bcbutton.png" title="bcbutton.png" /> <figcaption>bcbutton.png</figcaption> </figure>
Элемент управления - кнопка, который можно стилизовать через свойства для каждого состояния, например StateClicked, StateHover, StateNormal, с такими настройками, как градиенты, границы и текст с тенями. Вы можете назначить уже созданный стиль через свойство AssignStyle.
TBCButtonFocus
<figure> <img src="TBCButtonFocus.png" title="TBCButtonFocus.png" /> <figcaption>TBCButtonFocus.png</figcaption> </figure>
Аналогичен TBCButton, но поддерживает фокусировку как обычный TButton.
TBCGameGrid
<figure> <img src="bcgamegrid.png" title="bcgamegrid.png" /> <figcaption>bcgamegrid.png</figcaption> </figure>
Сетка с пользовательской шириной и высотой элементов и любым количеством горизонтальных и вертикальных ячеек, которые можно нарисовать с помощью BGRABitmap непосредственно с событием OnRenderControl.
TBCImageButton
- <figure> <img src="samplebgraimagebutton.png" title="samplebgraimagebutton.png" /> <figcaption>samplebgraimagebutton.png</figcaption> </figure>
- <figure> <img src="samplebgraimagebuttonalpha.png" title="samplebgraimagebuttonalpha.png" /> <figcaption>samplebgraimagebuttonalpha.png</figcaption> </figure>
Элемент управления - кнопка, который можно стилизовать с помощью одного файла изображения, содержащего рисунок для каждого состояния Normal(«Обычный»), Hovered(«Наведенный»), Active(«Активный») и Disabled(«Отключенный»). Он поддерживает функцию 9-фрагментного масштабирования. Он поддерживает приятную анимацию затухания, которую можно включить.
TBCXButton
<figure> <img src="bcxbutton.png" title="bcxbutton.png" /> <figcaption>bcxbutton.png</figcaption> </figure>
Элемент управления - кнопка, который может быть стилизован [при помощи кода] в событии OnRenderControl. Или даже лучше создать свой собственный дочерний элемент управления, наследующийся от этого класса.
TBCLabel
<figure> <img src="bclabel.png" title="bclabel.png" /> <figcaption>bclabel.png</figcaption> </figure>
Элемент управления - label, у который можно [настраивать] стиль через свойства, он поддерживает тени, настраиваемые границы и фон.
TBCMaterialDesignButton
<img src="TBCMaterialDesignButton_01.png" title="TBCMaterialDesignButton_01.png" width="400" alt="TBCMaterialDesignButton_01.png" /> <img src="TBCMaterialDesignButton_02.png" title="TBCMaterialDesignButton_02.png" width="400" alt="TBCMaterialDesignButton_02.png" /> <img src="TBCMaterialDesignButton_03.gif" title="TBCMaterialDesignButton_03.gif" width="400" alt="TBCMaterialDesignButton_03.gif" />
Элемент управления - кнопка - с эффектом анимации в соответствии с рекомендациями Google Material Design. Он поддерживает пользовательский цвет для фона и для зацикленной анимации, также вы можете настраивать тень.
TBCPanel
<figure> <img src="bcpanel.png" title="bcpanel.png" /> <figcaption>bcpanel.png</figcaption> </figure>
Элемент управления - панель, у который можно [настраивать] стиль через свойства. Вы можете назначить уже созданный стиль через свойство AssignStyle.
TBCRadialProgressBar
<figure> <img src="TBCRadialProgressBar.png" title="TBCRadialProgressBar.png" width="400" /> <figcaption>TBCRadialProgressBar.png</figcaption> </figure>
Индикатор выполнения с радиальным стилем. Вы можете установить цвет и свойства текста, как вам нравится.
TBCToolBar
TToolBar с событием OnRedraw, чтобы нарисовать его, используя BGRABitmap. Он также поддерживает OnPaintButton по умолчанию для настройки рисования кнопок. По умолчанию это стиль панели инструментов проводника, похожий на Windows 7.
TBCTrackBarUpdown
<figure> <img src="TBCTrackBarUpdown.png" title="TBCTrackBarUpdown.png" /> <figcaption>TBCTrackBarUpdown.png</figcaption> </figure>
Элемент управления для ввода числовых значений, работает как трекбар и spinedit в одном элементе управления.
TBGRAFlashProgressBar
<figure> <img src="BC-Bgraflashprogressbar.png" title="BC-Bgraflashprogressbar.png" /> <figcaption>BC-Bgraflashprogressbar.png</figcaption> </figure>
Индикатор выполнения со стилем по умолчанию в духе старого стиля диалогового окна прогресс-бара Flash Player Setup для Windows. Вы можете изменить свойство color, чтобы оно имело разные стили, а также использовать событие OnRedraw, чтобы рисовать на нем собственные стили, такие как текст, или переопределять весь рисунок по умолчанию.
TBGRAGraphicControl
Подобен компоненту paintbox. С помощью этого элемента управления вы можете рисовать с прозрачностью, используя событие OnRedraw.
TBGRAImageList
<figure> <img src="after-TBGRAImageList.png" title="after-TBGRAImageList.png" /> <figcaption>after-TBGRAImageList.png</figcaption> </figure>
Список изображений, который поддерживает альфа[-канал] на всех поддерживаемых платформах.
TBGRAImageManipulation
<figure> <img src="bgraimagemanipulation.jpg" title="bgraimagemanipulation.jpg" width="400" /> <figcaption>bgraimagemanipulation.jpg</figcaption> </figure>
Инструмент для манипуляциями с изображениями, посмотрите демонстрацию, которая показывает все возможности, которые идут с ним.
TBGRAKnob
<figure> <img src="BC-Bgraknob.png" title="BC-Bgraknob.png" /> <figcaption>BC-Bgraknob.png</figcaption> </figure>
Рукоятка настройки, которая может быть стилизована через свойства.
TBGRAResizeSpeedButton
<figure> <img src="TBGRAResizeSpeedButton.png" title="TBGRAResizeSpeedButton.png" width="400" /> <figcaption>TBGRAResizeSpeedButton.png</figcaption> </figure>
Speed button, которая может изменить размер глифа, чтобы он вписался [полностью] в элемент управления.
TBGRAShape
<figure> <img src="samplebgrashape.png" title="samplebgrashape.png" /> <figcaption>samplebgrashape.png</figcaption> </figure>
Элемент управления с настраиваемыми формами, такими как многоугольник и эллипс, которые могут быть заполнены градиентами и могут иметь пользовательские границы и многие другие визуальные параметры.
TBGRASpeedButton
<figure> <img src="BGRASpeedButton.png" title="BGRASpeedButton.png" /> <figcaption>BGRASpeedButton.png</figcaption> </figure>
Speed button, которая в GTK и GTK2 обеспечивает прозрачность на основе BGRABitmap для глифа.
TBGRASpriteAnimation
<figure> <img src="bgraspriteanimation.png" title="bgraspriteanimation.png" /> <figcaption>bgraspriteanimation.png</figcaption> </figure>
Компонент, который можно использовать как средство просмотра изображений или средство просмотра анимации, поддерживает загрузку файлов GIF.
TBGRAVirtualScreen
<figure> <img src="TBGRAVirtualScreen.gif" title="TBGRAVirtualScreen.gif" /> <figcaption>TBGRAVirtualScreen.gif</figcaption> </figure>
Это как панель. Вы можете нарисовать этот элемент управления, используя событие OnRedraw.
TDTAnalogClock
<figure> <img src="TDTThemedClock.gif" title="TDTThemedClock.gif" /> <figcaption>TDTThemedClock.gif</figcaption> </figure>
Часы.
TDTAnalogGaugue
<figure> <img src="TDTAnalogGaugue.gif" title="TDTAnalogGaugue.gif" /> <figcaption>TDTAnalogGaugue.gif</figcaption> </figure>
Датчик.
TDTThemedClock
<figure> <img src="TDTAnalogClock.gif" title="TDTAnalogClock.gif" /> <figcaption>TDTAnalogClock.gif</figcaption> </figure>
Еще одни часы.
TDTThemedGauge
Еще один датчик.
TPSImport_BGRAPascalScript
Компонент для загрузки утилит паскалевского скрипта BGRABitmap.
BGRA Custom Drawn
<figure> <img src="TBCDButton.png" title="TBCDButton.png" /> <figcaption>TBCDButton.png</figcaption> </figure>
BGRA Custom Drawn - это набор элементов управления, унаследованных от Custom Drawn. Они идут с темным стилем по умолчанию, который похож на Photoshop.
TBCDButton
Элемент управления - кнопка, стилизованный под TBGRADrawer.
TBCDEdit
Элемент редактирования, стилизованный с помощью TBGRADrawer.
TBCDStaticText
Элемент управления - label, стилизованный с помощью TBGRADrawer.
TBCDProgressBar
Элемент управления - индикатора выполнения, стилизованный с помощью TBGRADrawer.
TBCDSpinEdit
Элемент управления - spin edit, стилизованный с помощью TBGRADrawer.
TBCDCheckBox
Элемент управления - checkbox, стилизованный с помощью TBGRADrawer.
TBCRadioButton
Элемент управления - radiobutton, стилизованный с помощью TBGRADrawer.
Образцы кода
BGRA Controls поставляется с хорошими демками, показывающими, как использовать материал и дополнительные вещи, которые вы можете использовать в своих собственных проектах.
Библиотека паскалевского скрипта
Помещение методов BGRABitmap внутрь .dll с заголовками c #, java и pascal.
Пользовательские BGRA Ribbon компоненты
Как создать полностью тематическое окно, используя элементы управления для создания Ribbon-подобного приложения.
[Каталог] Tests
[В поставке с демками] есть тестовые [проекты] для аналоговых элементов управления (часы и датчик), элементы управления с префиксом BC, элементы управления с префиксом BGRA, элементы управления BGRA Custom Drawn, как использовать Pascal Script и BGRABitmap, bgrascript или как создать собственное решение для сценариев с BGRABitmap.
[Каталог] Tests Extra
<img src="game_maze.png" title="game_maze.png" width="400" alt="game_maze.png" /> <img src="game_puzzle.png" title="game_puzzle.png" width="400" alt="game_puzzle.png" /> <img src="customdrawnwindows7.png" title="customdrawnwindows7.png" width="400" alt="customdrawnwindows7.png" /> <img src="slicescaledtachart.png" title="slicescaledtachart.png" width="400" alt="slicescaledtachart.png" />
Это дополнительные тесты, например, как использовать эффект затухания, тему fpGUI, игры, такие как лабиринт и головоломки, как мы создали material design animation, pix2svg или как преобразовать маленькое изображение в SVG с использованием шестиугольников, прямоугольников и эллипсов, плагинов или как загрузить .dll и использовать в TBGRAVirtualScreen, эффект дождя, эффект тени, 9-фрагментное масштабирование с помощью Custom Drawn или как создавать темы с растровыми изображениями приложения, чтобы они выглядели как темы Windows, и 9-фрагментное масштабирование с помощью диаграмм.
Другие модули
Эти модули поставляются с элементами управления BGRA и содержат еще больше функций, которые иногда используются с элементами управления, иногда нет, но в некотором роде полезны. Некоторые из них перечислены здесь, другие, которые вы можете видеть, связаны напрямую с любым элементом управления, таким как bcrtti, bcstylesform, bctools и bctypes.
BCEffect
Эффект затухания [для использования] с BGRABitmap.
BCFilters
Набор пиксельных фильтров для использования с BGRABitmap.
BGRAScript
Создание сценариев с помощью BGRABitmap, см. тестовый проект.
Статьи по теме
BGRASpriteAnimation - Использование компонента анимации спрайтов.
uE Controls - Другие элементы управления, разработанные с помощью BGRABitmap.
BGRABitmap - Библиотека, используемая для создания этих элементов управления.
LazPaint - Программа рисования, разработанная с помощью Lazarus и BGRABitmap.
From the Free Pascal wiki, page "BGRAControls/ru", as it stood on 2020-02-22 after a change by Zoltanleo, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
