В дополнение к использованию Form Designer (Конструктора формы), вы можете добавить в наборы форм полоски инструментов программным способом.

Для того, чтобы добавить полоску инструментов в набор форм

  • В событии набора форм Init, используйте команду SET CLASSLIB для указания библиотеки, содержащей класс полоски инструмента, а затем создайте полоску инструментов из этого класса в наборе форм.

Например, для того чтобы добавить и отобразить полоску инструментов tbrPrint, которая создается на основе класса printing, определенного в библиотеке класса inventory, добавьте приведенные ниже строки кода в событие Init набора форм:

 CopyCode imageСкопировать код
SET CLASSLIB TO inventory
THIS.AddObject("tbrPrint","printing")
THIS.tbrPrint.Show
NoteЗамечание

Если класс полоски инструментов не определяет действие как самой полоски полоски инструментов, так и ее кнопок, вы должны определить их в процедурах событий, связанных как с самой полоской инструментов, так и ее кнопок.

Вы можете определить все аспекты полоски инструментов в программном коде. Например, если вы добавите приведенный ниже фрагмент кода в событие Init набора форм, то при загрузке наборе форм Visual FoxPro создаст и отобразит полоску инструментов, определенную в коде. Полоска инструментов приведенного примера содержит две кнопки.

При их выборе, эти кнопки изменят атрибуты шрифта формы frmForm1 набора форм.

Код события Init набора форм
Код Комментарии

THIS.AddObject("tbrTool1","mytoolbar")

THIS.tbrTool1.Show

Добавляет полоску инструментов класса mytoolbar в текущий набор форм и делает ее видимой. Этот код размещен в событии Init набора форм.

Код определения класса
Код Комментарии

DEFINE CLASS myToolBar AS TOOLBAR

ADD OBJECT cmdBold AS COMMANDBUTTON

ADD OBJECT sep1 AS SEPARATOR

ADD OBJECT cmdItalic AS COMMANDBUTTON

Начало определения класса: одна полоска инструментов с командной кнопкой, разделитель и другая командная кнопка.

Left = 1

Top = 1

Width = 25

Caption = "Form Attributes"

Устанавливает свойства объекта toolbar.

cmdBold.Caption = "B"

cmdBold.Height = 1.7

cmdBold.Width = 10

cmdItalic.Caption = "I"

cmdItalic.Height = 1.7

cmdItalic.Width = 10

cmdItalic.FontBold = .F.

Устанавливает свойства элементов управления. Отметьте, что для элементов управления полоски инструментов не имеется установок свойств Top или Left. Элементы управления полоски инструментов размещаются автоматически в том порядке, в каком они добавлялись. Свойство FontBold командной кнопки cmdItalic установилено в false (.F.) так как FontBold устанавливается по умолчанию в true (.T.).

PROCEDURE Activate

THIS.cmdBold.FontBold = ;

THISFORMSET.frmForm1.FontBold

THIS.cmdItalic.FontItalic = ;

THISFORMSET.frmForm1.FontItalic

ENDPROC

Когда полоска инструментов активизируется, атрибуты двух командных кнопок устанавливаются для отражения установок шрифта Bold и Italic, используемого для формы frmForm1.

PROCEDURE cmdBold.CLICK

THISFORMSET.frmForm1.FontBold = ;

!THISFORMSET.frmForm1.FontBold

THIS.FontBold = ;

THISFORMSET.frmForm1.FontBold

ENDPROC

Когда пользователь щелкает по cmdBold, то свойство FontBold формы frmForm1 устанавливается в обратное значение, а свойство FontBold кнопки cmdBold устанавливается для соответствия ему.

PROCEDURE cmdItalic.CLICK

THISFORMSET.frmForm1.FontItalic = ;

!THISFORMSET.frmForm1.FontItalic

THIS.FontItalic = ;

THISFORMSET.frmForm1.FontItalic

ENDPROC

Когда пользователь щелкает по cmdItalic, то свойство FontItalic формы frmForm1 устанавливается в обратное значение, а установка свойства FontItalic кнопки cmdItalic устанавливается для соответствия ему.

ENDDEFINE

Конец определения класса.

Смотрите также