Учебные материалы по математике | Основные свойства и методы объектов app | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Основные свойства и методы объектов app


Казалось бы, вот оно счастье, рядом, но фик, дело не закончено. Если ты обратил внимание на фирменные программы, то не всегда все строки меню редактирования доступны юзеру. Например, если нет выделения в тексте, то и нечего копировать или вырезать. Или наоборот, в буфере нет данных? Поэтому в определенные моменты доступ к определенным строкам меню надо перекрыть! Для решения этой проблемы надо написать небольшую, но ответственную процедуру. И используем мы для этого самый верхний, казалось бы совершенно ненужный пункт меню mnuEdit. Именно по клику юзера по этой строчке нам будет очень удобно проверять, что можно делать из наших процедур, а что нельзя.

Private Sub mnuEdit_Click()

Сначала обязательно проверяем, на каком элементе фокус.

If TypeOf Screen. ActiveControl Is TextBox Then

В случае, если из текста ничего не выделено, мы должны сделать недоступными строки "Вырезать", "Копировать" и "Удалить". Для этого надо ее свойству. Enabled присвоить значение False. Если ничего не выделено, значит длина выделения (свойство. SelLength) равна нулю. Это можно было бы записать приблизительно так:

If Screen. ActiveControl. SelLength=0 Then mnuCut. Enabled = False

Однако, для краткости записи мы можем напрямую присвоить свойству. Enabled значение длины выделения. SelLength, исходя из того, что значение ноль всегда соответствует для логических типов False, а любое положительное — True. В итоге то мы получаем более короткую, но по смыслу абсолютно такую же запись. Кроме того, при этом, нам не надо каждый раз в начале процедуры восстанавливать доступность строк, так как длина строки больше нуля сама переведет. Enabled в состояние True.

mnuCut. Enabled = Screen. ActiveControl. SelLength

аналогично две другие строки
mnuCopy. Enabled = Screen. ActiveControl. SelLength
mnuDelate. Enabled = Screen. ActiveControl. SelLength

Далее мы должны запретить Вставить, если формат данных в буфере не соответствует требуемому. Здесь даже еще проще. Метод. GetFormat возвращает True, если формат соответствет проверяемому и False — если нет. Именно эти значения мы напрямую и присваиваем для свойства. Enabled строки mnuPaste.

mnuPaste. Enabled = Clipboard. GetFormat(vbCFText)

Абсолютно также мы поступаем с веткой для графических данных

ElseIf TypeOf Screen. ActiveControl Is PictureBox Then
mnuCut. Enabled = Screen. ActiveControl. Picture
mnuCopy. Enabled = Screen. ActiveControl. Picture
mnuDelate. Enabled = Screen. ActiveControl. Picture
mnuPaste. Enabled = Clipboard. GetFormat(vbCFDIB) End If
End Sub

17. Основные свойства и методы объектов App. Примеры

В Visual Basic 6.0 объект App является глобальным объектом, используемым для задания или извлечения сведений о приложении. Прямой эквивалент для App в Visual Basic 2008 отсутствует. Однако большинство свойств, методов и событий могут быть сопоставлены с эквивалентными членами. NET Framework.

Концептуальные различия

Свойства сведений о версии

Свойства Version Information объекта App в Visual Basic 2008 заменены на атрибуты Assembly. Свойства Version Information задаются в диалоговом окне Свойства проекта. Атрибуты Assembly задаются в диалоговом окне Сведения о сборке, которое можно открыть, нажав кнопку Сведения о приложении на вкладке ПриложениеКонструктора проектов. Примечание.

Свойства Version Information хранятся в файле проекта (с расширением VBP), который может быть отредактирован с помощью текстового редактора, такого как "Блокнот". Атрибуты Assembly хранятся в файле AssemblyInfo. vb и могут редактироваться с помощью Редактора кода.

Свойство описания файла

Объект Visual Basic 6.0 App имеет как свойство FileDescription, так и свойство Title. Свойство FileDescription определяет текст описания в Проводнике Windows.

В Visual Basic 2008 атрибут FileDescription отсутствует. Вместо него используется атрибут Title, определяющий текст описания, отображаемый в Проводнике Windows.

Свойство HelpFile

Свойство HelpFile в Visual Basic 6.0 определяет файл справки на уровне приложения.

В Visual Basic 2008 файлы справки задаются на уровне формы с помощью компонента HelpProvider. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0).

Свойства версии

В Visual Basic 6.0 свойства Major, Minor и Revision использовались для возвращения номера версии приложения, состоящего из трех частей.

В Visual Basic 2008 сведения о версии также включают свойство Build, а номер версии, состоящий из четырех частей, может быть получен полностью с помощью одного свойства Version. Дополнительные сведения см. в разделе Нумерация версий для пользователей Visual Basic 6.0.

Свойство Title

Свойство Title объекта App в Visual Basic 6.0 может изменяться программным способом. Таким образом задается имя, которое будет отображаться в Диспетчере задач Windows.

В Visual Basic 2008 атрибут Title доступен только для чтения. Свойство Text главной формы приложения определяет имя, отображаемое в Диспетчере задач. Свойство Text можно установить программным путем, однако при этом также будет изменяться текст в заголовке окна формы.

Свойство TaskVisible

В Visual Basic 6.0 свойство TaskVisible объекта App определяет, должно ли отображаться приложение в списке задач Windows (Windows 9x) или на вкладке "Приложения" Диспетчера задач (Windows 2000 и более поздние версии). Это свойство обычно применяется для того, чтобы пользователь не закрыл приложение, предназначенное для запуска в качестве фоновой задачи. В большинстве случаев свойство TaskVisible используется в приложениях без пользовательского интерфейса.

В Visual Basic 2008 нет свойства, эквивалентного свойству TaskVisible, однако можно создать службу Windows или консольное приложение, не отображаемое в списке задач.

Свойство PrevInstance

Свойство PrevInstance в Visual Basic 6.0 используется для определения того, запущен ли экземпляр приложения. Обычно обращение к свойству PrevInstance происходит при запуске приложения, который прерывается, если свойство возвращает значение true.

Прямой эквивалент свойства PrevInstance в Visual Basic 2008 отсутствует. Разрешение или запрет на запуск нескольких экземпляров приложения определяется свойством Множественные экземпляры на вкладке ПриложениеКонструктора проектов. Во время выполнения событие NextInstanceStarted возникает при попытке пользователем запустить еще один экземпляр приложения. В обработчик этого события можно добавить код для активации первого экземпляра приложения.

Дополнительные различия

В Visual Basic 6.0 имеется ряд свойств объекта App, относящихся к компонентам ActiveX, OLE-автоматизации и другим технологиям, являющимся на данный момент устаревшими и не поддерживаемыми в Visual Basic 2008. Они указаны в таблице "Эквиваленты свойств объекта App", приведенной далее в этом разделе.

Изменения кода для объекта App

Следующие примеры кода иллюстрируют различия приемов кодирования между Visual Basic 6.0 и Visual Basic 2008 для некоторых стандартных случаев использования объекта App.

Изменения кода для отображения номера версии приложения

В следующем примере демонстрируется извлечение номера версии приложения и его отображение в метке:

‘ Visual Basic 6.0

Label1.Caption = "Version: " & App. Major & "." & App. Minor & "." _

& App. Revision

Язык Visual Basic

‘ Visual Basic

Label1.Text = My. Application. Info. Version. ToString()

Изменения кода для определения пути к приложению

В следующем примере кода демонстрируется способ отображения файла изображения, хранящегося в папке приложения, путем извлечения пути к исполняемому файлу приложения:

‘ Visual Basic 6.0

Picture1.Picture = LoadPicture(App. Path & "Logo. jpg")

Язык Visual Basic

‘ Visual Basic

PictureBox1.Image = System. Drawing. Bitmap. FromFile( _

My. Application. Info. DirectoryPath & "Logo. jpg")

Изменения кода для предотвращения запуска второго экземпляра приложения

В следующем примере демонстрируется реализация приложения, допускающего только один экземпляр:

‘ Visual Basic 6.0

Private Sub Form_Load()

If App. PrevInstance = True Then

MsgBox("The application is already running!")

End If

End Sub

Язык Visual Basic

‘ Visual Basic

‘ Assumes that the Make Single Instance Application checkbox in the

‘ Project Designer has been checked.

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _

ByVal e As Microsoft. VisualBasic. ApplicationServices. _

StartupNextInstanceEventArgs) Handles Me. StartupNextInstance

MsgBox("The application is already running!")

End Sub

В следующей таблице приведен список всех свойств и методов объекта App Visual Basic 6.0, а также их эквивалентов для Visual Basic 2008:

Visual Basic 6.0

Эквивалент Visual Basic 2008

Comments — Свойство My. Application. Info. Description

CompanyName — Свойство My. Application. Info. CompanyName

EXEName — Свойство My. Application. Info. AssemblyName

FileDescription — Свойство My. Application. Info. Title

HelpFile — Новая реализация. Используйте компонент HelpProvider. Дополнительные сведения см. в разделе Поддержка справки (для пользователей Visual Basic 6.0).

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020