к оглавлению   к 4GL - визуальному программированию

Язык визуального программирования приложений Visual Basic for Application

Элементы управления и пользовательская форма

Элементы управления

VBA обладает встроенным набором элементов управления. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. В данной главе дан обзор встроенных элементов управления VBA. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи панели инструментов Элементы управления (Control Toolbox) (рис. 7.1). На этой панели представлены кнопки, позволяющие конструировать элементы управления, а также кнопки вызова окна свойств, перехода в режим конструктора и редактор кода.

Рис. 7.1. Панель инструментов Элементы управления

Создание элементов управления на рабочем листе или в форме как правило происходит на начальном этапе конструирования приложения. Иногда используется программное их создание в процессе работы приложения. Но этот подход применяется реже.

Большинство элементов управления можно располагать как на рабочем листе, так и в форме. Но существуют такие элементы управления, как RefEdit, Набор страниц и Набор вкладок, которые можно располагать только в форме. В табл. 7.1 приведен список основных элементов управления и соответствующих кнопок панели инструментов Элементы управления (Control Toolbox).

Таблица 7.1. Панель инструментов Элементы управления

Элемент управления

Имя

Кнопка для создания элемента

Поле Надпись

TextBox Label

Кнопка

CommandButton

Список

ListBox

Поле со списком

ComboBox

Полоса прокрутки

ScrollBar

Счетчик

SpinButton

Переключатель

OptionButton

Флажок

CheckBox

Выключатель

ToggleButton

Рамка

Frame

Рисунок

Image

RefEdit

RefEdit

Набор страниц

MultiPage

Набор вкладок

TabStrip

Для размещения элемента управления на листе или в форме нажмите соответствующую кнопку панели инструментов Элементы управления (Control Toolbox) и с помощью мыши перетащите рамку элемента управления в нужное место. После этого элемент управления можно перемещать, изменять его размеры, копировать в буфер обмена и вставлять из буфера обмена.

Режим конструктора

Для удобства работы с элементами управления в период их конструирования в Excel введен режим конструктора, который активизируется нажатием кнопки

Режим конструктора (Design Mode) панели инструментов Элементы управления (Control Toolbox). В режиме конструктора отключена реакция элемента управления на события. Поэтому при включенном режиме конструктора можно видоизменять элемент управления и задавать его свойства. На рис. 7.2 показано создание элемента управления CommandButton (кнопка) на рабочем листе. После того как пользователь решит, что созданный элемент управления имеет тот вид, который ему нужен, и все требуемые свойства элемента управления установлены, он должен отключить режим конструктора повторным нажатием кнопки Режим конструктора (Design Mode).

Рис. 7.2. Создание элемента управления CommandButton на рабочем листе в режиме конструктора

Установка свойств элемента управления

Для установки свойств элемента управления вручную при его конструировании необходимо выделить элемент управления и нажать кнопку Свойства (Properties) панели инструментов Элементы управления (Control

ТоoolBох). На экране отобразится диалоговое окно Свойства (Properties) (рис. 7.3). Оно аналогично окну Свойства (Properties) редактора Visual Basic. Вручную при помощи этого окна обычно устанавливается свойство Caption, возвращающее отображаемый текст элемента управления. На рис. 7.3 значение свойства Caption элемента управление CommandButton изменено с установленного ПО умолчанию (CommandButtonl) на текст Нажми меня. Кроме

того, внесены изменения в параметры свойства Font, устанавливающее шрифт выводимого на поверхности кнопки текста, а именно, увеличен размер шрифта с 8 до 12, шрифт MS sans serif заменен на courier New и изменено начертание букв с обычного на полужирное. Также свойство shadow установлено равным True, вместо False, как это имеет место по умолчанию. Свойство shadow устанавливает, отображается ли элемент управления с тенью или без нее.

Рис. 7.3. Диалоговое окно Свойства и элемент управления CommandButton с измененными свойствами Caption, Font и Shadow

Редактор кода

После установки свойств элемента управления или формы переходят к написанию кода, связанного с ними. Особое место в этом коде занимают процедуры обработки событий. У каждого элемента управления есть целый набор событий, обрабатывающих те или иные действия. Приведем некоторые из них:

Click

Щелчок

DblClick

Двойной щелчок

GotFocus

Кнопка в фокусе

LostFocus

С кнопки снят фокус

Код обработки события записывается на листе модуля. Для активизации модуля в том месте, где надо ввести код по обработке события, связанного с выделенным элементом управления, или отредактировать уже написанный код достаточно нажать кнопку Исходный текст (View Code) панели инструментов Элементы управления (Control Toolbox).

Нажатие на кнопку Исходный текст (View Code) активизирует модуль с именем лист1, т. е. модуль, относящийся к рабочему листу, на котором создана кнопка (рис. 7.4). Вся рабочая книга, а также каждый рабочий лист, диаграмма или форма имеют связанные с ними модули кода. Кроме того, можно создать модули кода для макросов и модули класса.

Рис. 7.4. Модуль кода и окно Проект

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

В правой верхней части модуля кода находится раскрывающийся список с именами событий, связанных с данным объектом.

Составим процедуру обработки события click так, чтобы нажатие на кнопку отображало на экране диалоговое окно, уведомляющее пользователя о случившемся действии (нажатии кнопки) (рис. 7.5).

Private Sub CoimiandButtonl_Click ()

MsgBox "Ты нажал на меня"

End Sub

Рис. 7.5. Диалоговое окно, отображаемое на экране при нажатии кнопки Нажми меня

Пользовательская форма UserForm

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

Семейство userForms является семейством, компоненты которого представляют все загруженные формы UserForm в приложении. Как и все семейства, UserForms имеет свойства count (возвращает число компонентов в семействе) и item (возвращает определенный компонент семейства), а также метод Add (добавляет к семейству новый компонент).

Приведем основные свойства, методы и события пользовательской формы. Наиболее часто используемые свойства объекта UserForm.

Name

Возвращает имя пользовательской формы

Caption

Возвращает текст, отображаемый в строке заголовка формы

BackColor

Возвращает цвет фона формы

BorderStyle

Устанавливает тип границы

Picture

Указывает рисунок, отображаемый как фон формы

Left И Top

Возвращают местоположение верхнего левого угла формы в пунктах

Height И Width

Возвращают высоту и ширину формы в пунктах

StartUpPosition

Возвращает значение, определяющее положение формы при ее первом отображении на экране.

Допустимые значения:

  • Manual (начальное значение не устанавливается),
  • CenterOwner (выравнивание по центру объекта, к которому принадлежит форма)
  • CenterScreen (выравнивание по центру экрана)
  • windows Default (положение верхнего левого угла экрана)

Наиболее часто используемые методы объекта UserForm.

Show

Отображает форму на экране

Hide

Закрывает форму

Move

Изменяет положение и размер формы

PrintForm

Печатает изображение формы

 

Семейство Controls

Доступ к семейству всех элементов управления, расположенных в пользовательской форме UserForm, осуществляется с помощью семейства controls. Например, чтобы скрыть все элементы управления формы UserForm, можно использовать код, в котором свойству visible элемента управления, определяющему, отображается ли этот элемент на экране или нет, устанавливается значение False:

For Each Элемент in UserForml.Controls

Элемент.Visible = False Next Control

Создание пользовательской формы

Обсудим процесс создания пользовательской формы на примере конструирования простейшего диалогового окна.

Шаг 1

Выберите команду Сервис, Макрос, Редактор Visual Basic (Tools, Macro, Visual Basic) для того, чтобы перейти в редактор Visual Basic.

Шаг 2

Выберите команду Вставить User Form (Insert UserForm). В редакторе Visual Basic появятся:

  • Окно с пользовательской формой
  • Панель инструментов Панель элементов (Toolbox) (рис. 7.6).

Рис. 7.6. Окно редактора Visual Basic с пользовательской формой и панелью элементов

ШагЗ

Используя диалоговое окно Свойства (Properties), отображаемое нажатием кнопки и Панель элементов (Toolbox), создайте из пользовательской формы диалоговое окно, показанное на рис. 7.7. Это окно состоит из трех кнопок и одного поля. Свойство Caption пользовательской формы определите равным Песнь о воробушке и бабочке, а кнопок — равными Первый акт, Второй акт и Третий акт.

Шаг 4

Для того чтобы написать процедуру обработки события нажатия кнопки Первый акт, дважды щелкните ее. Активизируется модуль

UserForml, в который введите Процедуру:

Private Sub CommandButtonl Click ()

TextBoxl .Text = "Воробышек за бабочкой прыг -прыг -прыг"

End Sub

для Обработки событий Нажатий кнопок

