|
Программирование >> Разработка пользовательского интерфейса
В этом параграфе мы остановимся на методах, которые можно использовать при работе с большинством объектов. Если мы хотим в Visual FoxPro создать какой-либо объект в объекте-контейнере, например в форме, то в этом случае мы должны не создавать его с помощью функции CREATEOBJECT(), а добавлять его в объект-контейнер, используя метод Object.AddObject(cWame, cClass [, cOLEClass] [, alnitl, aInitI ...]) С помощью параметра cName мы задаем имя добавляемого объекта, а параметром cClass указывем класс, на основе которого будет создан объект в объекте-контейнере, указанном в Object. Определение класса, на основе которого создается объект, должно быть доступно, то есть если это не базовый класс, мы должны заранее открыть соответствующую библиотеку классов командой SET CLASSLIB. Если мы добавляем OLE-объект, то класс, на котором он будет основан, можно указать с помощью параметра cOLEClass. С помощью alnitl, aInitl... можно передать параметры в событие Init создаваемого объекта. В Visual Basic неким аналогом этого метода может являться метод Add, который позволяет добавлять объект в коллекцию. Для удаления объекта из его контейнера в Visual FoxPro используется метод RemoveObject, а для удаления объекта из коллекции в Visual Basic - метод Remove. Если объект использует данные, которые могут обновляться во время работы программы, использовать их последний вариант поможет метод Object.Refresh который позволяет немедленно перерисовать форму или указанный объект. Причем, когда перерисовывается форма, автоматически обновляются все содержащиеся в ней элементы управления, когда перерисовывается страничный блок PageFrame, автоматически обновляется только активная страница Page. Control.SetFocus Позволяет активизировать указанный элемент управления. [Object.]ZOrder([nalue]) Позволяет установить графический уровень отображения указанного объекта. Параметр nValue может принимать либо значение 0, либо 2. Если nValue равен 0 (по умолчанию), то объект выводится на переднем плане, если 2 - на заднем. Задний план обычно используется для отображения результатов работы графических методов (рисование линий, вывод изображений и т. д.), а передний - для отображения объектов. Объекты, отображаемые на переднем плане, перекрывают изображение заднего плана. Object.Move(nLeft [, nTop [, nWidth [, nWeight]]]) Позволяет переместить объект в нужную точку, которая задается новыми координатами левой nLeft и верхней nTop границами объекта. При необходимости можно задать для объекта новую ширину nWidth и высоту nHeight. Обязательным является параметр nLeft, остальные должны указываться без пропусков, то есть если вы задаете ширину объекта, то должны использовать в методе все параметры. Если перемещаемый объект входит в объект-контейнер, то новые координаты указываются относительно левого верхнего угла объекта-контейнера, которые равны 0, 0. Например, если вы хотите переместить форму, размеры которой установлены в фокселях, на пятую строку и двадцатую колонку экрана, задайте следующий код: ThisForm.Move(20, 5) Object.Hide Скрывает форму путем присвоения свойству Visible значения .F.. Элементы управления в скрытой форме, естественно, становятся недоступными для пользователя, но доступны для воздействия на них с помощью программы. Object. Show([nStyle]) Выводит на экран форму и, если указан параметр nStyle, определяет способ ее вывода. Если параметр nStyle равен 1 (0 в Visual Basic), то форма является независимой и выполняется код, следующий после строчки, задающей выполнение метода Show. По умолчанию параметр nStyle равен 2 (1 в Visual Basic), и в этом случае программа ждет, когда пользователь завершит работу с формой или когда форма будет выгружена из памяти. До этого момента переход в другую форму или меню невозможен. Если параметр nStyle не указывается, то способ вывода формы определяется значением свойства WindowType. Для OLE-объекта можно использовать метод Object.DoVerb[Verb] Выполняет команду для указанного объекта OLE. Параметр Verb - это одна из команд, поддерживаемая всеми объектами и предназначенная для выполнения в объекте-контейнере. Если параметр не указывается, выполняется команда, принятая по умолчанию для данного объекта. Параметр может также указывать номер в массиве свойства ObjectVerbs. Следующий список содержит возможные номера для стандартных команд: Значение Действие 0 Действие для объекта по умолчанию -1 Активизирует объект для редактирования -2 Открывает объект в отдельном окне приложения -3 Для включенного объекта скрывает приложение, создавшее объект -4 Активизирует объект при условии, что его активизация поддерживается. При этом выводятся средства пользовательского интерфейса для редактирования объекта на месте (on-place editing) -5 Создает окно для объекта и загружает необходимые для редактирования этого объекта средства, когда пользователь щелчком мыши активизирует объект-контейнер -6 Отменяет все выполненные в процессе модернизации изменения (выполняет действие UNDO) для объектов, открытых для редактирования Если вы установите для свойства AutoActivate значение 2, то объект-контейнер OLE автоматически активизирует объект, когда пользователь сделает двойной щелчок мышью на элементе управления. Использование имени команды (EDIT, OPEN, PLAY и т. д.) в параметре Verb всегда обеспечивает значительно большую скорость работы, чем использование номера команды. Упомянем еще несколько специфических для Visual FoxPro методов, которые часто используются при создании приложения. Container.SetAll(cProperty, Value [, cClass]) Позволяет в указанном объекте-контейнере присвоить значение Value для свойства cProperty всем размещенным в нем элементам управления или относящимся к классу cClass (не базовому классу Visual FoxPro!). Для Grid могут быть выполнены следующие специфические методы: Grid.ActivateCell(nRow, nColumn) Активизирует клетку с указанными координатами номера строки nRow и колонки nColumn. Grid.AddColumn(nIndex) Позволяет добавить колонку в Grid. Колонка с номером nIndex сдвигается вправо, и ее номер увеличивается на 1. Grid.DeleteColumn[(nIndex)] Позволяет убрать текущую или указанную посредством номера nIndex колонку из Grid. Для прокрутки данных можно использовать метод
Глава 6 Создание базы данных 6.1. Visual FoxPro Создание и модернизация структуры базы данных Использование словаря данных Создание и модернизация структуры таблиц 6.2. Access 6.3. Visual Basic 6.4. MS SQL Server Планирование процесса наращивания Описывая практическую технологию создания БД, мы коснемся основополагаюших принципов работы с данными, используемых в средствах разработки корпорации Microsoft. Поэтому в данной главе мы разделим излагаемый материал, во избежание путаницы в головах наших читателей, по описываемым в книге средствам разработки. 6.1. Visual FoxPro В Visual FoxPro базы данных имеют собственную структуру организации данных и предоставляют дополнительные возможности разработчикам. В базе данных вы можете использовать расширенное представление данных на уровне таблиц, например, правила на уровне полей и записей, значения полей по умолчанию, триггеры. Здесь же вы можете хранить процедуры и устанавливать постоянные отношения между таблицами. Базы данных можно использовать для обеспечения доступа к внешним источникам данных и для создания представлений локальных и внешних таблиц. В этом параграфе мы рассмотрим: визуальные методы создания БД и ее компонентов; использование основных команд FoxPro для программного создания компонентов БД; организацию связей между таблицами и использование индексов. Создание и модернизация структуры базы данных После того, как вы спроектировали базу данных, ее можно создать в интерактивном режиме, используя диалоговые средства Visual FoxPro или команду CREATE DATABASE. Если вы разрабатываете пользовательское приложение, обязательно создавайте базу данных, используя Project Manager. В Project Manager выберите вкладку Data, затем в списке пункт Databases. Нажмите кнопку New. Откроется Конструктор БД, который показан на рис. 6.1. На этом же рисунке вы найдете необходимые пояснения для работы с ним. Grid. DoScroll(nDirection) Для выполнения нужного действия аргумент nDirection может принимать следующие значения:
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |