Share via


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)

Other Resources

Creating Custom Toolbars

Designing Menus and Toolbars

Customizing the Visual FoxPro Environment