Recent

Author Topic: LAZ and Theme Applications  (Read 13469 times)

pixelink

  • Hero Member
  • *****
  • Posts: 1260
LAZ and Theme Applications
« on: August 27, 2016, 02:08:42 am »
I found this VCL Control that makes Theme'ing incredibly easy.
However, it cost $99 (which isn't bad for the work it can save a person)

It is here...
http://www.almdev.com/

I was wondering if anybody  knew of a way to get the same options without the cost?

Thanks in advanced.
Can't Type - Forgetful - Had Stroke = Forgive this old man!
LAZ 2.2.0 •  VSSTUDIO(.Net) 2022 • Win10 • 16G RAM • Nvida GForce RTX 2060

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: LAZ and Theme Applications
« Reply #1 on: August 27, 2016, 02:21:53 am »
Looks like that product is taking advantage of VCL styles, which I believe were added to Delphi VCL at some point (XE2?). LCL follows a much earlier version of VCL, so doesn't have that capability.


pixelink

  • Hero Member
  • *****
  • Posts: 1260
Re: LAZ and Theme Applications
« Reply #2 on: August 27, 2016, 02:25:24 am »
Looks like that product is taking advantage of VCL styles, which I believe were added to Delphi VCL at some point (XE2?). LCL follows a much earlier version of VCL, so doesn't have that capability.

Okay... Good thing I checked. Didn't know that.
So, what do LAZ'ers do for themeing their apps?
Can't Type - Forgetful - Had Stroke = Forgive this old man!
LAZ 2.2.0 •  VSSTUDIO(.Net) 2022 • Win10 • 16G RAM • Nvida GForce RTX 2060

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: LAZ and Theme Applications
« Reply #3 on: August 27, 2016, 02:28:26 am »
So, what do LAZ'ers do for themeing their apps?

Good question. I've never paid much attention to that since on OS X I want the standard look of Carbon / Cocoa controls.

However, I see this in the wiki:

http://wiki.lazarus.freepascal.org/Eye-Candy_Controls

pixelink

  • Hero Member
  • *****
  • Posts: 1260
Re: LAZ and Theme Applications
« Reply #4 on: August 27, 2016, 02:33:35 am »
So, what do LAZ'ers do for themeing their apps?

Good question. I've never paid much attention to that since on OS X I want the standard look of Carbon / Cocoa controls.

However, I see this in the wiki:

http://wiki.lazarus.freepascal.org/Eye-Candy_Controls

I did see that... it is cool.

I know most people want the native GUI look.

But there may be times, I will want to make an app just for me (or someone else) on Windows.

I would like the options for custom themes if I use x-platform too.
I kind of like the DARK looking UI's.

Was just wondering  :)
Can't Type - Forgetful - Had Stroke = Forgive this old man!
LAZ 2.2.0 •  VSSTUDIO(.Net) 2022 • Win10 • 16G RAM • Nvida GForce RTX 2060

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: LAZ and Theme Applications
« Reply #5 on: August 27, 2016, 02:40:04 am »
I know most people want the native GUI look.

I see this with Eye Candy: "therefore their look is very native everywhere". Not sure what "native" means here. Does it mean they look the same everywhere or that they look like some commonly accepted idea of what "native" means on each platform? I think maybe that only makes sense on Mac. Or maybe that should be past tense, since some of Apple's own apps have advanced the look a bit beyond what Cocoa provides.

For example, this approach is emulating the accepted platform nativeness it looks like:

http://wiki.freepascal.org/Lazarus_Custom_Drawn_Controls


pixelink

  • Hero Member
  • *****
  • Posts: 1260
Re: LAZ and Theme Applications
« Reply #6 on: August 27, 2016, 02:46:33 am »
I know most people want the native GUI look.

I see this with Eye Candy: "therefore their look is very native everywhere". Not sure what "native" means here. Does it mean they look the same everywhere or that they look like some commonly accepted idea of what "native" means on each platform? I think maybe that only makes sense on Mac. Or maybe that should be past tense, since some of Apple's own apps have advanced the look a bit beyond what Cocoa provides.

For example, this approach is emulating the accepted platform nativeness it looks like:

http://wiki.freepascal.org/Lazarus_Custom_Drawn_Controls

Yeah... I saw this already too.
It looks like a person could "Draw" (owner drawn) their own style, but still switch to the "default" style.

It looks like (but haven't tried) that a person could build their own themes by code.
Well, at least I have that so far.

Thanks
Can't Type - Forgetful - Had Stroke = Forgive this old man!
LAZ 2.2.0 •  VSSTUDIO(.Net) 2022 • Win10 • 16G RAM • Nvida GForce RTX 2060

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: LAZ and Theme Applications
« Reply #7 on: August 27, 2016, 03:11:19 am »
I suppose it's the Web app world where theming has really taken off, probably because there's never been any kind of standard look. Eg, should it look like desktop Windows? Something else?

If you look at the various JavaScript frameworks, you see some of the same things occurring. For example, with qooxdoo, their mobile framework looks almost identical to iOS at times:

http://www.qooxdoo.org/devel/mobileshowcase/index.html#%2Ftheming

With desktop, not sure what qooxdoo's influences are, but some interesting-looking stuff:

http://www.qooxdoo.org/current/showcase/#Theming

With LCL, you get something that would have been recognizable and familiar 10 years ago. Nothing wrong with that, per se, just an observation.

coliv_aja

  • New Member
  • *
  • Posts: 38
Re: LAZ and Theme Applications
« Reply #8 on: August 27, 2016, 07:54:51 am »
Looks like that product is taking advantage of VCL styles, which I believe were added to Delphi VCL at some point (XE2?). LCL follows a much earlier version of VCL, so doesn't have that capability.
Nope, they have been around since 2000. They support from D5. It's popular theming library along with alphaskins. You should take a look at their demo. It's pretty fancy, with alpha blending and animation.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: LAZ and Theme Applications
« Reply #9 on: August 27, 2016, 01:02:07 pm »
Colvi_aja is right that VCL-styles and theming are not 100% the same.

Before styling there was also some theme support but that was more geared towards commctrl (Windows XP+ theming) support, which means that you toggle some property bits in the wincontrol, and then windows theming is allowed.

That kind of theming came with afaik D7 (with the "WinXP theme" component), but in not to old versions, units could be plugged in to make them support that too.

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: LAZ and Theme Applications
« Reply #10 on: August 28, 2016, 01:37:21 am »
But there may be times, I will want to make an app just for me (or someone else) on Windows.

I would like the options for custom themes if I use x-platform too.
I kind of like the DARK looking UI's.

Was just wondering  :)
LCL was designed to look as native as possible, so it greatly limits per application theming. If you want full control over theming, then take a look at fpGUI - as standard it includes 8 themes (two dark ones :) ) and adding new themes are very simple.

Here are a couple of screenshots of the standard fpGUI themes:
  http://geldenhuys.co.uk/~graemeg/themes/start.html
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

coliv_aja

  • New Member
  • *
  • Posts: 38
Re: LAZ and Theme Applications
« Reply #11 on: August 28, 2016, 07:14:19 am »
Colvi_aja is right that VCL-styles and theming are not 100% the same.

Before styling there was also some theme support but that was more geared towards commctrl (Windows XP+ theming) support, which means that you toggle some property bits in the wincontrol, and then windows theming is allowed.

That kind of theming came with afaik D7 (with the "WinXP theme" component), but in not to old versions, units could be plugged in to make them support that too.

Do you mean the xpman unit? AFAIK it just embed the manifest file to tell the system we will use the newer version of comctl32.dll (version 6 which came with Windows XP). Lazarus also using the same approach "Use manifest file to enable theming" in Project Options.

AFAIK, the theming library like alphaskins, almdev, ksdev, devexpress, delphi's VCL-Styles etc just wrap the common controls with their own controls to override the paint event. With exception of heavy theming(alpha blending, animation etc) you have to use their special control due to limitation in common controls. In Windows, we usually use openthemedata...drawthemebackground..closethemedata, they override this part to use their own theme engine.
I believe it can be done with Lazarus too.
« Last Edit: August 28, 2016, 07:22:10 am by coliv_aja »

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: LAZ and Theme Applications
« Reply #12 on: August 28, 2016, 11:33:17 am »
I believe it can be done with Lazarus too.
Possibly, but with that method you will only have custom theming ability in Windows. Other platforms will still look native. So much for "write once, compile everywhere".
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

mse

  • Sr. Member
  • ****
  • Posts: 286
Re: LAZ and Theme Applications
« Reply #13 on: August 28, 2016, 02:35:49 pm »
If you want full control over theming, then take a look at fpGUI
Or MSEgui. In MSEgui one even doesn't need to write code for theming. MSEgui allows to use pixmap compositing and colour gradients in order to define the look of widgets.
http://wiki.freepascal.org/MSEide_&_MSEgui#Architecture_overview
Example images of themed MSEgui applications are here:
http://zenway.ru/page/xelplayer
http://www.acosys.co.id/screenshot


 

TinyPortal © 2005-2018