Второй акт и Третий акт в модуле UserForml введите следующие две процедуры:

Private Sub CommandButton2 Click () TextBoxl .Text = "Воробышек за бабочкой скок-скок-скок"

End Sub

Private Sub CommandButton3 Click () TextBoxl . Text = "Воробышек бабочку ням-ням-ням"

End Sub


Шаг 5 Процесс создания диалогового окна и процедур, связанных с ним, завершен. Для того чтобы проверить, как работает созданная программа, нажмите кнопку Запуск подпрограммы/UserForm (Run). На экране на фоне рабочего листа отобразится диалоговое окно песнь о воробушке и бабочке. Для проверки функционирования кнопок нажмите, например, кнопку первый акт. В поле выведется сообщение Воробышек за бабочкой прыг-прыг-прыг (рис. 7.8). Для закрытия диалогового окна песнь о воробушке и бабочке нажмите системную кнопку, расположенную в верхней правой части строки заголовка диалогового окна.

 

Рис. 7.7. Редактор Visual Basic с преобразованной пользовательской формой для создаваемого приложения

Рис. 7.8. Диалоговое окно Песнь о воробушке и бабочке

Общие свойства элементов управления

Приведем основные общие свойства элементов управления.

Name

Имя элемента управления

Caption

Надпись, отображаемая при элементе управления

AutoSize

Допустимые значения: True (устанавливает режим автоматического изменения размеров элемента управления так, чтобы на нем полностью помещался текст, присвоенный свойству Caption) и False (в противном случае)

Visible

Допустимые значения: True (элемент управления отображается во время выполнения программы) и False (в противном случае)

Enabled

Допустимые значения: True (пользователь вручную может управлять элементом управления) и False (в противном случае)

Height И Width

Устанавливают геометрические размеры объекта (высоту и ширину)

Left И Top

Устанавливают координаты верхнего левого угла элемента управления, определяющие его местоположение в форме

ControlTipText

Устанавливает текст в окне всплывающей подсказки, связанной с элементом управления. В следующем примере элементу управления CommandButtonl назначен текст всплывающей подсказки Это кнопка :

CommandButtonl . ControlTipText = "Это кнопка"

BackColor, ForeColor и BorderColor

Устанавливают цвет заднего и переднего плана элемента управления, также его границы

BackStyle

Устанавливает тип заднего фона

BorderStyle

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

  • fmBorderStyieSingle (граница в виде контура)
  • fmBorderStyieNone (граница невидима)

SpecialEf feet

Устанавливает тип границы. Отличается от свойства BorderStyle тем, что позволяет установить несколько типов, но одного цвета. BorderStyle позволяет установить только один тип, но различных цветов

Picture (создание картинки)

Внедряет картинку на элемент управления. Например, на поверхности кнопки картинка отображается с помощью следующей инструкции:

CommandButtonl . Picture = LoadPicture ( "с : \my doc\Kpyr . bmp" )

Функция LoadPicture (ПолноеИмяФайла) считывает графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла

Picture (удаление картинки)

После того как картинка создана на элементе управления, иногда возникает необходимость ее удалить. Это легко достигается присвоением свойству Picture значения LoadPicture ("")

Tag

Используется для хранения дополнительной информации о форме или элементе управления, которая может быть в последующем востребована в программе. В следующем примере в пользовательской форме расположены три кнопки и одно поле. Свойство Tag каждого из этих элементов управления, за исключением второй
кнопки , установлено равным Показать. свойство Tag второй кнопки установлено равным спрятать. В цикле проверяется свойство Tag всех элементов управления и при инициализации диалогового окна отображаются только те элементы управления, у которых это свойство равно Показать . Private Sub UserForm Initialize)) Dim Элемент As Object CommandButtonl .Tag = "Показать"

ControlTipText

Устанавливает текст в окне всплывающей подсказки, связанной с элементом управления. В следующем примере элементу управления CommandButton1 назначен текст всплывающей подсказки это кнопка :

CommandButton1 .ControlTipText = "Это кнопка"

BackColor, ForeColor и BorderColor

Устанавливают цвет заднего и переднего плана элемента управления, также его границы

BackStyle

Устанавливает тип заднего фона

BorderStyle

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

  • fmBorderStyleSingle (граница в виде контура)
  • fmBorderstyieNone (граница невидима)

SpecialEf feet

