FXControls to stale powiększająca się biblioteka szybkich i niezawodnych komponentów do tworzenia wieloplatformowego oprogramowania w środowisku FireMonkey, zawierająca niezbędne elementy umożliwjiające tworzenie nowoczesnych i przyjaznych dla użytkownika aplikacji.

Cele FXControls

Doskonały Interfejs Użytkownika

Nie trzeba udowadaniać, że interfejs użytkownika jest jedną z najważniejszych części aplikacji, a wrażenia użytkownika (UX) często decydują o tym, czy użytkownik chce używać twoich produktów. Naszym celem jest dostarczenie narzędzi do projektowania nowoczesnych, intuicyjnych, przyjaznych dla użytkownika i niezawodnych interfejsów, przy użyciu zarówno dobrze znanych i sprawdzonych komponentów, jak i zupełnie nowych, w tym specyficznych dla różnych systemów operacyjnych.

Niezawodny FireMonkey

Kod FireMonkey nie jest tak dojrzały jak jego odpowiednik w bibliotece VCL i  możemy znaleźć niedoskonałości w prawie każdym komponencie FMX. Może to mieć niewielkie znaczenie dla użytkowników Androida, przyzwyczajonych do nieprawidłowego działania oprogramowania, ale jest niedopuszczalne dla użytkowników biznesowych pracujących z aplikacjami finansowymi. My przyjeliśmy strategię, w której najważniejsza jest stabilność i niezawodność kodu. Postaraliśmy się także wyeliminować wszelkie problemy, które mogą wyniknąć z bazowych komponentów FireMonkey.

Powrót do Windows

FireMonkey jest środowiskiem wieloplatformowym, ale czasami wydaje się, że jego twórcy zbytnio skupili się na urządzeniach mobilnych, zaniedbując nieco użytkowników komputerów stacjonarnych. My pamiętamy, że wielu z nas nadal używa myszy i klawiatury, i zapewniamy prawidłowe wsparcie dla tych starszych urządzeń. Oczywiście nie zapominamy również o użytkownikach, którzy używają palców i rysików.

FlexiLayouts

FlexiLayouts to nasza koncepcja, zgodnie z którą chcemy umożliwić projektowanie formularzy, które dobrze wyglądają zarówno na urządzeniach mobilnych, jak i na monitorach 4K, oszczędzając w ten sposób czas potrzebny na dostosowanie formularzy do różnych urządzeń. Chcemy to osiągnąć, wprowadzając komponenty, które dostosowują swój rozmiar do ekranu, a także do ich podrzędnych elementów sterujących oraz układów zmieniających swoją szerokość lub liczbę kolumn, podobnie do CSS Media Queries w HTML. Część tego pomysłu została już wdrożona w komponentach takich jak TFXAutoFitLayout lub TFXScollBox. Całość koncepcji  zostanie wkrótce opisana w osobnym artykule.

Biblioteka Przyjazna Programiście

Stworzyliśmy wiele edytorów komponentów i właściwości, aby korzystanie z naszej  biblioteki było przyjemne i wygodne. Również proces instalacji jest bardzo łatwy i nie wymaga specjalnego wysiłku.

Zawartośc Pakietu

TFXDataGrid

Kontrolka TFXDataGrid umożliwia wyświetlanie i edycję danych pochodzących z kwerend lub tabel bazy danych, w siatce zbudowanej z kolumn i wierszy, podobnie jak w arkuszu kalkulacyjnym. Najważniejsze cechy komponentu zostały wymienione poniżej.

  • High-speed performance - the grid easily handles millions of records and hundreds of columns, even on slow devices.
  • High compatibility - the grid columns can be bound to any type of database field, including BCD, lookup and calculated fields.
  • Flexible configuration - the grid layout and properties, in addition to the DFM files, can be stored in many ways using the TFXPropStorage component.
  • Compatibility with FMX styles - the grid is compatible with most standard and custom FireMonkey styles and can be customized with Style Designer.
  • Advanced database editor - users can edit, insert, append and delete records and use several data selection modes.
  • Easy data formatting - displayed values can be formatted in many ways depending on the selected cell style, also with the use of controls such as checkboxes, images or progress bars.
  • Various cell editors - a rich set of inplace editors that support all basic data types and fields, including read-only, lookup and calculated fields.
  • Data export - data can be exported to TXT, XLS, CSV, HTML, XML and RTF files or via Clipboard.
  • Data sorting - support for single and multi-column sorting with arbitrary column order.
  • Support for column dragging and sizing, header buttons, indicator column and much more.

TFXAutoFitLayout

TFXAutoFitLayout is a layout that automatically adjusts its size to the area occupied by its child controls. This allows you to optimize the space occupied by the group of child controls, regardless of the selected FMX style or font size.

TFXLabel

