Турбо Паскаль 6.0

       

Кнопки.


4 прямоугольника с правой стороны окна - наиболее интересная часть диалогового окна Hello, World! Они называются кнопками и введены для примера элементов управления. Они называются кнопками, поскольку они сходны с кнопками электронных приборов. Каждая кнопка имеет метку, которая указывает, что случится, когда эта кнопка нажата. Вы нажимаете на кнопку, выбрав ее мышкой или сделав кнопку кнопкой по умолчанию (объяснено позже в этом разделе) и нажав Enter. Попытайтесь нажать одну из кнопок мышкой и посмотрите что случится. Тело кнопки передвигается на 1 позицию вправо и ее тень исчезает. Это создает иллюзию, что кнопка была нажата на экране. Когда Вы отпускаете кнопку мышки, выполняется действие, связанное с этой кнопкой. Заметьте, что надпись внутри кнопки Cancel выведена другим цветом, чем остальные кнопки. Отличие в цвете указывает на то, что кнопка Cancel является кнопкой по умолчанию внутри диалогового окна. Если Вы нажмете Enter, когда Cancel по умолчанию, действие будет таким же, как при нажатии кнопки Cancel. (Монохромные системы указывают кнопку по умолчанию символами ">> <<".) Кнопка по умолчанию внутри диалогового окна изменяется нажатием клавиши Tab. Попробуйте использование Tab внутри диалогового окна Hello, World! Цвет кнопки по умолчанию передвигается от одной кнопки к другой при каждом нажатии клавиши Tab. Это позволяет пользователю нажимать кнопку без использования мышки, передвигая умолчание к требуемой кнопке с помощью клавиши Tab и нажимая Enter или пробел, чтобы "нажать" кнопку.


Один из простейших объектов управления - TButton. Он работает во многом аналогично элементу строки статуса: это закрашенная область с текстовой меткой и, если Вы отметите ее, она генерирует команду. Существует так же тень от кнопки, так, что если Вы отметите кнопку, она создает эффект движения. Большинство диалоговых окон имеет, по крайней мере, одну или две кнопки. Наиболее общие кнопки "OK" (означающая "Я все сделал. Вы можете закрыть диалоговое окно и использовать результаты.") и "Cancel" (означающая "Я хочу закрыть диалоговое окно и игнорировать изменения, сделанные в нем"). Кнопка Cancel обычно генерирует ту же команду cmCancel, что и закрывающая кнопка. Модуль Dialogs определяет 5 стандартных диалоговых команд, которые могут быть связаны с TButton: cmOK, cmCancel, cmYes, cmNo, cmDefault. Первые 4 команды так же закрывают диалоговое окно, вызывая метод EndModel из TDialog, который восстанавливает предыдущий модальный видимый элемент в статус модальности. Вы можете так же использовать кнопки для генерации команд, специфичных для Вашей программы.

{ TVGUID13.PAS }

procedure TMyApp.NewDialog; var Dialog: PDialog; R: TRect; Control: Word; begin R.Assign(20, 6, 60, 19); Dialog := New(PDialog, Init(R, 'Demo Dialog')); with Dialog^ do begin R.Assign(15, 10, 25, 12); Insert(New(PButton, Init(R, '~O~K', cmOK, bfDefault))); R.Assign(28, 10, 38, 12); Insert(New(PButton, Init(R, 'Cancel', cmCancel, bfNormal))); end; Control := DeskTop^.ExecView(Dialog); end;

Создание кнопки требует 4 параметров в констракторе Init: 1. Область, закрываемая кнопкой (не забудьте оставить место для тени!). 2. Текст, который появляется в кнопке. 3. Команда, связанная с кнопкой. 4. Флаг типа кнопки. (Нормальная или по умолчанию)

Рис. 2.8. Диалоговое окно с кнопками.

+=[ю]======= Demo Dialog Box =========+ | | | | | | | | | | | | | | | OK m Cancel m | | ^^^^^^^^ ^^^^^^^^ | +=====================================+

Заметим, что Вы не подсвечиваете "С" в "Cancel", поскольку уже определена горячая клавиша (Esc) для отмены диалогового окна. Это освобождает "С" для сокращенного ввода других элементов управления.




Объект TButton - это помеченный прямоугольник, используемый для генерации события с заданной командой при ее "нажатии". Обычно они размещаются внутри (принадлежат) диалоговых окон, предоставляя такие выборы как "OK" или "Cancel". Диалоговое окно - это обычно модальный видимый элемент, который при появлении перехватывает и обрабатывает все события, включая события от его кнопок. Обработчик событий предоставляет несколько способов нажатия кнопки: выбором прямоугольника кнопки мышкой, нажатием короткого символа или выбором кнопки по умолчанию клавишей Enter.



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий