Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2

Кент Рейсдорф. BORLAND C++BUILDER. Страница 228

Таблица 8.7 Константы VCL для ModalResult

Имя константы Значение
mrNone 0
mrOk 1
mrCancel 2
mrAbort 3
mrRetry 4
mrlgnore 5
mrYes 6
mrNo 7
mrAII 8

На прилагаемом к книге компакт-диске находится программа ButtnTst, демонстрирующая использование свойства ModalResult. Программа отображает форму с несколькими кнопками. Когда вы нажимаете одну из кнопок, значение ModalResult возвращается главной форме.

Свойство Default

Свойство Default — другое ключевое свойство кнопок. Windows имеет стандартный механизм работы с диалоговыми окнами. Одно из правил работы этого механизма звучит следующим образом: если фокус ввода с клавиатуры находится в элементе управления, который не является кнопкой, и пользова­тель нажал на клавиатуре Enter, диалоговое окно будет вести себя так, как если бы пользователь нажал кнопку по умолчанию (default button). Заданная по умолчанию кнопка — это кнопка, для которой установлен стиль BS_DE- FPUSHBUTTON (обычно это кнопка ОК). Эта особенность Windows в течение многих лет была проклятием программистов и пользователей, занимающихся вводом данных. Свойство Default используется для определения заданной по умолчанию кнопки формы. По умолчанию оно имеет значение false. Чтобы сделать кнопку заданной по умолчанию, установите для свойства Default зна­чение true. Если вы специально не устанавливали свойство Default ни для одной кнопки, форма не будет закрываться при нажатии клавиши Enter.

Свойство Cancel

Свойство Cancel работает с клавишей Esc аналогично тому, как свойству Default работает с клавишей Enter. Когда пользователь нажимает Esc, чтобы закрыть форму, возвращаемое ShowModal() значение будет значением свойства ModalResult той кнопки, для которой свойство Cancel установлено в true. Если ни у одной кнопки формы свойство Cancel не имеет значения true, то при закрытии формы по клавише Esc будет возвращено значение mrCancel (mrCan- cel равно 2; см. таблицу 8.7).

Web-дизайн (с) 2010 All rights reserved