TFXLabel is a control used to display static text or a hyperlink in forms. The control is also often used to label another control and can set focus to that control when the user types the accelerator key.
A hyperlink can be used to perform various tasks, such as opening websites, sending e-mails or opening regular files.

TFXGroupBox

TFXGroupBox is a groupbox that can automatically adjust its size to the area occupied by its sub-controls. In addition, you can also change the position and offset of the label and change the visibility of the background (frame).

TFXControlBox

TFXControlBox is TFXGroupBox, which properties have been optimized for working with a single child control.

TFXEdit

TFXEdit is a single-line text editor with improved support for associated buttons and keyboard. It also provides the possibility to validate the text the user enters against a mask (similar to the TMaskEdit control in VCL).

TFXNumberEdit

TFXNumberEdit is an advanced numerical value editor that enables formatting, validation and editing of integer, float and decimal (BCD) values. The control allows using two separate formats for editing and displaying, controlling the precision and range of entered values, and displaying decimal and/or thousand separators.

TFXListBox

TFXListBox is a listbox in which you can use items associated with actions, thus making it easy to turn listbox into menu.

TFXComboEdit

TFXComboEdit is a "3-in-1" control that can replace TEdit, TComboEdit and TComboBox controls. Like every combobox, it has a searchable list that also supports custom values, images and checkboxes. The list items may be used to set the value of the control, by using their index, custom value or text.

TFXLookupComboEdit

TFXLookupComboEdit is a control similar to TFXComboEdit, but designed to handle lists containing a large number of items retrieved from the database. The list items may be used to set the value of the control, by using their index, lookup field value or text.

TFXForm

TFXForm is a FMX form extended with properties related to the help system (HelpKeyword, HelpContext, HelpType), which are missing in standard FireMonkey forms.

TFXNavigationPane

TFXNavigationPane is a two-part, collapsible panel that can be useful when creating menus or other elements of the user interface, which do not have to be permanently visible. One part of the panel is always visible, the other part can be hidden, visible or displayed as a pop-up. You can place any FMX controls on both parts of the panel. The panel is usually aligned to one of the edges of the parent window.

TFXPanel

TFXPanel is a panel that automatically adjusts its size to the area occupied by its child controls.

TFXScrollBox

TFXScrollBox is a scroll box providing better control over its contents. The content area may have variable width (within a specified range), and can be centered, or aligned to left or right.

TFXSpeedButton

TFXSpeedButton extends TSpeedButton with a drop-down menu and glyph margins.

TFXButton

TFXButton is TButton subclass introduced to preserve future compatibility.

TFXRadioButton

TFXRadioButton is TRadioButton subclass introduced to preserve future compatibility.

TFXHeader

TFXHeader extends THeader introducing new functionalities related to selection and sorting, allowing the use of headers to work with components that utilise multi-column selections or multi-column sorting.

TFXDateEdit

TFXDateEdit is a single-line date editor and picker derived from TScrollBox. TFXDateEdit does not extend the base class with any new functionality, but provides better support for custom styles.

TFXProgressBar

TFXProgressBar enhances the standard progress bar control by adding better support for custom styles.

TFXActiveStyleObject

TFXActiveStyleObject is the control used when designing (styling) other controls. It adds an additional image link to the TActiveStyleObject class, which allows additional visualization of the change in the state of the control, triggered by some event, e.g. MouseOver, Selected, Focused.

TFXTrayIcon

TFXTrayIcon is a component that creates an icon in the system tray and and provides support for mouse clicks, menus and balloon hints. For Windows only.

TFXVirtualListView

TFXVirtualListView is a scroll box that allows you to view and manage a dynamic list of variable-height controls. The list can display any number of controls of any type. A typical example of using such a list are chats in instant messengers.

TFXPropStorage

TFXPropStorage makes it very easy to save and restore published properties of the form or its components. The selection of applicable properties is carried out using the mouse in the dialog containing a list of all available properties. Depending on the selected storage manager, component properties can be stored in various storages, such as files, memory or a database.

TFXMemStorageManager

TFXMemStorageManager is a storage manager that allows you to store component properties in the device's memory.

TFXDBStorageManager

TFXDBStorageManager is a storage manager that allows you to store component properties in database fields.

TFXIniStorageManager

TFXIniStorageManager is a storage manager that allows you to store component properties in standard ini files.

TFXRegStorageManager

TFXRegStorageManager is a storage manager that allows you to store component properties in the Windows registry.

Versions and Prices

There are currently two editions of FXControls - a free but limited Lite edition, and a standard, full edition requiring the purchase of a license. The Lite edition supports only the 32-bit Windows platform and may not contain all components included in the full version of the library.

Documentation

The library documentation is currently being developed, but you may already make use of its simplified version now.

Support

If you need assistance, have an idea for new features, want to find a solution for an error or report an error you found, you may use the issue queue. The issues queue is a part of documentation and is mix of forum and ticket system.