Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB_REF_7.pdf
Скачиваний:
25
Добавлен:
13.02.2015
Размер:
2.96 Mб
Скачать

Предложение Control EditText

Предложение Control EditText

Назначение:

Часть оператора Dialog. Отвечает за создание текстового окошка ввода.

Синтаксис:

Control EditText

[ Position x, y ] [ Width w ] [ Height h ] [ ID control_ID ]

[ Value initial_value ] [ Into variable ]

[ Disable ] [ Hide ] [ Password ]

где

x, y – координаты левого верхнего угла окошка в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);

w – ширина в единицах измерения диалога; h – высота в единицах измерения диалога;

control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;

handler – имя процедуры-обработчика, которая запускается при изменении режима; initial_value – строковая величина, задающая начальное значение;

variable – имя строковой переменной, которой будет присвоен текст из окошка после закрытия диалога кнопкой “OK” или “Да”.

Ключевое слово Disable делает элемент недоступным (закрашивается серым). Ключевое слово Hide прячет элемент из диалогового окна.

Ключевое слово Password включает "слепой" режим ввода текста (показывается звездочка вместо каждого введенного пользователем символа), используется для создания окошка ввода пароля.

Описание:

Ключевое слово EditText в предложении Control оператора Dialog позволяет создавать в диалоге окошко для ввода текста пользователем. Элемент EditText может иметь строковое значение длиной до 32767 символов.

Текстовое окошко может быть как однострочным, так и многострочным. Количество строк определяется высотой элемента диалога. Если высота больше 20 единиц, то окошко будет иметь две и более строк. В этом случае текст, который пользователь введет, будет автоматически разбиваться на строки. Пользователь также может разделять текст на строки с помощью символа перевода каретки (line-feed). В Windows для этого надо нажать на клавиши CTRL+ENTER.Так как символ перевода каретки имеет код 10, Вы можете с помощью функции Chr$(10) задать в параметре str_value начальное значение в несколько строк.

Для перемещения фокуса в элемент EditText используйте оператор Alter Control...Active.

Пример:

Control EditText

Value

"Торговые точки"

 

Position 68, 8 Width 90

ID 1

Into

s_map_title

 

Смотрите также:

Alter Control, Dialog, ReadControlValue(_)

Справочник MapBasic

93

Предложение Control GroupBox

Предложение Control GroupBox

Назначение:

Часть оператора Dialog. Отвечает за создание прямоугольной рамки с текстом.

Синтаксис:

Control GroupBox

[ Position x , y ] [ Width w ] [ Height h ] [ Title title_string ]

[ Hide ]

где

x, y – координаты левого верхнего угла рамки в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);

w – ширина рамки в единицах измерения диалога; h – высота рамки в единицах измерения диалога;

title_string – текст заголовка, который начинается от левого верхнего угла рамки.

Ключевое слово Hide не показывает групповую рамку в диалоговом окне.

Описание:

Ключевое слово GroupBox в предложении Control оператора Dialog позволяет создавать в диалоге прямоугольную рамку с заголовком. Элемент GroupBox в окне диалога выполняет оформительскую роль, потому не имеет значения. С помощью рамки Вы можете объединять другие элементы в диалоге в группы.

Пример:

Control GroupBox

Title "Уровень детализации"

Position 5, 30

Height 40

Width 70

Смотрите также:

Alter Control, Dialog

94

Справочник MapBasic

Предложения Control ListBox / MultiListBox

Предложения Control ListBox / MultiListBox

Назначение:

Часть оператора Dialog. Отвечают за создание списков.

Синтаксис:

Control { ListBox | MultiListBox }

[ Position x, y ] [ Width w ] [ Height h ] [ ID control_ID ]

[ Calling handler ]

[ Title { str_expr | From Variable str_array_var } ] [ Value i_selected ]

[ Into i_variable ]

[ Disable ] [ Hide ]

где

x, y – координаты левого верхнего угла окошка списка в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);

w – ширина окошка в единицах измерения диалога, по умолчанию – 80; h – высота окошка в единицах измерения диалога, по умолчанию – 70;

control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;

