I’ll post the steps to show a graphic checkbox using a Style and Wingding like below instead of the original “Y”. I did bump the size from 8 to 9. It still looks pretty thin. One nice thing is these are fonts that scale to any size which icons do not do.
First you need to decide what Wingding to use. My Repo has a window with several Wingdings that work for Checkbox. The CHR(), Letter and Font are shown.
You need to define a Style under Actions like below where I entered the Font, Size as 10 and Style as Zero (meaning N/A, it defaults to 700 = Bold which you don’t want).
Edit: Probably better to enter 400 for Regular. This should NOT require entering a value for Size or Style. I usually hand code these into the embed point.
You can see in the List behind the Form this will be Style number 1, its not totally obvious. You MUST also select the “Run Time Listbox” tab, then select any lists you want to use this style for the List Style code to generate.
If you look at the source you will find this style in the DefineListboxStyle ROUTINE (Legacy and ABC). You could skip using App Gen and type this style code in.
Open List Formatter and select the Checkbox column.
Change the ‘Y’ in the picture to the Wingding character which is ‘R’ in this case: @n1~R~b@
.
Change the Default Style enter type " 1 " or whatever style number was assigned.
You will see this in the FORMAT string as Z(1)
This style applies to every row in the column so they all are in Wingdings 2. They is also a Cell Style “Y” where you have a LONG in the Queue. You can have both, the Cell Style overrides the Column if its not zero.
That’s it, build and run and it should look like the first screen capture.
A further enhancement would be to show an empty box when it is not checked. You cannot do that with a BYTE you must define a Loc:Active STRING(1) and put that in the List with a picture of @s1 plus the Default Style of 1.
In the embed “Format an Element of the Browse Queue (legacy)”, or SetQueueRecord (ABC), you need code like below to assigning the local Loc:Active based on the file value in MBR:Active. Char 163 is an empty check box, and ‘S’ is a different check box.
Loc:Active=CHOOSE(~MBR:Active,'<163>','S')
I modified the list to show this new box on the right of the above @n1~R~b@
example: