How to: Coordinate Toolbars and Forms Using Code
In addition to using the Form Designer, you can add toolbars to form sets by using code.
To add a toolbar to a form set using code
- In the form set's Init Event, use the SET CLASSLIB Command to specify the library containing the toolbar class, and then create a toolbar from that class in the form set.
For example, to add and display the toolbar tbrPrint, which is based on the printing class in the inventory class library, add the following code to the form set's Init event:
SET CLASSLIB TO inventory
THIS.AddObject("tbrPrint","printing")
THIS.tbrPrint.Show
Note
If the toolbar class does not define the actions of the toolbar and its buttons, you must define the actions in the event procedures associated with the toolbar and its buttons.
You can define all aspects of a toolbar in code. For example, if you add the following code to a form set's Init event, when the form set is loaded Visual FoxPro creates and displays the toolbar defined in the code. This toolbar contains two buttons.
When chosen, these buttons change the font attributes of the form frmForm1 in the form set.
Form Set Init Event Code
Code |
Comments |
---|---|
THIS.AddObject("tbrTool1","mytoolbar") THIS.tbrTool1.Show |
Adds a toolbar of the class mytoolbar to the current form set and makes the toolbar visible. This code is in the form set's Init event. |
Class definition code
Code |
Comments |
---|---|
DEFINE CLASS myToolBar AS TOOLBAR ADD OBJECT cmdBold AS COMMANDBUTTON ADD OBJECT sep1 AS SEPARATOR ADD OBJECT cmdItalic AS COMMANDBUTTON |
Start of the class definition: one toolbar with a command button, a separator, and another command button. |
Left = 1 Top = 1 Width = 25 Caption = "Form Attributes" |
Sets properties of the toolbar object. |
cmdBold.Caption = "B" cmdBold.Height = 1.7 cmdBold.Width = 10 cmdItalic.Caption = "I" cmdItalic.Height = 1.7 cmdItalic.Width = 10 cmdItalic.FontBold = .F. |
Sets properties of the controls. Notice that there are no Top or Left property settings for controls on a toolbar. Controls on a toolbar are automatically positioned in the order they are added. The FontBold property of cmdItalic is set to false (.F.) because FontBold is true (.T.) by default. |
PROCEDURE Activate THIS.cmdBold.FontBold = ; THISFORMSET.frmForm1.FontBold THIS.cmdItalic.FontItalic = ; THISFORMSET.frmForm1.FontItalic ENDPROC |
When the toolbar is activated, the font attributes of the two command buttons are set to reflect the Bold and Italic font settings of frmForm1. |
PROCEDURE cmdBold.CLICK THISFORMSET.frmForm1.FontBold = ; !THISFORMSET.frmForm1.FontBold THIS.FontBold = ; THISFORMSET.frmForm1.FontBold ENDPROC |
When the user clicks cmdBold, the FontBold setting of frmForm1 is reversed, and the FontBold setting of cmdBold is set to match it. |
PROCEDURE cmdItalic.CLICK THISFORMSET.frmForm1.FontItalic = ; !THISFORMSET.frmForm1.FontItalic THIS.FontItalic = ; THISFORMSET.frmForm1.FontItalic ENDPROC |
When the user clicks cmdItalic, the FontItalic setting of frmForm1 is reversed, and the FontItalic setting of cmdItalic is set to match it. |
ENDDEFINE |
End of the class definition. |
See Also
Tasks
How to: Add Custom Toolbars to Form Sets
How to: Define Toolbar Actions
How to: Define Toolbar Actions
Reference
Customize Toolbar Dialog Box (Visual FoxPro)