handler – имя процедуры-обработчика, которая запускается при изменении пользователем выбора в списке или двойным указанием в списке;

str_expr – строковое выражение, которое задает текст строк списка; элементы списка разделены точкой с запятой (;);

str_array_var – имя массива строковых переменных;

i_selected – короткое целое число, задающее номер элемента списка, который будет выбран при открытии диалога, по умолчанию в списке не будет выбрано ни одной строки;

i_variable – имя переменной типа SmallInt, которая будет использоваться для сохранения значения выбора в списке после закрытия диалога.

Ключевое слово Disable делает список недоступным для выбора (закрашивается серым).

Ключевое слово Hide прячет список из диалогового окна.

Описание:

Ключевые слова ListBox и MultiListBox в предложении Control оператора Dialog позволяют создавать в диалоге прямоугольную рамку со списком внутри, строки которого может выбирать пользователь. Если в окошко не вмещаются все строки списка, то окошко снабжается справа полосой прокрутки.

Список MultiListBox отличается от списка ListBox тем, что в первом пользователь может выбрать одновременно несколько строк или не выбрать ни одной. Выбор нескольких элементов осуществляется указанием на строку с нажатой клавишей CTRL или SHIFT (это зависит от вычислительной платформы).

Предложение Title задает строки списка. Если за словом Title задан список текстов в кавычках, через точку с запятой, то каждый текст будет определять одну строчку списка. Например:

Title "1 й квартал;2 й квартал;3 й квартал;4 й квартал"

Справочник MapBasic

95

Предложения Control ListBox / MultiListBox

Также список в предложении Title можно задавать массивом. В следующем фрагменте "s_optionlist" – имя строкового массива.

Title From Variable s_optionlist

Чтение значений элемента MultiListBox

Из процедуры-обработчика элемента Вы можете прочитать, сколько и какие именно строки выбраны сейчас в окошке списка при помощи функции ReadControlValue(_).

Для элемента MultiListBox существует специальная процедура чтения значений. В окошке списка этого элемента может быть не выбрано ни одной строки, выбрана одна строка, несколько или весь список. Соответственно, элемент может не иметь значений, а может иметь их несколько. Функция ReadControlValue(_), вызванная из обработчика элемента MultiListBox, может возвращать только одну величину за один вызов. Поэтому, для чтения всех значений необходимо функцию вызывать несколько раз. Первый вызов функции дает номер первой строки, выбранной в списке. Следующий – второй строки и т. д. Когда все значения будут прочитаны, функция вернет ноль. Если ноль будет получен при первом вызове, то, следовательно, в списке ничего не было выбрано.

Двойной щелчок мышки в списке

Для списка может быть объявлена процедура-обработчик, которая вызывается всякий раз, когда пользователь указывает на список. Причем это может быть простое указание, а может быть двойное, то есть, если быстро нажать два раза на клавишу мышки. Например, двойное указание в списке аналогично простому указанию и последующему нажатию на кнопку OK, которая закрывает диалог с подтверждением всех изменений значений элементов в диалоге.

Для определения, применялось ли пользователем двойное указание или нет, используется функция CommandInfo(_) в процедуре обработчика спискового элемента диалога. Пример такой процедуры обработчика приводится ниже:

Sub

lb_handler

Dim

i As SmallInt

If

CommandInfo(CMD_INFO_DLG_DBL) Then

'... если пользователь использовал двойное указание...

i = ReadControlValue( TriggerControl(_) ) Dialog Remove

'теперь i содержит номер выбранного элемента списка...

End If

End Sub

Пример:

Control ListBox

Title "1 ого квартала;2 ого квартала;3 его квартала;

4 ого квартала;текущего месяца;года"

ID 3

Value 1

Into i_quarter

Position 10, 92 Height 40

Смотрите также:

Alter Control, Dialog, ReadControlValue(_)

96 Справочник MapBasic

Предложения Control PenPicker / BrushPicker / SymbolPicker / FontPicker

Предложения Control PenPicker / BrushPicker / SymbolPicker / FontPicker

Назначение:

Часть оператора Dialog. Предложения отвечают за создание кнопок выбора стиля: линии, штриха, символа или шрифта.

