FoxPro8

         

Связь ActiveX-компонентов с базой данных


В предыдущем разделе мы рассмотрели размещение в форме ActiveX-компонентов. Но форма предназначена в основном для работы с базой данных. Возникает вопрос, а как же использовать ActiveX-компоненты для работы с таблицами базы данных9 Связь ActiveX-компонентов с базой данных рассмотрим на примере RTF-объекта, который используется для ввода в Memo-поля таблицы форматированного текста. Чтобы создать форму с размещенным в ней RTF-объектом, будем использовать таблицу customer, содержащую Memo-поле mNotes с дополнительной информацией о клиенте. Для этого:

  • Добавьте на панель инструментов Form Controls (Элементы управления формы) кнопку Microsoft Rich TextBox Control (Элемент управления для редактирования текста в формате RTF). Для этого на вкладке Controls (Элементы управления) диалогового окна Options (Параметры) в списке Selected (Выбранные) установите флажок рядом со значением Microsoft Rich TextBox Control (Элемент управления для редактирования
    текста в формате RTF) и нажмите кнопку ОК.
  • Для управления RTF-объектом нам понадобятся элементы управления, которые содержатся в библиотеке классов samples (Образцы), содержащейся в поставке Visual FoxPro. Присоедините данную библиотеку. После этого при нажатии кнопки View Classes (Просмотр классов) появляется меню, содержащее команды для размещения на панели инструментов Form Controls (Элементы управления формы) ActiveX-компонентов и объектов из библиотеки samples (Образцы).
  • Замечание

    Присоединение внешних библиотек мы рассмотрели в начале данной главы.

  • Откройте проект sales (Продажи).
  • Откройте в конструкторе форму, позволяющую вводить информацию В таблицу Customer.
  • Удалите из формы поле, которое использовалось вами ранее для ввода информации в пое таблицы mNotes.
  • Чтобы отобразить на панели инструментов Form Controls (Элементы управления формы) кнопки для размещения в форме ActiveX-компонентов, нажмите кнопку View Classes (Просмотр классов) и в появившемся меню выберите команду ActiveX Controls (Элементы управления ActiveX).

  • Выберите на панели инструментов Form Controls (Элементы управления формы) кнопку Microsoft Rich TextBox Control (Элемент управления для редактирования текста в формате RTF) и разместите в форме поле, предназначенное для ввода примечания.


  • Чтобы можно было управлять созданным полем, необходимо поместить в форму элементы управления RTF-объектом. Для этого на панели инструментов Form Controls (Элементы управления формы) нажмите кнопку View Classes (Просмотр классов) и в появившемся меню кнопки выберите команду Samples (Образцы).




  • Рис. 16.18. Форма с размещенным ActiveX-компонентом и объектом из библиотеки Samples



    Рис. 16.19. Использование в форме ActiveX-компонента для ввода форматированной информации в Memo-поле таблицы

  • Нажмите на панели инструментов Form Controls (Элементы управления формы) кнопку rtfcontrols (Элементы управления RTF) из библиотеки samples (Образцы) и разместите в форме элементы управления. В результате форма примет вид, представленный на рис. 16.18.


  • Чтобы связать размещенное в форме поле с полем таблицы Customer откройте окно Properties (Свойства) и для свойства controisour (Источник данных) задайте поле mNotes.


  • Для элементов управления RTF-объектом задайте методы, устанавливающие значения свойств объекта.


  • Результат размещения в форме RTF-объекта приведен на рис. 16.19.



  • Содержание раздела