Is there a way to create application wide defaults for fonts, colours, etc? I am using Clarion 9

I am seeking a way to set defaults for the font, font size, and colour once at startup.
Can anyone offer away of doing this?

Greetings -
Capesoft’s AnyFont: CapeSoft AnyFont Complete Documentation
Regards,
Roberto Artigas

1 Like

If you want your end-users to be able to change the font and size dynamically at runtime, then Capesoft Anyfont (as Roberto said) is the way to go.
If you are talking about changing the default font, etc when you create a new window in the IDE the edit Default.CLW in your Libsrc\Win folder. This is where the window type choices come from when prompted for a new window.

1 Like

When you create a window then the window has all the properties set. It does not “inherit” global properties at compile time.

The defaults.clw file (which youll find in the libsrc\win folder) is the starting point when you create a window, and you can edit that if you like.

You can also set all the properties at runtime. There are font properties for the window, each control, list-box styles, list column widths and so on. Its possible to write a class, which then is applied when a window opens. It aldo needs to interact with resizing code etc.

The easiest way to instantiate this class, and apply it to every procedure is via a template. Or you can derive the WindowManager class and plug it in via that.

All this is possible and straight-forward and built from standard clarion. I have an app with a couple thousand screens, and the thought of updating fonts manually wasnt exciting. So i wrote a class and template as described above.

Since we have multiple commercial apps, i made it reusable, and because other clarion programmers found it useful I released it for sale. Its called AnyFont, and the link is in Roberto’s answer above.

Its useful in all kinds of apps and its one of our most popular accessories. I get a lot of feedback, especially from the visually impaired because bigger fonts can be friendlier on the eyes.