Реферат: Разработка игровой программы Морской бой

TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll);

Для каждой из них определены: передаваемый форме результат (ModalResult):

BitBtnModalResults: array[TBitBtnKind] of TModalResult =

(0, mrOk, mrCancel, 0, mrYes, mrNo, 0, mrAbort, mrRetry, mrlgnore, inrAll);

а также название и картинки для разных состояний. Достаточно установить значение свойства Kind, и кнопка сразу приобретет нужный вид. Более того, некоторые из видов кнопок при нажатии сразу совершают опре­деленные действия. Так, bkHelp осуществляет инициализацию системы помощи со своим (или ближайшим ненулевым родительским) контекстом. Кнопка вида bkClose закрывает форму, которой она принадлежит, вызывая ее метод Close.

Кнопка будет отнесена к виду bkCustom, если она:

  1. назначена Default, но при этом не принадлежит множеству [bkOk, bkYes];

  2. назначена Cancel, но не принадлежит множеству [bkCancel, bkNo];

  3. у нее изменена пиктограмма;

  4. модальный результат не соответствует определенному для этого вида кно­пок.

За внешний вид этой кнопки отвечают свойства, рассмотренные ниже. Стиль изображения кнопок в зависимости от операционной системы задается свойством:

(Pb) property Style: TButtonStyle;

TButtonStyle = (bsAutoDetect, bsWin31, bsNew);

Стиль bsNew соответствует Windows 95. В любом случае корректным будет применение стиля bsAutoDetect, который сам распознает версию системы. Пиктограмма кнопки, которая вместе с текстом видна на ее поверхности, определяется свойством:

(Pb) property Glyph: TBitmap;

Для создания эффекта нажатия картинка должна немного изменяться в зависимости от состояния; кроме того, отдельная картинка нужна для неактивного состояния (когда нажатие не воспринимается). В свойстве Glyph должна быть одна битовая карта, но она может содержать картинки сразу для нескольких состояний кнопки (максимум четыре). Они интерпретируются как соответствующие нормальному (отжатому), запрещенному (неактивному), нажатому и утопленному состояниям (последнее применяется только для кнопок TSpeedButton). Для этого картинки должны быть расположены подряд вплотную по горизонтали. Например, при размере картинок 16х16 нужна объединенная битовая карта 64х16. Если каждая из картинок квадратная и ширина общей картинки нацело делится на высоту, то при присвоении ее свойству Glyph система сможет распознать их и скорректировать количество, определяемое свойством:

(Pb) property NumGlyphs: TNumGlyphs ;

TNumGlyphs = 1..4;

При отрисовке в зависимости от состояния из большой битовой карты будет использована нужная часть.

Три свойства отвечают за расположение текста и картинки на поверхности кнопки:

(Pb) property Layout: TButtonLayout;

Способ выравнивания пиктограммы относительно краев кнопки. Может быть одним из четырех:

TButtonLayout = (biGlyphLeft, biGlyphRight, biGlyphTop, biGlyphBottom);

Расстояние от соответствующего способу выравнивания края кнопки до пикто­граммы описывается свойством:

(Pb) property Margin: Integer;

Промежуток между пиктограммой и текстом равен:

(Pb) property Spacing: Integer;

Если свойства Margin, Spacing или оба не заданы (по умолчанию равны -1), значения этих промежутков выбираются системой. Кнопка также имеет метод Click и свойства Caption, ModalResult, Default и Cancel. Статус Default получают кнопки видов bkOk, bkYes, a Cancel — кнопки видов bkCancel, bkNo.


1.2.5. Компонент TSpeedButton


К-во Просмотров: 270
Бесплатно скачать Реферат: Разработка игровой программы Морской бой