Visual Basic 6. Руководство разработчика


Связывание и встраивание объектов во время выполнения программы - часть 4


Если пользователь выполнит щелчок на кнопке ОК, то в открывшемся диало­говом окне Insert Object (Вставка объекта) можно выбрать данные для вставки.

Вставьте командные кнопки, кнопки переключателей и рамки, изображенные на рис. 14.10. Добавьте следующий фрагмент в программу для обработчика нажа­тия кнопки Cancel.

Программа 14.4. Обработчик события Click для кнопки Cancel формы frmType

Option Explicit

Private Sub cmdCancel_Click()

Unload frmType

End Sub

Эта процедура закрывает приложение, выгружая форму frmType.

Установка размера окна элемента управления OLE Container. Если встраивание объектов в OLE Container происходит во время выполнения приложения, то нужно учитывать, что пользователь не может изменить размер окна элемента управления с помощью мыши. Объявим переменные OLEHeight и OLEWidth так, чтобы размеры окна элемента управления приравнивались значениям, введенным во время разра­ботки. Чтобы непосредственно не указывать в программе значения высоты и ширины, можно использовать более гибкий способ — OLEHeight

и OLEWidth. Добавим следующие операторы в раздел объявления формы frmOLE.

Public OLEHeight As Integer

Public OLEWidth As Integer

и в обработчик события Load формы:

OLEHeight = oleDisplay.Height

OLEWidth = oleDisplay.Width

Теперь можно вернуться к форме frmType и добавить фрагмент, который позволяет организовать вызов диалогового окна Insert Object после установки опций пользователем.

Программа 14.5. Вызов диалогового окна Insert Object

Private Sub cmdOK_Click()

With frmOLE oleDisplay

.Height = frmOLE.OLEHeight

.Width = frmOLE.OLEWidth

End With

If opt3tretch0b]ect Value - True Then

frmOLE oleDisplay SizeMode - 1     ' Stretch

Else

frmOLE oleDisplay SizeMode = 2     ' AutoSize

End If

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

FrmType Hide

В завершение, следующие операторы открывают диалоговое окно Insert Object и выполняют вставку объекта.

frmOLE.oleDisplay.InsertObjDlg

If frmOLE.oleDisplay.Class <> "" Then




Начало  Назад  Вперед



Книжный магазин