Синтаксис:

Control { PenPicker | BrushPicker | SymbolPicker | FontPicker } [ Position x, y ] [ Width w ] [ Height h ]

[ ID control_ID ] [ Calling handler ]

[ Value style_expr ] [ Into style_var ]

[ Disable ] [ Hide ]

где

x, y – координаты левого верхнего угла кнопки в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);

w – ширина кнопки в единицах измерения диалога, по умолчанию 20; h – высота кнопки в единицах измерения диалога, по умолчанию 20;

control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;

handler – имя процедуры-обработчика, которая запускается при нажатии кнопки "OK" в диалоге стиля;

style_expr – выражение типа Pen, Brush, Symbol или Font, которое задает начальное значение элемента;

style_var – имя переменной типа Pen, Brush, Symbol или Font (тип переменной должен соответствовать типу элемента диалога).

Ключевое слово Disable делает кнопку недоступной для выбора (закрашивается серым).

Ключевое слово Hide прячет кнопку из диалогового окна.

Описание:

Ключевые слова PenPicker, BrushPicker, SymbolPicker и FontPicker в предложении Control

оператора Dialog позволяют создавать в диалоге кнопку, нажатие на которую приводит к открытию стандартного диалога стиля оформления объектов. Предложение Control PenPicker отвечает за стиль линии, предложение Control BrushPicker – за стиль штриха, предложение Control SymbolPicker_– за стиль символа точечного объекта и предложение Control FontPicker – за стиль шрифта.

Пример:

Control SymbolPicker

Position 140, 42

Into sym_storemarker

Смотрите также:

Alter Control, Dialog, ReadControlValue( )

Справочник MapBasic

97

Предложение Control PopupMenu

Предложение Control PopupMenu

Назначение:

Часть оператора Dialog. Отвечает за создание раскрывающегося меню.

Синтаксис:

Control PopupMenu

[ Position x, y ] [ Width w ] [ ID control_ID ]

[ Calling handler ]

[ Title { str_expr | From Variable str_array_var } ] [ Value i_selected ]

[ Into i_variable ] [ Disable ]

где

x, y – координаты левого верхнего угла окошка меню в окне диалога в специальных единицах измерения диалога (смотрите подраздел в описании оператора Dialog);

w – ширина окошка в единицах измерения диалога, по умолчанию 80;

control_ID – целое число, которое должно быть уникальным по отношению к остальным идентификаторам элементов активного диалога;

handler – имя процедуры-обработчика, которая запускается при изменении выбора в списке; str_expr – строковое выражение, которое задает текст строк списка меню, где элементы списка разделены точкой с запятой (;);

str_array_var – имя массива строковых переменных;

i_selected – короткое целое число, задающее номер элемента списка меню , который будет показан в окошке при открытии диалога, по умолчанию будет показан первый элемент;

i_variable – имя переменной типа SmallInt, которая будет использоваться для сохранения номера выбранного в меню элемента после закрытия диалога.

Ключевое слово Disable делает меню недоступным для выбора (закрашивается серым).

Описание:

Ключевое слово PopupMenu в предложении Control оператора Dialog позволяет создавать в диалоге меню, представляющее собой однострочное окошко с кнопкой справа. Нажатие на кнопку раскрывает комбинированное окошко списка, в котором пользователь может выбрать строчку. Выбранная строка будет отображена в окошке.

Предложение Title задает список элементов меню. Если за словом Title задан список текстов в кавычках, через точку с запятой, то каждый текст будет определять одну строчку списка. Например:

Title "Город;Область;Территория;Регион;Вся страна"

Список в предложении Title можно также задавать массивом. В следующем фрагменте "s_optionlist" – имя строкового массива.

Title From Variable s_optionlist

Пример:

 

Control

PopupMenu

Title

"Город;Область;Территория;Регион;Вся страна"

Value

2

98

Справочник MapBasic

Предложение Control PopupMenu

ID 5

Into mapscope

Position 10, 150

Смотрите также:

Alter Control, Dialog, ReadControlValue( )

Справочник MapBasic

99

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]