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

         

TButton Dialogs


+-----------+ | TObject | +-----+-----+ +-----+-----+ | TView | +-----+-----+ +=====+=====+ | TButton | +===========+

Объект TBuuton - это прямоугольник с заголовком и тенью, генерирующий команду при нажатии. Эти кнопки интенсивно используются в IDE. Кнопка может быть выбрана нажатием подсвеченной буквы, переходом на кнопку с помощью Tab и нажатием пробела, нажатием Enter, когда кнопка по умолчанию (указывается подсветкой) или отметкой кнопки мышкой. При цветной и черно-белой палитрах кнопка имеет трехмерный вид, который изменяется при нажатии. На монохромных системах кнопка выделена стрелками и другие ASCII символы используются для указания, является ли кнопка по умолчанию выбранной и т.д. Как и другие элементы управления, определенные в модуле Dialogs, TButton - это терминальный объект. Он может быть вставлен в любую группу и использован без перекрытия его методов. Кнопка инициализируется передачей ей TRect строки заголовка, команды, генерируемой при нажатии кнопки и байта флагов. Чтобы определить для кнопки клавишу короткого набора, строка заголовка может содержать "~" вокруг одного из символов, который становится символом короткого набора. Параметр AFlag указывает, будет заголовок центрироваться или выравниваться по левой границе и должна ли кнопка быть умалчиваемой (и следовательно выбираться через Enter). Вы можете установить в окне или диалоговом окне только одну кнопку по умолчанию в любой момент времени. Кнопки, которые равны в группе, получают и отдают умалчиваемое состояние через сообщения evBroadcast. Кнопки могут быть разрешены или запрещены с использованием методов SetState и CommandEnabled.

Поля

Title Title: PString; Только чтение Указатель на текст кнопки.

Command Commаnd: Word; Только чтение Слово команды в событии, генерируемом при нажатии кнопки. См. так же: TButton.Init, TButton.Load

Flags Flags: Byte; Чтение/Запись Flags - это поле, используемое для указания, будет ли текст кнопки центрироваться или выравниваться влево. Отдельные флаги описаны в разделе "Константы флага кнопки bfXXXX" главы 14. См. так же: TButton.Draw, константы bfXXXX


AmDefault AmDefault: Boolean; Только чтение Если True, кнопка - по умолчанию (и следовательно выбирается при нажатии Enter). Иначе - это "нормальная" кнопка. См. так же: Константы флага кнопки bfXXXX

Методы

Init constructor Init(var Bounds: TRect; ATitle: TTitleStr; ACommand: Word; AFlags: Byte); Создает объект TButton с заданным размером, вызывая TView. Init. Вызывается NewStr(ATitle) и назначается в Title. AFlags используется в двух целях: если AFlags and bfDefault - не 0, то AmDefault устанавливается в True; кроме того, AFlags указывает, будет заголовок центрироваться или выравниваться влево проверкой если AFlags and bfLeftJust не 0. Options устанавливается в (ofSelectable + ofFirstClick + ofPreProcess + ofPostProcess). EventMask устанавливается в evBroadсast. Если данная ACommand не разрешена, в поле State устанавливается sfDisabled. См. так же: TView.Init, константы флага кнопки bfXXXX

Load constructor Load(var S: TStream); Создает объект TButton и инициализирует его из заданного потока, вызывая TView.Load(S). Другие поля устанавливаются через вызовы S.Read, а State устанавливается в соответствии с тем, разрешена ли команда в поле Command. Используется совместно с TButton.Store для сохранения и получения объекта в TButton из TStream. См. так же: TView.Load, TButton.Store

Done destructor Done; virtual; Перекрывается: Никогда Освобождает память, распределенную под Title, затем вызывает TView.Done для разрушения видимого элемента. См. так же: TView.Done

Draw procedure Draw; virtual; Перекрывается: Редко Рисует кнопку соответствующей палитрой для ее текущего состояния (нормальная по умолчанию запрещена) и позиционирует метку в соответствии с битом bfLeftJust поля Flags.

GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию CButton.

HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Иногда Отвечает на нажатие одним из трех способов: отметкой кнопки мышкой, нажатием короткой клавиши или становится кнопкой по умолчанию, когда получено общее сообщение cmDefault. Когда кнопка нажата, генерируется командное событие с TView.PutEvent, с полем TButton.Command: установленным в Event.Command, а Event.InfoPtr установленным в @Self. Кнопки так же распознают общие команды cmGrabDefault и cmReleaseDefault, чтобы стать или "не стать" кнопкой по умолчанию и cmCommandSetChanged, которая заставляет их проверять, разрешены команды или запрещены. См. так же: TView.HandleEvent



MakeDefault procedure MakeDefault(Evable: Boolean); Этот метод ничего не делает, если кнопка уже умалчиваемая. Иначе говорит Owner в кнопке измениться в состояние по умолчанию. Если Enable True, выдается общая команда cmGrebDefault, иначе cmReleaseDefault. Кнопка перерисовывается, чтобы показать новый статус. См. так же: TButton.AmDefault, bfDefault

SetState procedure SetState(AState: Word; Enable: Boolean); virtual; Перекрывается: Редко Вызывает TView.SetState, затем рисует кнопку, если кнопка стала sfSelected или sfActive. Если она стала активной (т. е. если AState - sfFocused) кнопка забирает или отдает состояние по умолчанию кнопке по умолчанию, вызывая MakeDefault. См. так же: TCView.SetState, TButton.MakeDefault

Store procedure Store(var S: TStream); Сохраняет объект TButton в потоке, вызывая TView.Store(S), а затем S.Write для сохранения значений Title и Command. Используется совместно с TButton.Load для сохранения и получения объектов TButton из потока. См. так же: TView.Store, TButton.Load, TStream.Write

Палитра

Объект кнопка использует палитру по умолчанию CButton для отображения элементов от 10 до 15 в палитру CDialog.

1 2 3 4 5 6 7 8 +====+====+====+====+====+====+====+====+ CButton | 10 | 11 | 12 | 13 | 14 | 14 | 14 | 15 | +==+=+==+=+==+=+==+=+==+=+==+=+==+=+=+==+ Нормальный --+ | | | | | | + Тень текст | | | | | | Текст по ------+ | | | | +---- Выбранная умолчанию | | | | короткая клавиша Выбранный ----------+ | | +--------- Короткая клавиша текст | | по умолчанию Запрещенный ---------------+ +-------------- Выбранная текст нормальная клавиша


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