So, I see our topic a little bit moving towards the flood (((
The other day I tried to work with the library
BGRAControls (great respect
lainz). It was cool! Despite the fact that this framework is still a beta version (no offense, lainz), you can start working with it.
After thinking, I thought that the initial option might be something between CSS & LCL;)
For example, so. A certain parent class (let's call it
TMUIComponent) for visual components has the property self.Appearance (or something like that). This is a set of TStringList with lines of CSS-code. For example:
type TMuiComponent = class() // accurate inheritance should be clarified
published
property Appearance: TStringList read FAppearance write SetAppearance;
end;
type TMuiForm = class(TMuiComponent)
//...
end;
type TMuiButton = class(TMuiComponent)
//...
end;
Each control, including forms and possibly dialogs, inherits this class.
The main CSS code can be attached to the application as a resource (for example, the styles.css file). In this file, the appearance for controls, forms, etc., as well as their behavior when hovering the mouse, clicking, and other events in the UI can be registered.
An example of how I see styles through CSS.
Styles.cssTMuiForm
{
width: 640px;
height: 480px;
caption: 'Test caption';
isVisible: true;
position: [poDesktopCenter];
}
I attached screenshots of the programs made with BRGAControls. One program is mine - (Just for fun;)), one of the demos.
P.s. It would be interesting if smart and quick peoples from big corporations read this topic and are preparing to release a new commercial product, hahaha...