As far as I know there's no way to change the pen width of a layout object. You could create separate layouts for each object you want the different pen width and just switch layouts, but that's an awful amount of work just to show some fields with a heavier border.
You can change fill color, text color and text styles by using conditional formats.
Here's an example.
Create a conditional expression in the Conditional Format settings:
Table::field = "x"
And select a fill color or other format as you want.
In your script use Set Field [table::field ; "x"] to enable the selected format and Set Field [table::field ; ""] to return it to its original settings.
Thank you very much for that.
Just in case someone finds this post later on.
I took your suggestion and created a field containing the WeekDayNumber (1 to 7)
As the button is hit it sets this field to a number (1 to 7) according to the day button clicked.
I used the conditional formatting with a formula where with :selected_Week_Day = 1 than it changes the field colour, text etc etc (what is possible to change).
On Exiting the calendar window the selected day is cleared up so next time we call the calendar the selected day will be today's date.
I had never played with conditional formatting before, but it is a neat trick for a lot of cases where the visual info needs to change according to the data value.
You can even use conditional formatting on button objects. I use that trick to turn button text grey to give it a "disabled" look if current conditions would keep the script that the button performs from doing anything.