BCTCalBar is a control template to be dropped on a window. Notice handy Group surrounding Calendar Date selector to drag it around. Right Click on a control other than the group to delete the entire template and controls at once.  Because they are controls, you can change properties and salt to taste.

 

barCalControl

 

The Prompts are simple and straight forward.

 

BarCalPrompts

 

Auto Synchronize With BST is automatic, you cannot change it.  It looks for other templates in the procedure and automatically synchronizes with them to drive them.  You can only have one calendar in a procedure when using the other templates in the suite, it will drive all the other templates.

 

This Calendar is A selector is to be used if you put in on a procedure and use it for a Calendar Lookup in combination with the BCTSelectButton Template.  If you use the Calendar for a Selector, you must specify the INI name to use for passing the dates back and forth. .\BST.INI is used thru out the templates for storing format settings for the different templates and passing dates.  Usually there is no need to change this setting.  It is stored in the root directory of the app, allowing individual settings for users.

 

Date Display Format is how the selected date is displayed on the bar calendar.  Defaults to Windows Long Date for Machine it is being run on.  For Internationalization purposes.

 

BarCalMonthPrompts

 

These are the long month Names used in the date display on the Bar control. Deprecated with new Date Display Format above.

 

barCalSmonthProm

 

These are the Short Month names displayed between the month ahead or month behind selector buttons.

 

BarCalEmbs

 

Setup Date  embed is used to Change the default Date the calendar sets up with, which is  Bs:UseDate = Today().

 

If it is used as a selector, it uses the date stored in the field of the calling procedure.

   IF(GETINI('CalReturn','CalReturn',,'.\BST.INI') <> 0)

     Bs:UseDate = GETINI('CalReturn','CalReturn',,'.\BST.INI')

   ELSE

     Bs:UseDate = Today()

   END

 

You can change the startup date in this embed  by using Bs:UseDate = MyVariable

 

When Selecting New Date embed is fired whenever a new date is selected with the calendar.  You can use this embed to trigger your own update events in the procedure.

 

Do MyRoutine  ! etc, etc.