Устанавливает тип границы. Отличается, от свойства BorderStyle тем, что позволяет установить несколько типов, но одного цвета. BorderStyle позволяет установить только один тип, но различных цветов

Picture

(создание картинки)

Внедряет картинку на элемент управления. Например, на поверхности кнопки картинка отображается с помощью следующей инструкции:

CommandButtoni . Picture = LoadPicture ( "с : \my doc\Kpyr . bmp" ) Функция LoadPicture (ПолноеИмяФайла) считывает графическое изображение. Аргумент ПолноеИмяФайла указывает полное имя графического файла

Picture

(удаление картинки)

После того как картинка создана на элементе управления, иногда возникает необходимость ее удалить. Это легко достигается присвоением свойству picture значения LoadPicture ("")

Tag

Используется для хранения дополнительной информации о форме или элементе управления, которая может быть в последующем востребована в программе. В следующем примере в пользовательской форме расположены три кнопки и одно поле. Свойство Tag каждого из этих элементов управления, за исключением второй кнопки, установлено равным Показать. Свойство Tag второй кнопки установлено равным спрятать. В цикле проверяется свойство Tag всех элементов управления и при инициализации диалогового окна отображаются только те элементы управления, у которых это свойство равно Показать .

Private Sub UserForm Initialize ()

Dim Элемент As Object CommandButton1 . Tag = "Показать"

CommandButton2 .Tag = "Спрятать"

CommandButton3 .Tag = "Показать"

TextBoxl.Tag = "Показать"

For Each Элемент In Controls

If Элемент . Tag = "Показать" Then Элемент. Visible = True

Else Элемент .Visible = False

End If Next Элемент End Sub

Цвета, устанавливаемые свойствами BackColor, ForeColor и BorderColor, задаются шестнадцатеричными числами. Если эти свойства устанавливать не при помощи окна Свойства (Properties), а программно, вместо этих шестна-дцатеричных чисел удобнее использовать соответствующие постоянные, задающие цвета (табл. 7.2).

Таблица 7.2. Константы, задающие цвет

Константа

Значение

Цвет

vbBlack

0x0

Черный

vbRed

0xFF

Красный

vbGreen

0xFF00

Зеленый

vb Yellow

0xFFFF

Желтый

vbBlue

0xFF0000

Синий

vbMagenta

0xFF00FF

Розойый

vbCyan

0xFFFF00

Голубой

vbWhite

0xFFFFFF

Белый

 

Соглашения об именах

При создании формы или элемента управления, VBA устанавливает свойство объекта Name (т. е. его имя) по умолчанию. Например, для первой созданной кнопки свойство Name устанавливается равным CommandButtonl, для второй — commandButton2 и т. д. При разработке приложений с одной формой имя объекта, устанавливаемое по умолчанию, обычно не вызывает никаких проблем и в этом случае имена объектов оставляют без изменения. Если приложение обладает сложной структурой и состоит из нескольких форм, будет трудно отличить первую кнопку CommandButtonl первой формы, от первой кнопки CommandButtonl второй формы. В этом случае полезно переименовать объекты так, чтобы они легче различались. Для переименования объектов и переменных в среде Windows существует соглашение об именах, называемое венгерской нотацией. Суть соглашения состоит в следующем: имя объекта начинается с короткого префикса, одинакового для объектов одного и того же рода. За префиксом следует собственно имя, отображающее суть объекта. В табл. 7.3 приведены префиксы и примеры имен управляющих элементов.

Таблица 7.3. Примеры префиксов и имен

Управляющий элемент

Префикс

Пример имени

TextBox

txt

txtAcount

Label

lbl

IblInform

CoiranandButton

cmd

cmdOK

ListBox

1st

lstNames

ComboBox

cbo

cboFirms

ScrollBar

scr

scrDown

SpinButton

OptionButton

CheckBox

spn

opt

chk

spnUp

optChoice

chkSex

ToggleButton

Frame

Tgl

fra

TglSwitch

fraStatus

Image

RefEdit

img

ref

imgBall

ref Fun

MultiPage

TabStrip

UserForm

mlt

tab

frra

mltPages

tabTwoTabs

f rmGame

 

Общие методы и события элементов управления

Перечислим основные общие методы элементов управления.

Add


Позволяет добавить элемент управления во время выполнения программы

Move

Перемещает элемент управления

Zorder

Помешает объект до или после всех пересекающихся с ним объектов

SetFocus

