.RU

2.8. Встроенные диалоговые окна - Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006


^ 2.8. Встроенные диалоговые окна
В Visual Basic используются встроенные диалоговые окна: окно ввода - InputBox имеет поле для ввода информации, а окно сообщений - MsgBox выводит сообщения для пользователя.
^ 2.8.1. Окно ввода - функция InputBox
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение и поле ввода.




Рис. 2.30. Окно ввода - функция InputBox


Функция InputBox при нажатии кнопки ОК возвращает строку введенную пользователем в поле ввода, при нажатии кнопки Cancel возвращает пустую строку.

Упрощенный синтаксис функции:


InputBox(Prompt [, Title] [, Default])


где

Prompt – приглашение, отображаемое в диалоговом окне. Может содержать несколько строк. Для разделения строк используются символы chr(13) и chr(10)

^ Title - заголовок, отображаемый в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения;

Default – строка по умолчанию, возвращаемая функцией, если пользователь не введет другую строку.

Prompt, Title, Default –параметры типа String.

^ 2.8.2. Окно сообщений - функция MsgBox
Функция MsgBox выводит на экран диалоговое окно, содержащее сообщение. При закрытии окна функция возвращает значение типа Integer, указывающее, какая кнопка была нажата, например, vbOK, vbCancel, vbAbort, vbYes, vbNo.





Рис. 2.31. Окно сообщений - функция MsgBox


Упрощенный синтаксис функции:


MsgBox(Prompt [, Buttons] [, Title])

где

Prompt – приглашение, отображаемое в диалоговом окне.

Buttons - числовое выражение, представляющее сумму констант-атрибутов, которые указывают тип отображаемых кнопок, тип используемого значка, основную кнопку, модальность окна и др. Значение по умолчанию параметра Buttons равно нулю.

Title - заголовок, отображаемый в строке заголовка окна.

Prompt, Title – параметры типа String, Buttons – константа.

^ 2.8.2.1. Константы параметра Buttons
Параметр Buttons задается в виде суммы констант:

Константа1+ Константа2 +Константа3+ДопКонстанты

Константа3 указывает какая кнопка будет иметь фокус:

VbDefaultButtonl = 0 - первая, 256 - вторая, 512 - третья, 768 – четвертая.


Таблица 2.36


Константа1

Значение

Константа2

Значение

VbOKOnly

0

VbCritical

16

VbOKCancel

1

VbQuestion

32

VbAbortRetrylgnore

2

VbExclamation

48

VbYesNoCancel

3

VbInformation

64

VbYesNo

4







VbRetryCancel

5








Отметим следующие значения констант ДопКонстанты:


VbSystemModal - делает окно модальным для операционной системы,

VbMsgBoxSetForeground - делает окно фоновым.


Пример использования функции MsgBox для подтверждения закрытия формы.


Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer)

If MsgBox("Закончить?",vbQuestion+vbYesNo, Me.Caption)=vbNo _
Then Cancel=True

End Sub
^ 2.8.3. Применение функций InputBox и MsgBox в проекте
Приведем пример использования окон диалога.

Будем изменять цвет формы, задавая константы цветов в окне ввода InputBox. Удобно задавать цвет, используя функцию RGB.

Функция RGB позволяет получить любой цвет, смешивая красную, зеленую и синюю компоненты различной интенсивности.


Синтаксис: RGB(Red, Green, Blue)


где Red, Green, Blue – целые числа от 0 до 255:


Расположим на форме элемент управления согласно рис. 2.32.





Рис. 2.32. Изменение цвета формы


Пример программного кода для изменения цвета формы.

Private Sub Command1_Click()

Dim btRed As Byte, btGreen As Byte, btBlue As Byte


' код для красного

^ On Error Resume Next

btRed=CByte(InputBox("Введите интенсивность красного – число от 0 до 255", _

"Ввод цвета формы", "255"))

If Err.Number 0 Then

MsgBox "Принято 255", vbCritical Or vbOKOnly, "Ошибка ввода красного"

btRed = 255

End If

Err.Clear


' аналогичный код для зеленого

' аналогичный код для синего


Caption = "красного:" & btRed & " зеленого:" & btGreen & " синего:" & btBlue

BackColor = RGB(btRed, btGreen, btBlue)

End Sub
^ 2.9. Создание графического интерфейса приложения
При создании графического интерфейса приложения возможно использование следующих компонентов: StatusBar, Toolbar и ImageList.
^ 2.9.1. Основное меню
Меню создается и редактируется при помощи Menu Editor (Редактор меню). Для создания меню надо сделать форму активной и выбрать команду меню Tools, Menu Editor или нажать кнопку Menu Editor на панели инструментов. В результате на экране отобразится диалоговое окно Menu Editor (рис. 2.33).





Рис. 2.33. Редактор меню


По своей структуре меню состоит из заголовков меню верхнего и нижних уровней (до пяти уровней) и команд меню:

Элементы меню имеют набор свойств, например:

Пункт меню, свойство caption которого равно дефису (-), отображается как разделитель. Разделитель служит для визуальной группировки пунктов меню.

В имени пунктов меню допустимо использовать амперсанд (&) перед буквой, которая будет Alt - буквой для доступа к этому пункту меню с клавиатуры.

^ 2.9.2. Контекстное меню
Контекстное меню содержит команды, доступные для объекта в момент нажатия правой кнопки мыши. Создается контекстное меню в редакторе меню, в виде заголовка верхнего уровня, например mnuСontext и команд меню. Чтобы команды контекстного меню не появлялись - в основном меню установите его свойство Visible=False. Для отображения контекстного меню в событии object_MouseUp используется метод popupMenu. Синтаксис:


object.PopupMenu mnuСontext, flags, x, у, boldcommand


Таблица 2.37

Параметр

Описание

object

Если параметр опущен, то подразумевается текущая форма

mnuСontext

Имя меню, отображаемое как контекстное

Flags

Определяет местоположение и поведение контекстного меню. Значение параметра Flags = 0 - контекстное меню отображается при щелчке левой кнопкой мыши, координата х определяет левый край контекстного меню. Подробнее см. справку по Visual Basic

x, у

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

boldcommand

Имя команды контекстного меню, выделенное полужирным шрифтом
^ 2.9.3. Список изображений
Для размещения изображений на кнопках панели инструментов предназначен компонент ImageList (Список изображений). Чтобы добавить компонент на панель инструментов General выполните команду меню Project, Components, вкладка Controls и выберите Microsoft Windows Common Controls 6.0.

Компонент ImageList может хранить как растровые изображения, так и значки. Ссылка на конкретное хранящееся изображение осуществляется либо при помощи индекса, либо при помощи свойства Key.

Наполнение объекта ImageList рисунками можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке Images (рис. 2.34), нажимайте InsertPicture и выбирайте файлы рисунков.





Рис. 2.34. Свойства компонента ImageList
^ 2.9.4. Панель инструментов
Панели инструментов содержат кнопки для выполнения команд, и как правило, дублируют наиболее часто используемые команды меню. Панель инструментов создается при помощи двух элементов управления: Toolbar и ImageList.

Объект ^ Toolbar (Панель инструментов) обычно размещается в верхней части формы – свойство Align =VbAlignTop и наполняется кнопками (коллекция Buttons), свойство Style, которых может иметь значение:


Кроме того кнопки имеют свойства:

Наполнение объекта Toolbar кнопками можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке General (рис. 2.35), выберите имя объекта-источника ImageList.

На вкладке Buttons нажмите InsertButton для добавления новой кнопки и введите значение в поле Image в соответствие с номером изображения в объекте ImageList





Рис. 2.35. Свойства компонента Toolbar

^ 2.9.5. Строка состояния
StatusBar (Строка состояния) представляет собой строку, как правило, располагаемую в нижней части формы, в которую выводится текущее состояние приложения. Строка состояния может быть разделена на несколько частей (панелей), каждая из которых может содержать текст или рисунок.


Таблица 2.38

Свойство

^ Возвращает или устанавливает

Panels

семейство панелей

Style

стиль: sbrNormal или 0 – отображаются все панели;

sbrSimple или 1 – отображается только наибольшая панель

SimpleText

текст, отображаемый в панели, если свойство Style = sbrSimple


Семейство ^ Panels имеет свойства item, count и методы Add и Remove, общие для всех семейств, а также специфичные.

Таблица 2.39

Свойство

^ Возвращает или устанавливает

style

стиль отображаемой в панели информации. Допустимые значения:

sbrText или 0 – отображает текст или растровое изображение;

sbrCaps или 1 – отображает режим Caps Lock надписью CAPS;

sbrNum или 2 – отображает режим Num Lock надписью NUM;

sbrIns или 3 – отображает режим lnsert надписью INS;

sbrScrl или 4 – отображает режим Scroll Lock надписью SCRL;

sbrTime или 5 – отображает текущее время;

sbrDate или 6 – отображает текущую дату

Bevel

вид панели: sbrNoBevel или 0 – стандартная панель; sbrlnset или 1 – вдавленная панель; sbrRaised или 2 – выпуклая панель

Alignment

выравнивание текста: sbrLeft или 0 – по левому краю; sbrCenter или 1 – по центру; sbrRight или 2 – по правому краю

AutoSize

ширину панели после изменения размеров формы. Допустимые значения:

sbrNoAutoSize или 0 – ширина панелей не изменяется;

sbrSpring или 1 – ширина панелей изменяется пропорционально исходным;

sbrContents или 2 – ширина панелей изменяется так, чтобы помещалась надпись

width

ширину панели


Наполнение объекта StatusBar можно делать на этапе конструирования, выбрав его свойство Custom. В появившемся диалоговом окне Property Pages на вкладке General (рис. 2.36), выберите стиль строки состояния sbrNormal или sbrSimple.

На вкладке Panels нажмите InsertPanel для добавления новой панели, выберите значение в поле Style и в др. полях.





Рис. 2.36. Свойства компонента StatusBar
^ 2.9.6. Обработка событий панели инструментов
Чтобы получить заготовку для набора кода, выполните двойной щелчок на панели инструментов. Если кнопки панели инструментов дублируют команды меню, то необходимо связать соответствующие события, например:


^ Private Sub ToolBar1_ButtonClick(ByVal Button As _
MSComctlLib.Button)

On Error Resume Next

Select Case Button.Key

Case "New": mnuFNew_Click

Case "Open": mnuFOpen_Click

Case "Save": mnuFSave_Click

End Select

End Sub
^ 2.9.7. Обработка событий меню
Все пункты и команды меню имеют одно событие – Click. Чтобы получить заготовку для набора кода – щелкните по команде меню. Некоторые пункты меню могут иметь свойство Checked (рис. 2.37), в этом случае, в событии Click необходимо программно изменять значение свойства на противоположное, например:


^ Private Sub mnuVSBar_Click()

mnuVSBar.Checked = Not mnuVSBar.Checked

End Sub


Private Sub mnuVTbar_Click()

mnuVTbar.Checked = Not mnuVTbar.Checked

End Sub




^ Рис. 2.37. Команды меню с флажками


2-organizaciya-ekspluatacii-obyazannosti-teplosnabzhayushih-organizacij-tipovaya-instrukciya-po-tehnicheskoj-ekspluatacii.html
2-organizaciya-i-tehnologiya-vipolneniya-rabot-tipovaya-tehnologicheskaya-karta-na-betonnie-raboti-betonirovanie-monolitnih.html
2-organizaciya-obrazovatelnogo-processa-stranica-2.html
2-organizaciya-samostoyatelnoj-raboti-studentami-ochnoj-formi-obucheniya.html
2-organizaciya-tehnicheskogo-obsluzhivaniya-pravila-i-normi-tehnicheskoj-ekspluatacii-zhilishnogo-fonda.html
2-orientirovka-dzhejms-rollins-amazoniya.html
  • notebook.bystrickaya.ru/ii-edinij-spisok-produkcii-podlezhashej-obyazatelnoj-sertifikacii-pri-pomeshenii-pod-tamozhennie-stranica-14.html
  • kontrolnaya.bystrickaya.ru/razdel-i3-informacionnaya-karta-konkursa-otkritij-konkurs-po-viboru-podryadnoj-organizacii-na-vipolnenie-rabot.html
  • zadachi.bystrickaya.ru/o-voprosah-zvukovisotnogo-intonirovaniya-chast-3.html
  • uchebnik.bystrickaya.ru/ukroshenie-gneva-priemi-samoregulyacii.html
  • shpora.bystrickaya.ru/zadachi-sformirovat-neobhodimie-znaniya-i-umeniya-po-ocenke-biznes-idej-sformirovat-naviki-razrabotki-biznes-plana-dlya-proektov-start-up.html
  • occupation.bystrickaya.ru/nazvanie-professionalnogo-modulya.html
  • upbringing.bystrickaya.ru/literatura-po-kategoriyam-stranica-34.html
  • esse.bystrickaya.ru/prokurori-vernulis-na-volgu-pervij-kanal-novosti-09-06-2005-15-00-00-14.html
  • desk.bystrickaya.ru/osnovnie-ponyatiya-teorii-avtomatov.html
  • occupation.bystrickaya.ru/ocenka-effektivnosti-reklamnoj-kampanii.html
  • abstract.bystrickaya.ru/4-dlya-sinteza-otstayushej-cepi-dnk-neobhodimi-3-uchebno-metodicheskij-kompleks-disciplina-molekulyarnaya-biologiya.html
  • write.bystrickaya.ru/gimnaziya-1.html
  • composition.bystrickaya.ru/oskal-fiska-nasha-versiya-mihail-yakovlev-01092008-033-str-14-gazeta-nadezhda-petrova-01-09-2008-164-str-17-5.html
  • essay.bystrickaya.ru/chernaya-ritorika-i-ee-ispolzovanie-redaktor-p-suvorova-bredemajer-k-b87-chernaya-ritorika-vlast-i-magiya-slova.html
  • school.bystrickaya.ru/analiticheskie-proceduri-v-audite-chast-3.html
  • urok.bystrickaya.ru/programma-kursa-na-temu-povishenie-kvalifikacii-prepodavatelskogo-sostava-vuzov-i-ssuzov-po-standartizacii-i-metrologii.html
  • znaniya.bystrickaya.ru/raschet-transformatorov-maloj-moshnosti.html
  • report.bystrickaya.ru/gosudarstvennaya-programma-razvitie-selskogo-hozyajstva-i-regulirovanie-rinkov-selskohozyajstvennoj-produkcii-sirya-i-prodovolstviya-na-2013-2020godi-osnovnie-polozheniya-stranica-11.html
  • uchit.bystrickaya.ru/srednee-polnoe-obshee-obrazovanie-regionalnij-bazisnij-uchebnij-plan-obsheobrazovatelnih-uchrezhdenij-tverskoj.html
  • occupation.bystrickaya.ru/novij-karavan-kaliningrad-n016-2042010-monitoring-regionalnih-smi-po-teme-obrazovanie.html
  • college.bystrickaya.ru/23-oblasti-primeneniya-setej-isdn-kratkij-ekskurs-v-istoriyu-7-3-oblasti-primeneniya-setej-isdn-8.html
  • writing.bystrickaya.ru/istoriya-i-teorii-izbiratelnogo-prava.html
  • learn.bystrickaya.ru/glava-5-streli-mechti-otkroj-v-sebe-talant.html
  • znanie.bystrickaya.ru/analiz-rentabelnosti-organizacij-chast-2.html
  • exchangerate.bystrickaya.ru/2-transport-i-svyaz-i-obshaya-harakteristika-gorodskogo-okruga-gorod-manturovo.html
  • institut.bystrickaya.ru/tema-priznanie-lichnosti-podrostka-kak-sredstvo-stimulirovaniya-uspeshnosti-v-tvorchestve-i-v-zhizni.html
  • education.bystrickaya.ru/3-formirovanie-missii-celej-i-zadach-shkoli-obrazovatelnaya-programma-municipalnogo-obsheobrazovatelnogo-uchrezhdeniya.html
  • thescience.bystrickaya.ru/kalendarno-tematicheskoe-planirovanie-po-geometrii-2.html
  • ekzamen.bystrickaya.ru/rekomendacii-dlya-vospitatelej-vliyanie-fizicheskogo-vospitaniya-na-psihicheskoe-razvitie.html
  • uchebnik.bystrickaya.ru/uchebno-metodzhicheskij-kompleks-k-discipline-osnovi-psihologicheskogo-konsultirovaniya.html
  • exchangerate.bystrickaya.ru/geroi-i-problematika-tragedii-a-s-pushkina-mocart-i-saleri.html
  • obrazovanie.bystrickaya.ru/prilozhenie-metodicheskoe-obespechenie-korrekcionnogo-obrazovaniya.html
  • paragraf.bystrickaya.ru/vzaimodejstvie-prava-i-religii.html
  • exchangerate.bystrickaya.ru/baza-dannih-dekanat-distancionnoe-obuchenie.html
  • exchangerate.bystrickaya.ru/estestvennij-otbor.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.