Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Формы как объекты



Наиболее часто формы используются для создания интерфейса приложения, но они также являются объектами, которые можно вызывать из других модулей приложения. Формы тесно связаны с модулями классов. Главное различие между ними заключается в том, что формы могут быть видимыми объектами, тогда как модули не имеют видимого интерфейса.

Добавление разработанных пользователем методов и свойств

Можно добавлять разработанные методы и свойства к формам и обращаться к ним из других модулей в приложении. Чтобы создать новый метод для формы, следует объявить процедуру с ключевым словом public:

' Пользовательский метод на Form1 Public Sub LateJobsCountO. ' <операторы> End Sub

Процедуру LateJobsCount можно вызвать из другого модуля оператором:

Form1.LateJobsCount

Создать новое свойство так же просто, как объявить открытую переменную в модуле формы:

Public IDNumber As Integer

Можно устанавливать и возвращать значение свойства IDNumber формы Form1 из других модулей двумя операторами:

Form1.IDNumber = 3 Textl.Text = Form1.IDNumber

Можно также использовать процедуры property (Свойство) для добавления разработанных свойств к форме.

Примечание

Можно обратиться к переменной, разработанному методу или установить значение разработанного свойства формы без ее загрузки. Это позволяет выполнить код на форме без загрузки ее в память. Точно так же ссылка на элемент управления без ссылки на какое-то из его свойств или методов не загружает форму.

Ключевое слово New

Ключевое слово New применяется для создания нового объекта в соответствии с его определением в своем классе. Его можно применять для создания экземпляров форм, классов, определенных в модулях классов, и наборов.

Использование ключевого слова New с формами

Каждая создаваемая во время разработки форма является классом. С помощью ключевого слова New можно создавать новые экземпляры этого класса. Чтобы увидеть, как это делается, создадим кнопку управления и несколько других элементов управления на форме. В окне Properties присвоим свойству Name формы значение sample. Добавим следующий код в процедуру обработки события click кнопки управления:

Dim x As sampleSet x = New sampleх. Show

Запустим приложение и щелкнем несколько раз кнопкой мыши на кнопке управления. Передвинем первую форму в сторону. Так как форма является классом с видимым интерфейсом, мы увидим дополнительные копии. Каждая форма имеет те же самые элементы управления, что и форма во время разработки.

Примечание

Чтобы сделать форму переменной и сохранять экземпляр загруженной формы, следует использовать переменные Static (Статический) или Public (Открытый) вместо локальных переменных.

Использование ключевого слова New другими объектами

Ключевое слово New используется для создания наборов и объектов классов, определенных в модулях классов. Рассмотрим пример, демонстрирующий создание экземпляров класса с помощью ключевого слова New. Откроем новый проект и создадим кнопку управления на форме Form1. Выполним команду Add Class Module (Добавить модуль класса) меню Project для добавления модуля класса в проект. Установим значение свойства Name модуля класса в showMe.

Следующий код в модуле Form1 создает новый образец класса ShowMe и вызывает процедуру, содержащуюся в модуле класса:

Public cisNew As ShowMe Private Sub Commandl Click()Set cisNew = New ShowMecisNew.ShowFrm End Sub

Процедура ShowFrm в модуле класса создает новый образец класса sample и показывает ее:

Sub ShowFrm()Dim frmNew As sampleSet frmNew = New samplefrmNew.ShowEnd Sub

Запустим приложение и щелкнем кнопкой мыши несколько раз на кнопке управления. Получаем эффект, как в предыдущем примере, но ключевое слово New использовалось для создания класса.

Ограничения на использование ключевого слова New

С ключевым словом New нельзя:

- Объявлять переменные основного типа данных, например: Dim x As New Integer

- Объявлять переменные любого родового объекта, например: Dim x As New Control

- Объявлять переменные типа для любого конкретного элемента управления, например: Dim X As New ListBox

- Объявлять переменные для любого конкретного элемента управления, например: Dim X As New IstNames.

Освобождение ссылок на объекты

Каждый объект использует память и системные ресурсы. Хорошим стилем программирования является освобождение этих ресурсов, когда объект больше не нужен. Этого можно добиться с помощью:

- Оператора unload (Выгрузить) для выгрузки формы или элемента управления из памяти

- Значения Nothing (Ничего) для освобождения ресурсов, используемых переменной для объекта. Следует присвоить значение Nothing переменной для объекта оператором Set.

Передача объектов в процедуры

В VBA можно передавать объекты в процедуры. В следующем примере предполагается, что на форме существует кнопка управления:

Private Sub Commandl_Click()' Вызов процедуры Demo sub и передача ей формы.Demo Form1 End SubPrivate Sub Demo(x As Formi)' Прижать вправо.x.Left = 0End Sub

Также можно передать объект через параметр по ссылке и затем внутри процедуры установить таким образом, чтобы он ссылался на новый объект. Откроем проект и введем в него вторую форму. Поместим на нее графическое окно. Для свойства Name объекта Form2 необходимо установить значение picture2, а для свойства Picture - имя файла иконки *.ico

Процедура Form1_click обработки события вызывает процедуру GetPicture в форме Form2 и передает ей пустую картинку:

Private Sub Form_Click() Form2.GetPicture Picture1End Sub

Процедура GetPicture в форме Form2 присваивает значение свойства Picture (Картинка) графического окна на форме Form2 пустой картинке на форме Form1:

Private objX As PictureBox Public Sub GetPicture(x As PictureBox)' Присваивает переданное графическое окно объектной переменной.Set objX = x' Присваивает значение свойства Picture графическому окну на FormiobjX.Picture = picture2.Picture End Sub

Запустим это приложение и щелкнем кнопкой мыши на форме Form1. Увидим значок формы Form2 в графическом окне на форме Form1.

Объектная модель FileSystemObject

Объектная модель FileSystemObject представляет собой не иерархическую структуру объектов (классов), позволяющих получать информацию о файловой системе компьютера и выполнять различные операции с файлами и каталогами этой системы.

Порядок использования объектной модели FileSystemObject, т.е. ее объектов с их свойствами и методами при программировании приложения следующий:

- Подключить к проекту библиотеку типов SCRRUN.DLL. Эта библиотека входит в комплект поставки последних разновидностей Windows95, а все более новые Windows, как 9x, так и NT содержат ее обязательно. Получить эту бибилотеку можно бесплатно на сайте Microsoft http://msdn.microsoft.com/scripting.

- Создать новый объект типа FileSystemObject стандартными методами (посредством New или CreateObject)

- Использовать его методы и свойства для получения необходимой информации, в том числе ссылок на другие (подчиненные) объекты модели. Соответственно, использовать методы и свойства подчиненных объектов модели.

После завершения работы закрыть все использованные объекты, начиная с нижних в иерархии. Там где это необходимо использовать для закрытия объектов их методы, в прочих случаях использовать

Set objvar=Nothing

Объектная модель включает следующие классы

Класс (тип объекта) Назначение
FileSystemObject Обеспечивает доступ к файловой системе компьютера.
Drives Cодержит объекты Drive, каждый из которых ассоциируется ровно с одним диском в файловой системе компьютера, с учетом сети.
Drive Обеспечивает доступ к информации о заданном диске компьютера002E
Folders Семейство Folders содержит объекты Folder, каждый из которых ассоциируется ровно с одним подкаталогом заданного каталога.
Folder Обеспечивает доступ к информации о заданной папке, содержащимся в ней папках и каталогах, а также методы перемещения папки и создания текстового файла.
Files Семейство Files содержит все объекты File, каждый из которых ассоциируется ровно с одним файлом в заданной папке.
File Обеспечивает доступ к информации о заданном файле, методы перемещения файла и открытия текстового файла в режиме последовательного доступа.
TextStream Обеспечивает проведение операций чтения/записи для текстового файла открытого в режиме последовательного доступа.

объект FileSystemObject обеспечивает доступ к файловой системе компьютера. Будучи объектом верхнего уровня объектной модели FileSystemObject является "точкой входа" в файловую систему компьютера. Только после его создания возможен доступ к другим объектам модели, их методам и свойствам.

Dim objFSO As FileSystemObject

Set objFSO = CreateObject("Scripting.FileSystemObject")

или

Set objFSO = New FileSystemObject

Элемент Тип данных Тип данных
objFSO FileSystemObject Идентификатор (имя) объекта FileSystemObject

Свойства объекта FileSystemObject





Дата публикования: 2014-11-28; Прочитано: 550 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...