Устанавливает фокус на вызвавшем этот метод элементе управления. Часто применяется в программах обработки ошибок

Перечислим наиболее часто употребляемые общие события элементов управления.

Click

Происходит, когда пользователь выбирает элемент управления с помощью одинарного щелчка кнопкой мыши

DblClick

Происходит, когда пользователь выбирает элемент управления с помощью двойного щелчка кнопкой мыши

KeyPress

Происходит, когда пользователь нажимает любую клавишу на клавиатуре, кроме функциональных и клавиш управления курсором

Change

Происходит при изменении значения элемента управления

GotFocus И LostFocus

Происходит, когда элемент управления получает или теряет фокус

Error

Используется при уведомлении об ошибке

Рассмотрим синтаксис процедур обработки событий, генерируемых нажатием кнопки мыши и перемещением указателя мыши и связанных с элементами управления (табл. 7.4).

Таблица 7.4. События, связанные с нажатием кнопки мыши

и перемещением мыши

Событие

Событие происходит

MouseDown

При нажатии кнопки мыши

MouseUp

При отпускании кнопки мыши

MouseMove

При перемещении указателя мыши

Синтаксис:

Private Sub object_MouseDown( ByVal Button As fmButton,

ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseUp( ByVal Button As fmButton,

ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseMove( ByVal Button As fmButton,

ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Аргументы:

Button

Возвращает код (значение) нажатой кнопки мыши. Допустимые значения:

  • fmButtonLeft или 1 (левая)
  • fmButtonRight или 2 (правая)
  • fmButtonMiddle или 4 (средняя)

Shift

Возвращает код (значение) нажатой на клавиатуре клавиши. Допустимые значения:

  • fmShiftMask или 1 (<Shift>)
  • fmCtrlMask или 2 (<Ctrl>)
  • fmAltMask или 4 (<Alt>)

X И Y

Возвращает значение расстояния от левого или от верхнего края формы, рамки или страницы. При событии MouseMove этим расстоянием считается путь в направлении от левого верхнего угла элемента управления по горизонтали или вертикали

Рассмотрим синтаксис процедур обработки событий при операциях drag-and-drop, связанных с элементами управления (табл. 7.5).

Таблица 7.5. События, связанные с перемещением элемента управления

Событие

Событие происходит

BeforeDragOver

BeforeDropOr Paste

Пока совершается операция drag-and-drop

Перед завершением операции drag-and-drop

Синтаксис:

Private Sub object_BeforeDragOver( ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As

DataObject, ByVal X As Single,

ByVal Y As Single,

ByVal DragState As fmDragState,

ByVal Effect As MSForms.ReturnEffect,

ByVal Shift As fmShiftState)

Private Sub

object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean,

ByVal Action As fmAction,

ByVal Data As DataObject,

ByVal X As Single,

ByVal Y As Single,

ByVal Effect As MSForms.ReturnEffeet,

ByVal Shift As fmShiftState)

Аргументы:

Cancel

Допустимые значения: False (по умолчанию, элемент управления обрабатывает событие) и True (приложение обрабатывает событие)

Data

Данные, перемещаемые во время операции drag-and-drop. Эти данные размещаются в объекте DataObject. Объект DataObject — это своеобразный аналог буфера обмена, в отличии от которого в нем допускается хранить только текстовую информацию

X и Y

Расстояние от левого верхнего угла элемента управления по горизонтали и вертикали

DragState

Устанавливает позицию указателя мыши относительно целевого объекта. Допустимые значения:

  • fmDragStateEnter или о (указатель мыши внутри целевого элемента управления)
  • fmDragStateLeave или 1 (указатель мыши вне целевого элемента управления)
  • fmDragStateOver или 2 (указатель мыши в новой позиции, но остается внутри элемента управления)

Effect

Устанавливает операцию, производимую над объектом. Допустимые значения:

  • fmDropEffectNone или о (не копировать и не перемещать объект)
  • fmDropEf fectcopy или 1 (копировать» объект)
  • fmDropEf fectMove или 2 (перемещать объект)
  • fmDropEf fectCopyOrMove или з (копировать или перемещать объект)

Shift

Возвращает код (значение) нажатой на клавиатуре клавиши. Допустимые значения:

  • fmShiftMask или 1 (<Shift>)
  • fmCtrlMask или 2 (<Ctrl>)
  • fmAltMask или 4 (<Alt>)

 

Объект DataObject

Объект DataObject предназначен для передачи текстовой информации при выполнении операций drag-and-drop между элементами управления. По своему действию объект DataObject в основном аналогичен буферу обмена, но в отличие от него он может хранить только текстовую информацию, которая исчезает при закрытии приложения. Рассмотрим методы объекта DataObject.

GetText

Возвращает текстовую строку из объекта Dataobject.

Синтаксис:

String = object. GetText

SetText

Копирует текстовую строку в объект Dataobject.

Синтаксис:

SetText (StoreData)

  • StoreData — определяет данные, копируемые в объект DataObject


StartDrag

Инициирует операцию drag-and-drop для объекта DataObject.

Синтаксис:

ЦелаяПеременная = Object . StartDrag

  • ЦелаяПеременная — возвращает тип операции drag-and-drop (с копированием или перемещением)

GetText

Возвращает текстовую строку из объекта Dataobject.

Синтаксис:

СтроковаяПёременная = object . GetText

  • СтроковаяПёременная — переменная, которой присваивается текстовая строка, хранящаяся в Объекте DataObject

PutlnClipboard

Переносит данные из объекта DataObject в буфер обмена

GetFromClipboard

Переносит данные из буфера обмена в объект DataObject

Перейдем теперь к обсуждению каждого из элементов управления по отдельности.

Поле

Элемент управления TextBox (поле) создается с помощью кнопки Поле (TextBox) панели элементов управления (рис. 7.9). В основном TextBox используется для ввода текста, который в последующем используется в программе, или для вывода результатов расчетов программы. Текст, введенный в поле, обычно в программе преобразуется либо в числа, либо в формулы.

Рис. 7.9. Поле в форме

Основные свойства элемента управления TextBox перечислены ниже.

Text

Возвращает текст, содержащийся в поле

Visible

Допустимые значения: True (поле отображается во время выполнения программы) и False (в противном случае)

Enabled

Допустимые значения: True (пользователь непоредственно может вносить изменения в содержание поля) и False (в противном случае)

Multiline

Допустимые значения: True (устанавливается много-строчный режим ввода текста в поле) и False (однострочный режим)

Wordwrap

Допустимые значения: True (устанавливается режим автоматического переноса) и False (в противном случае)

AutoSize-

Допустимые значения: True (устанавливается режим автоматического изменения размера поля так, чтобы весь вводимый текст помещался в нем) и False (устанавливается фиксированный размер поля)

ScrollBars

Устанавливает режим отображения в поле полос прокрутки. Допустимые значения:

  • fmScrollBarsNone (не выводить полос прокрутки)
  • fmScrollBarsHorizontal (выводить горизонтальную полосу прокрутки)
  • fmScrollBarsVertical (выводить вертикальную полосу прокрутки)
  • fmScrollBarsBoth (выводить горизонтальную и вертикальную полосы прокрутки)

SelLenght, SelStart и SelText

Эти свойства характеризуют выделенный в поле фрагмент текста (длина, начало и сам фрагмент текста соответственно)

MaxLength

Устанавливает максимальное допустимое количество вводимых в поле символов. Если это свойство равно 0, то нет ограничений на вводимое количество символов.

PasswordChar

Устанавливает символ, отображаемый при вводе пароля. Если это свойство определено, то вместо вводимых символов в поле будет отображаться установленный символ

 

Надпись

Элемент управления Label (надпись) создается с помощью кнопки Надпись (Label) панели элементов управления (рис. 7.10). В основном Label используется для отображения надписей, например заголовков, не имеющих свойства Caption. Надпись не может быть изменена пользователем, но код программы во время ее выполнения может управлять текстом надписи.

Рис. 7.10. Надпись в форме

Основные свойства элемента управления Label перечислены ниже.

Caption

Возвращает текст, отображаемый в надписи

Visible

Допустимые значения: True (поле отображается во время выполнения программы) и False (в противном случае)

Multiline

Допустимые значения: True (устанавливается многострочный режим ввода текста в поле) и False (однострочный режим)

AutoSize

Допустимые значения: True (устанавливается режим автоматического изменения размера поля так, чтобы весь вводимый текст помещался в нем) и False (устанавливается фиксированный размер поля)

Wordwrap

Допустимые значения: True (устанавливается режим автоматического переноса) и False (в противном случае)

к оглавлению   к 4GL - визуальному программированию

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

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

Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.

Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution