КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основные свойства и методы объектов App. Примеры
If TypeOf Screen.ActiveControl Is TextBox Then В случае, если из текста ничего не выделено, мы должны сделать недоступными строки "Вырезать", "Копировать" и "Удалить". Для этого надо ее свойству.Enabled присвоить значение False. Если ничего не выделено, значит длина выделения (свойство.SelLength) равна нулю. Это можно было бы записать приблизительно так:
Однако, для краткости записи мы можем напрямую присвоить свойству.Enabled значение длины выделения.SelLength, исходя из того, что значение ноль всегда соответствует для логических типов False, а любое положительное - True. В итоге то мы получаем более короткую, но по смыслу абсолютно такую же запись. Кроме того, при этом, нам не надо каждый раз в начале процедуры восстанавливать доступность строк, так как длина строки больше нуля сама переведет.Enabled в состояние True. mnuCut.Enabled = Screen.ActiveControl.SelLength аналогично две другие строки Далее мы должны запретить Вставить, если формат данных в буфере не соответствует требуемому. Здесь даже еще проще. Метод.GetFormat возвращает True, если формат соответствет проверяемому и False - если нет. Именно эти значения мы напрямую и присваиваем для свойства.Enabled строки mnuPaste. mnuPaste.Enabled = Clipboard.GetFormat(vbCFText) Абсолютно также мы поступаем с веткой для графических данных ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
В 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).
HInstance - GetHINSTANCE
LegalCopyright - Свойство My.Application.Info.Copyright
LegalTrademarks - Свойство My.Application.Info.Trademark
LogEvent method - Метод WriteEntry (My.Application.Log и My.Log)
LogMode, LogPath - Новая реализация. Дополнительные сведения см. в разделе Запись сведений в журнал из приложения.
Major - Свойство My.Application.Info.Version Примечание. Формат номера версии в Visual Basic 2008 отличается. Дополнительные сведения см. в разделе Нумерация версий для пользователей Visual Basic 6.0.
Minor - Свойство My.Application.Info.Version Примечание. Формат номера версии в Visual Basic 2008 отличается. Дополнительные сведения см. в разделе Нумерация версий для пользователей Visual Basic 6.0.
NonModalAllowed - Новая реализация. Это свойство только для чтения, относящееся к DLL-файлам ActiveX. Среда CLR автоматически управляет таким поведением. OleRequestPendingMsgText OleRequestPendingMsgTitle OleRequestPendingTimeout OleServerBusyMsgText OleServerBusyMsgTitle OleServerBusyRaiseError OleServerBusyTimeout -Эквивалента нет. Эти свойства относятся к OLE-автоматизации, которая не поддерживается в Visual Basic 2008. Path - Свойство My.Application.Info.DirectoryPath
PrevInstance - IsSingleInstance Примечание. Свойство IsSingleInstance является свойством Protected. Оно может быть установлено только на этапе разработки в Конструкторе проектов путем установки или снятия флажка Множественные экземпляры.
ProductName - Свойство My.Application.Info.ProductName
RetainedProject - Новая реализация. Visual Basic 2008 не может сохранять проект в памяти.
Revision - Свойство My.Application.Info.Version Примечание. Формат номера версии в Visual Basic 2008 отличается. Дополнительные сведения см. в разделе Нумерация версий для пользователей Visual Basic 6.0.
StartLogging method - Новая реализация. Дополнительные сведения см. в разделе Запись сведений в журнал из приложения.
StartMode - Эквивалента нет. Данное свойство относится к созданию компонентов ActiveX, не поддерживаемому в Visual Basic 2008.
TaskVisible Новая реализация. Чтобы создать приложение, не отображаемое в Диспетчере задач, необходимо создать проект Служба Windows или Консольное приложение.
ThreadID Новая реализация. Это свойство возвращало идентификатор исполняемого потока. В Visual Basic 2008 потоковая модель имеет значительные отличия.
Title Свойство My.Application.Info.Title
UnattendedApp Новая реализация. Для автоматически запускаемых приложений в Visual Basic 2008 следует создать проект Консольного приложения.
Замечания по обновлению
При обновлении приложения с версии Visual Basic 6.0 обновляются только свойства Major и Minor; свойствам Revision и Build в Visual Basic 2008 присваиваются новые значения. 18.Редактор меню Menu Editor. Оконные приложения.Основные свойства объекта Menu. Примеры. Редактор меню Menu Editor Для проектирования меню всех видов используется редактор меню Menu Editor (Редактор меню) среды проектирования IDE (рис. 7.8). Редактор меню вызывается одним из следующих способов:
Редактор создает меню для активного в данный момент окна, то есть, если активно MDI-OKHO, проектируется меню для него, если активна дочерняя форма, проектируется меню для дочерней формы. На рис. 7.8 показан редактор меню родительского окна, созданного автоматически мастером приложения Application Wizard. Редактор меню состоит из двух групп: элементов управления свойствами и элементов конструирования структуры меню. Управлять основными свойствами меню, о которых было сказано выше, можно с помощью следующих элементов редактора меню:
· Контекстное меню · Для приложения любого типа можно использовать удобное средство быстрого доступа к функциям — контекстное меню. Контекстное меню связано с некоторым действием (обычно это щелчок правой кнопки мыши на объекте) и вызывается в любом месте приложения. В исходном состоянии контекстное меню невидимо и визуализируется рядом с указателем мыши после вызова. Контекстным такое меню называется потому, что оно появляется рядом с выбранным объектом, и его состав зависит от содержания (контекста) этого объекта. После выбора команды из контекстного меню оно исчезает. · Проектируется контекстное меню как один из пунктов верхнего уровня строки меню. Поскольку меню должно быть скрыто и вызываться определенным действием, свойство visible проектируемого пункта меню необходимо установить в значение False. · Для визуализации контекстного меню на экране необходимо использовать метод popUpMenu формы. Например, для вызова меню File (Файл) при нажатии правой кнопки мыши достаточно написать такую условную конструкцию для события MouseUp формы: · If Button = vbRightButton · Then Form1.PopUpMenu mnuFile · End If В этом примере при выполнении в форме события MouseUp (Нажатие на кнопку мыши) проверяется, какая кнопка нажата. В данном случае, при помощи внутренней константы Visual Basic 6 vbRightButton (Правая кнопка) проверяется нажатие на правую кнопку мыши и запускается метод PopUpMenu. В качестве параметра задается имя требуемого контекстного меню. Оконные приложения Существуют три варианта пользовательских интерфейсов оконных приложений: многодокументный (Multiple-Document Interface, MDI), однодокумент-ный (Single-Document Interface, SDI) и интерфейс Windows Explorer. SDI-приложение, например Notepad.exe, имеет только одно окно. Для MDI-приложения, например Microsoft Word, характерно наличие нескольких окон, подчиненных одному родительскому. Такие языки разработки, как Visual Basic 5.0, позволяют быстро и просто создавать SDI- и MDI-приложения. Выбирая тип интерфейса, руководствуйтесь назначением приложения. Если оно предназначено для обработки страховых претензий, лучше выбрать тип MDI, так как пользователю наверняка потребуется работать одновременно с несколькими претензиями (например, чтобы сравнить их). С другой стороны, для календаря вполне достаточно интерфейса SDI: пользователь вряд ли одновременно откроет два одинаковых календаря.
Дата добавления: 2014-12-23; Просмотров: 794; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |