Команда @ ... GET - командные кнопки
См. также
Синтаксис
@ nRow, nColumn
Параметры
@ nRow, nColumn
Задает местоположение первой кнопки в группе командных кнопок. Строки нуме
уются сверху вниз. Первая строка имеет номер 0 в основном окне Visual FoxPro или в
пользовательском окне.
В Visual FoxPro строка 0 это строка, расположенная непосредственно под системной строкой меню Visual
FoxPro.
В FoxPro для Macintosh строка 0 это строка, расположенная непосредственно под строкой заголовка FoxPro.
В FoxPro для MS-DOS строка 0 это строка, которую занимает системная строка меню FoxPro. Подробнее о том,
как, манипулируя системной строкой меню FoxPro для MS-DOS, размещать командные к
опки в строке 0, см. SET SYSMENU.
Столбцы нумеруются слева направо. Первый столбец имеет номер 0 в основном окне
Visual FoxPro или в пользовательском окне.
Когда командные кнопки помещаются в пользовательское окно, координаты их строк
и столбцов берутся относительно данного пользовательского окна, а не основного
окна Visual FoxPro.
В Visual FoxPro и FoxPro для Macintosh позиция кнопки в основном окне Visual
FoxPro или в пользовательском окне определяется шрифтом этого окна. Большинство
шрифтов допускают множество вариантов с различными размерами, а некоторые из
их имеют пропорциональные промежутки. Номер строки зависит от высоты текущего ш
ифта, а номер столбца от средней ширины буквы в текущем шрифте.
В Visual FoxPro и FoxPro для Macintosh позицию первой кнопки в группе командн
х кнопок можно задавать дробными значениями координат по строкам и столбцам.
В FoxPro для MS-DOS десятичные дробные значения, используемые в качестве коор
инат по строкам и столбцам, округляются до ближайшего целого числа.
GET MemVarName | FieldName
Задает переменную памяти, элемент массива или поле, в котором следует сохра
ять число, представляющее сделанный пользователем выбор. Значение MemVarName или FieldName должно быть числового или символьного типа.
Если значение MemVarName или FieldName числового типа, то в заданную им переменную памяти, элемент массива или поле
записывается номер нажатой командной кнопки. Например, если вы создали четыре
командные кнопки и пользователь нажимает третью из них, сохраняется число 3. Ес
и значение MemVarName или FieldName символьного типа, то в заданную им переменную памяти, элемент массива или по
е записывается название нажатой командной кнопки.
FUNCTION cFormatCodes | PICTURE cFormatCodes
Задает кнопку, а также название или рисунок для нее. Необходимо включить пред
ожение FUNCTION, предложение PICTURE или оба эти предложения. Ни один из трех
тих методов нельзя выделить в качестве предпочтительного. Предложения FUNCTION
и PICTURE содержат код спецификации командной кнопки звездочку (*) и текст названий командных кнопок. Обратная косая черта (\) в названии команд
ой кнопки не допускается.
Символьное выражение cFormatCodes предложения FUNCTION должно начинаться со звездочки (*). Чтобы создать назва
ия командных кнопок, после звездочки через пробел задайте список названий, раз
еляя их точками с запятой. Для каждого названия создается одна кнопка. Наприме
, следующее предложение FUNCTION создает командные кнопки с названиями
В следующем примере иллюстрируются разнообразные формы синтаксиса, используем
е при создании командных кнопок. Создаются две командные кнопки:
Только предложение FUNCTION:
@ 2,2 GET gnChoice FUNCTION '* OK;Cancel' SIZE 1, 8
READ
STORE 1 TO gnChoice
STORE '* OK;Cancel' TO gcPrompts
@ 2,2 GET gnChoice FUNCTION gcPrompts SIZE 1, 8
READ
@ 2,2 GET gnChoice PICTURE '@* OK;Cancel' SIZE 1, 8
READ
STORE 1 TO gnChoice
@ 2,2 GET gnChoice PICTURE '@*' + ' OK;Cancel' SIZE 1, 8
READ
@ 2,2 GET gnChoice FUNCTION '*' ;
PICTURE ' OK;Cancel' SIZE 1, 8
READ
В Visual FoxPro и FoxPro для Macintosh название командной кнопки может также
являться именем файла рисунка.
В Visual FoxPro файлом рисунка может быть растровый файл с расширением имени
.BMP.
В FoxPro для Macintosh можно использовать как файл рисунка типа PICT, так и
астровый файл .BMP.
Когда в командной кнопке для названия используется файл рисунка, эта кнопка ве
ет себя как командная кнопка с текстовым названием. На кнопке вместо названия
появляется рисунок из файла. При нажатии кнопки с рисунком, как и при нажатии
командной кнопки соответствующее значение сохраняется в переменной памяти MemVarName или в поле FieldName.
Чтобы использовать для командной кнопки файл рисунка, включите букву B в код
спецификации командной кнопки. В предложениях FUNCTION и PICTURE кодами
спецификации, создающими командную кнопку, являются соответственно * и @*. Чтобы соз
ать командную кнопку с рисунком, укажите код *B или @*B, а затем через пробел имя файла рисунка. Если файл рисунка находится в каталоге, отличном от при
имаемого по умолчанию, укажите вместе с именем файла путь к нему.
Замечание Рисунки, размещаемые на командной кнопке, не обрезаются, не уменьшаются и не
увеличиваются. Чтобы вписать рисунок в кнопку, можно подрегулировать размер к
опки, используя предложение SIZE.
Если расширение имени файла рисунка опущено, FoxPro для Macintosh сначала бу
ет искать файл с заданным именем и расширением .BMP. Если такой файл не найден,
FoxPro для Macintosh ищет файл с заданным вами именем и расширением .PCT. Если
и такой файл найти не удастся, FoxPro для Macintosh ищет файл рисунка с заданн
м именем без расширения.
Маски рисунка и командные кнопки
В Visual FoxPro и FoxPro для Macintosh командная кнопка с рисунком имеет три
состояния: вверху, внизу и недоступна. Visual FoxPro автоматически контролирует
внешний вид командной кнопки с рисунком в каждом из этих трех состояний, но вы
можете с помощью маски рисунка отменить внешний вид, используемый по умолчанию,
и задать свой.
Маска рисунка определяет, какие области командной кнопки с рисунком должны б
ть прозрачными. По умолчанию прозрачными являются белые области. Если задана
маска рисунка, то прозрачными будут белые области маски рисунка, а не файла рису
ка.
Маска рисунка представляет собой файл монохромного рисунка. В Visual FoxPro
маской рисунка является растровый файл с расширением имени .MSK. В FoxPro для
Macintosh маской может служить как растровый файл с расширением .MSK, так и файл
типа PICT с расширением .PCM. Маска рисунка должна иметь то же базовое имя, что
и файл рисунка, и соответствующее расширение. Visual FoxPro автоматически ищет
маску для данного файла рисунка в том же каталоге, где находится файл рисунка.
В большинстве случаев без маски можно обойтись. Если вам не нужно, чтобы
какие-то фрагменты рисунка были белыми или если в файле рисунка задан белый фон, то
командная кнопка с рисунком будет иметь требуемый вид во всех трех состояниях верхнем, нижнем и недоступном.
Если командная кнопка с рисунком сопровождается маской и находится в верхнем и
и нижнем состоянии, то все белые области рисунка окажутся прозрачными, и
сквозь них будет виден цвет кнопки. Однако для определенных областей можно сохранить
белый цвет.
Предположим, на рисунке изображена собака на белом фоне; пусть у нее белые г
аза, а поверхность кнопки красного цвета. Вы хотите, чтобы фон кнопки остался красным, но при этом чтоб
глаза у собаки были не красными, а белыми. Создайте маску рисунка, имеющую
тот же размер, что и файл рисунка, но выполненную только в двух цветах черном и белом. Оставьте фон маски белым, а собаку сделайте целиком черной,
включая глаза. Когда кнопка будет отображена, фон окажется красным и сольется с
кнопкой, но глаза будут белыми.
Когда командная кнопка с рисунком недоступна, все белые области файла рисунка
становятся прозрачными и сквозь них просвечивает цвет поверхности кнопки. Все о
ласти другого (не белого) цвета окажутся темно-серыми. Если у кнопки есть
маска, все белые области маски будут прозрачными (сквозь них виден цвет кнопки), а
все черные области приобретут темно-серую окраску.
Опции N, T, H, V, 2 и 3 предложений PICTURE и FUNCTION
Вместе с кодом спецификации * можно указывать и другие опции, которые модицифи
уют поведение (опции N и T) и внешний вид (H, V, 2 и 3) командных кнопок.
Коды спецификации 2 и 3 доступны только в FoxPro для Macintosh.
GET MemVarName | FieldName
FUNCTION cFormatCodes | PICTURE cFormatCodes
[NAME ObjectName]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[DEFAULT Expression]
[SIZE nHeight, nWidth [, nSpacing]]
[ENABLE | DISABLE]
[MESSAGE cMessageText]
[VALID lExpression1 | nExpression]
[WHEN lExpression2]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairList]
Опция
| Описание
|
N
| Не прекращает операцию READ при нажатии командной кнопки.
|
T
| Прекращает READ в момент нажатия командной кнопки. Данное поведение при
имается по умолчанию
|
H
| Позиционирует командные кнопки в горизонтальной строке.
|
V
| Позиционирует командные кнопки в вертикальном столбце. Данная ориентация испо
ьзуется по умолчанию.
|
2
| Создает плоские (двумерные) черно-белые командные кнопки.
|
3
| Создает трехмерные командные кнопки. Данный тип командной кнопки используется
по умолчанию в FoxPro для Macintosh.
|
... FUNCTION '*NH... '
В FoxPro для Macintosh следующее предложение создает горизонтальную строку вумерных кнопок, при нажатии которых операция READ не прекращается:
... FUNCTION '*NH2... '
Командные кнопки с особыми возможностями
Кнопке можно назначить клавишу доступа, ее можно сделать недоступной, и, кроме того, можно создать кнопку по умолчанию или кнопку выхода. Чтобы задать для командной кнопки такие особые возможности, при определении ее названия нужно указать специальные символы. Когда название сохраняется в переменной памяти MemVarName или в поле FieldName, эти специальные символы отбрасываются.
Клавиши доступа
Для каждой кнопки можно создать клавишу доступа, поставив в названии командной кнопки перед нужным символом обратную косую черту со знаком "меньше" (\<). В с едующем примере создаются кнопки
OK и Cancel с клавишами доступа O и C:STORE 1 TO gnChoice
@ 2,8 GET gnChoice FUNCTION '* \<OK;\<Cancel'
READ
Подробнее о клавишах доступа см. главу 12 "Конструирование меню" Руководства разработчика.
Недоступные командные кнопки
Командную кнопку можно сделать недоступной, чтобы ее нельзя было выделить или ажать. Недоступные командные кнопки изображаются в цветах, определенных для того состояния. Чтобы сделать какую-либо командную кнопку недоступной, поставьте перед ее названием две обратные косые черты (\\). Чтобы сделать недоступной г уппу командных кнопок, укажите ключевое слово DISABLE.
В следующем примере делается недоступной командная кнопка OK:
STORE 1 TO gnChoice
@ 2,2 GET gnChoice FUNCTION '* \\OK;Cancel'
READ
Командные кнопки по умолчанию
Командная кнопка по умолчанию обычно используется для того, чтобы выйти из фо мы ввода данных или из диалога, сохранив при этом все изменения, внесенные в фо ме или в диалоге. Чтобы создать командную кнопку по умолчанию, поставьте перед ее названием обратную косую черту с восклицательным знаком (\!).
В следующем примере в качестве командной кнопки по умолчанию задается кнопка
OK:STORE 1 TO gnChoice
@ 2,2 GET gnChoice FUNCTION '* \!OK;Cancel'
READ
В FoxPro для MS-DOS командная кнопка по умолчанию заключается в угловые ско ки, чтобы ее можно было отличить от других командных кнопок. Командная кнопка по умолчанию автоматически выбирается при нажатии клавиш Ctrl+Enter или Ctrl+W. Для каждой команды READ можно задать только одну командную кнопку по умолча ию.
В Visual FoxPro командная кнопка по умолчанию окружается жирной рамкой. Чтобы выбрать ее, нужно нажать клавиши
Enter, Ctrl+Enter или Ctrl+W. Установка KEYCOMP определяет поведение командных кнопок по умолчанию Visual FoxPro следующим образом.Если задано SET KEYCOMP TO DOS, командная кнопка по умолчанию ведет себя так же, как и командная кнопка по умолчанию в FoxPro для MS-DOS.
Если задано SET KEYCOMP TO WINDOWS, командная кнопка по умолчанию изменяется п и переходе от кнопки к кнопке. Командная кнопка, заданная с кодом \!, является кнопкой по умолчанию, когда активен элемент управления, отличный от кнопки. Ес и активна командная кнопка, она становится кнопкой по умолчанию.
В FoxPro для Macintosh командная кнопка по умолчанию также окружается жирной амкой. Установка KEYCOMP определяет поведение командных кнопок по умолчанию FoxPro для Macintosh следующим образом.
Если задано SET KEYCOMP TO DOS, командная кнопка по умолчанию всегда остается одной и той же и выбирается нажатием клавиш
Ctrl+Enter.Если задано SET KEYCOMP TO WINDOWS, кнопка по умолчанию в диалоговом окне ок ужается жирной рамкой и всегда остается одной и той же. Она выбирается нажатием клавиш
Enter или Ctrl+Enter. Однако если нажать Enter, когда текущим элементом управления является область редактирования текста, п оизойдет перемещение курсора к следующей строке в области. В областях редакти ования текста кнопка по умолчанию выбирается нажатием клавиш Ctrl+Enter.Если задано SET KEYCOMP TO MAC, кнопка по умолчанию в диалоговом окне ок ужается жирной рамкой и всегда остается одной и той же. Она выбирается нажатием к авиши
Enter. Однако если нажать Enter, когда текущим элементом управления является область редактирования текста, п оизойдет перемещение курсора к следующей строке в области. В областях редакти ования текста кнопка по умолчанию выбирается нажатием клавиш Ctrl+Enter.
Командные кнопки выхода
Командная кнопка выхода автоматически выбирается при нажатии клавиши
Esc. Обычно такая кнопка используется для выхода из формы ввода данных, диа огового окна или программы, когда нужно отменить все изменения, внесенные в форму, иалоговое окно или программу. Для каждой команды READ можно задать только одну командную кнопку выхода.Если командная кнопка выхода не задана, то при работе в области редактирования команды @... GET нажатие клавиши
Esc завершает редактирование и восстанавливает первоначальное содержимое области едактирования. Если для области редактирования задана процедура VALID, эта п оцедура не выполняется. При наличии командной кнопки выхода нажатием клавиши Esc сохраняется текущее содержимое области редактирования команды @... GET и выпо няется процедура VALID.Чтобы создать командную кнопку выхода, поставьте перед названием кнопки обрат ую косую черту с вопросительным знаком (\?).
В следующем примере командная кнопка
Cancel определяется в качестве кнопки выхода:STORE 1 TO gnChoice
@ 2,2 GET gnChoice FUNCTION '* OK;\?Cancel'
READ
Командные кнопки с комбинированными характеристиками
Можно создать командную кнопку, обладающую несколькими особыми возможностями. В следующем примере кнопка
OK определяется как кнопка по умолчанию, ей назначается клавиша доступа O. К опка Cancel является кнопкой выхода, ей назначается клавиша доступа C. Код спецификации к авиши доступа ставится непосредственно перед нужным символом.STORE 1 TO gnChoice
@ 2, 2 GET gnChoice FUNCTION '* \!\<OK;\?\<Cancel'
READ
NAME ObjectName
Допустимо только в Visual FoxPro.
Создает ссылку на командную кнопку как на объект, что позволяет манипулировать кнопкой, используя объектно-ориентированные свойства элемента управления CommandButton. Подробнее о манипулировании элементами управления FoxPro с помощью п едложения NAME см. Элементы управления и объекты.
FONT cFontName [, nFontSize]
Допустимо только в Visual FoxPro и FoxPro для Macintosh.
Задает шрифт для названия кнопки и размер шрифта. Аргумент cFontName задает имя шрифта, а nFontSize размер шрифта. Например, следующая команда отображает название в шрифте Courier размером в 16 пунктов:
FONT 'Courier', 16
Если предложение FONT опущено, а командные кнопки помещаются в основное окно Visual FoxPro, используется шрифт этого окна. Если предложение FONT опущено, а командные кнопки помещаются в пользовательское окно, используется шрифт этого по ьзовательского окна.
Если вы указали предложение FONT, опустив аргумент nFontSize, используется 10-пунктовый шрифт.
В Visual FoxPro, если заданный шрифт отсутствует, его заменяет шрифт с похожими характеристиками.
В FoxPro для Macintosh, если заданный шрифт отсутствует, используется шрифт Chicago.
В FoxPro для MS-DOS предложение FONT игнорируется.
STYLE cFontStyle
Допустимо только в Visual FoxPro и FoxPro для Macintosh.
Задает стиль шрифта для названий командных кнопок. Если предложение STYLE опущено, используется стиль Normal (нормальный).
В Visual FoxPro, если заданный стиль шрифта отсутствует, его заменяет стиль с похожими характеристиками.
В FoxPro для Macintosh, если заданный стиль шрифта отсутствует, используется стиль Normal.
В FoxPro для MS-DOS предложение STYLE игнорируется.
Стили шрифта, которые можно задавать в качестве cFontStyle, перечислены в следующей таблице.
Символ
| Стиль шрифта
|
B
| Bold (Полужирный)
|
C
| Condense (Уплотненный; только в FoxPro для Macintosh)
|
E
| Extend (Расширенный; только в FoxPro для Macintosh)
|
I
| Italic (Курсив)
|
N
| Normal (Нормальный)
|
O
| Outline (Контурный)
|
Q
| Opaque (Непрозрачный)
|
S
| Shadow (Затененный)
|
-
| Strikeout (Перечеркнутый; только в Visual FoxPro)
|
T
| Transparent (Прозрачный)
|
U
| Underline (Подчеркнутый)
|
STYLE 'BI'
DEFAULT Expression
Когда вы нажимаете командную кнопку, этот выбор сохраняется в заданной перемен ой памяти, элементе массива или поле. Если задана несуществующая переменная памяти, она будет автоматически создана и проинициализирована, при условии, что включено предложение DEFAULT. Однако если в этом предложении указать элемент массива, он не будет создан. Если заданная переменная памяти уже существует или ес и вы задали поле, предложение DEFAULT игнорируется.
Замечание Если предложение DEFAULT опущено и переменная памяти, заданная аргументом MemVarName, не существует, Visual FoxPro сгенерирует сообщение об ошибке.
Выражение Expression предложения DEFAULT определяет тип создаваемой переменной памяти и ее началь ое значение. Это выражение должно быть числового или логического типа. Далее п иведены примеры предложений DEFAULT для командных кнопок:
@ 2,2 GET gnChoice FUNCTION '* OK;Cancel' DEFAULT 'OK'
READ
@ 2,2 GET gnChoice FUNCTION '* OK;Cancel' DEFAULT 2
READ
STORE 'OK' TO gcButton
@ 2,2 GET gnChoice FUNCTION '* OK;CANCEL' DEFAULT gcButton
READ
SIZE nHeight, nWidth [, nSpacing]
Задает размер кнопки и интервал между кнопками. Аргумент nHeight определяет высоту командной кнопки в строках.
В FoxPro для MS-DOS командная кнопка всегда имеет высоту в одну кнопку, по тому числовое выражение nHeight игнорируется.
По умолчанию ширина каждой отдельной кнопки определяется длиной ее названия. А гумент nWidth задает ширину кнопки в столбцах. Командная кнопка не может иметь размеры ме ьшие, чем ее название.
По умолчанию между вертикальными кнопками строки не вставляются, а между го изонтальными кнопками вставляется один столбец. Промежуток между командными к опками определяется аргументом nSpacing. Если вы создаете вертикальные командные кнопки, nSpacing задает число строк между ними. Если вы создаете горизонтальные кнопки, nSpacing задает число столбцов между кнопками.
В Visual FoxPro и FoxPro для Macintosh на размер командной кнопки влияет и ее шрифт. Шрифт командной кнопки задается с помощью предложения FONT. Если это пре ложение опущено, в командных кнопках используется шрифт родительского окна (ос овного окна Visual FoxPro или пользовательского окна).
В следующем примере показано, как предложение SIZE управляет интервалами между кнопками:
CLEAR
@ 2,2 GET gnChoice FUNCTION '* OK;Cancel' ;
DEFAULT 1 SIZE 2, 10, 1
@ 2,16 GET gnChoice FUNCTION '* OK;Cancel' ;
DEFAULT 1 SIZE 2, 10, 2
READ
ENABLE
Делает командную кнопку доступной. По умолчанию кнопка становится доступной п и выдаче команды READ. Предложение ENABLE можно включать в программу для напоми ания о том, что кнопкой можно пользоваться.
DISABLE
Запрещает активизацию кнопки при выдаче команды READ. Когда кнопка не является активной, она изображается определенными для данного состояния цветами и по ьзователь не может ее нажимать. Чтобы сделать недоступную кнопку доступной, испо ьзуйте команду SHOW GET ENABLE.
MESSAGE cMessageText
Создает сообщение, которое выдается при нажатии командной кнопки.
В Visual FoxPro и FoxPro для Macintosh сообщение выводится в строке состояния. Если строка состояния была отключена с помощью команды SET STATUS BAR OFF, соо щение располагается в последней строке основного окна Visual FoxPro.
В FoxPro для MS-DOS сообщение по умолчанию размещается в центре последней ст оки основного окна FoxPro. Местоположение сообщения можно изменить командой SET MESSAGE.
VALID lExpression1 | nExpression
Санкционирует пользовательский ввод. Когда пользователь нажимает кнопку, вычис яется значение выражения VALID. Как правило, lExpression1 и nExpression представляют собой пользовательские функции. С помощью подобных функций можно выбирать другие элементы управления, делать их доступными или недоступными, открывать окно просмотра, открывать другие формы для ввода данных или переходить к новой записи. В качестве пользовательской функции можно задать команду CLEAR READ, прекращающую операцию READ.
lExpression1
Когда в предложение VALID возвращается логическое значение, это значение игно ируется, а командные кнопки остаются текущим элементом управления. Впрочем, мож о задать пользовательскую функцию, возвращающую в предложение VALID логическое значение и при этом активизирующую другой элемент управления.
nExpression
Задает элемент управления, который следует активизировать после нажатия к опки. Подробнее об элементах управления см. Элементы управления и объекты.
Выражение nExpression определяет одну из следующих трех ситуаций.
Если nExpression = 0, нажатая командная кнопка остается активной кнопкой.
Если значение nExpression положительно, оно указывает количество элементов управления, на которое сле ует продвинуться. Например, если выбрана последняя кнопка в группе командных к опок и VALID возвращает 1, активизируется следующий элемент управления. Если з ачение nExpression больше числа оставшихся элементов управления, команда READ прекращается (если только не выдана команда READ CYCLE, активизирующая элементы управления).
Если значение nExpression отрицательно, оно задает количество элементов управления, на которое нужно ве нуться. Например, если выбрана первая кнопка в группе командных кнопок и VALID возвращает 1, активизируется предыдущий элемент управления. Если nExpression задает возврат далее первого элемента управления, команда READ прекращается (если только не выдана команда READ CYCLE, активизирующая элементы управления).
Следующий пример показывает, что можно сделать с помощью пользовательской фу кции. Пять кнопок отображаются вертикально в ряд. Нажатие той или иной кнопки используется при позиционировании указателя записи. Задан функциональный код N, чтобы операция READ не прекращалась при нажатии кнопки. Когда вы нажимаете к опку, выполняется пользовательская функция
gorec.CLOSE DATABASES
USE customer
SET TALK OFF
DEFINE WINDOW wOne FROM 3,5 TO 20,20 FLOAT DOUBLE COLOR SCHEME 5
ACTIVATE WINDOW wOne
@ 1,2 GET gnChoice FUNCTION '*NV Next;Prior;Top;Bottom;Quit';
SIZE 2, 10, 1 VALID GOREC( ) DEFAULT 1
READ CYCLE
CLEAR WINDOW
PROCEDURE gorec
DO CASE
CASE gnChoice = 1
SKIP
IF EOF( )
SKIP 1
ENDIF
CASE gnChoice = 2
SKIP 1
IF BOF( )
SKIP
ENDIF
CASE gnChoice = 3
GO TOP
CASE gnChoice = 4
GO BOTTOM
CASE gnChoice = 5
CLEAR READ
ENDCASE
@ 12,6 SAY ALLTRIM(STR(RECNO( )))
RETURN
WHEN lExpression2
Задает условие, в соответствии с которым командные кнопки можно нажимать то ько в том случае, если значением выражения lExpression2 является "истина" (.T.). Если значением lExpression2 оказывается "ложь" (.F.), командные кнопки нажимать нельзя, а если они распо ожены между другими элементами управления, они будут пропускаться.
COLOR SCHEME nSchemeNumber
Задает цвета командных кнопок. Если не задано предложение COLOR, цвета командн х кнопок будут определяться цветовой схемой основного окна Visual FoxPro; если командные кнопки предназначаются для пользовательского окна, то их цвета опре еляются цветовой схемой этого окна.
COLOR ColorPairList
Задает цвета для командных кнопок. В Visual FoxPro и FoxPro для Macintosh пред ожение COLOR не влияет на цвета командных кнопок; оно определяет только цвет сообщения (если сообщение не выдается в строку состояния).
В следующей таблице перечислены цветовые пары и контролируемые ими компоненты.
Номер цветовой пары
| Атрибут кнопки
|
5
| Сообщение
|
6
| Название нажатой кнопки (поддерживается только в FoxPro для MS-DOS).
|
7
| Клавиши доступа (поддерживается только в FoxPro для MS-DOS).
|
9
| Название доступной кнопки (поддерживается только в FoxPro для MS-DOS).
|
10
| Название недоступной кнопки (поддерживается только в FoxPro для MS-DOS).
|
Нажатая кнопка выделяется ярко-белым названием на синем фоне (W+/B).
Символы клавиши доступа изображаются красным цветом на синем фоне (R/B).
Доступные кнопки выделяются желтыми названиями на синем фоне (GR+/B).
Недоступные кнопки выделяются белыми названиями на синем фоне (W/B).
Если вы опускаете какую-либо цветовую пару, нужно поставить соответствующую ей запятую.
Итак, команды имеют следующий вид:
STORE 1 TO gnChoice
@ 2,2 GET gnChoice FUNCTION '* \<OK;\<CANCEL;\\DISABLED';
COLOR ,,,,,W+/B,R/B,,GR+/B,W/B
READ
Подробнее о цветовых схемах и цветовых парах см. Использование цветов.
Комментарии
В Visual FoxPro командные кнопки и группы командных кнопок создаются с помощью конструктора форм или DEFINE CLASS. Подробнее о совместимости элементов управления предыдущих версий FoxPro 2.x см. Элементы управления и объекты.
Подробнее о добавлении элементов управления к форме см. главу 9 "Создание фо м" Руководства разработчика и Добавление объекта в контейнерный класс.
Обычно командная кнопка используется для выдачи команды, запускающей выполне ие определенного действия. Запускаемая операция задается в предложении VALID. Командная кнопка активизируется путем выдачи команды READ или READ CYCLE.
В Visual FoxPro и FoxPro для Macintosh для командной кнопки можно задать назва ие или рисунок. См. описание предложений FUNCTION и PICTURE в разделе "Парамет ы".
В FoxPro для MS-DOS командная кнопка изображается в виде строки текста, зак юченной в угловые скобки. Например, кнопка Cancel выглядит как <Cancel>.
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.