3.2.1. TBitBtn - кнопка с изображением
Пиктографическая кнопка TBitBtn представляет собой популярную разновидность стандартной кнопки TButton. Ее отличительная особенность - свойство Glyph, с помощью которого определяется растровое изображение, рисуемое на поверхности кнопки. В состав поставки Delphi входит множество рисунков, разработанных специально для размещения в этих кнопках (по умолчанию для старших версий Delphi эти рисунки размещаются в папке program Files |
Свойство Kind определяет одну из 11 стандартных разновидностей кнопки, показанных на рис. 3.19.
Рис. 3.20. Разновидности кнопок TBitBtn
Нажатие любой из них, кроме bkCustom и bkHelp, закрывает модальное окно и возвращает в программу результат mrxxx: bkОk - mrОk, bkCancel - mrCancel и т. д. Кнопка bkClose для модального окна возвращает mrCancel, а для главного окна программы - закрывает его и завершает работу программы. Кнопка bkHelp автоматически вызывает раздел справочной службы, связанный с Helpcontext формы, на которую она помещена. Если у кнопки была изменена пиктограмма Glyph, Delphi автоматически присвоит ей Kind=bkCustom. Это произойдет также в случае, когда кнопка указана как умалчиваемая (Defauit=True), но Kind не содержит bkOk или bkYes, а также если ее свойство Cancel содержит True, a Kind нe содержит bkCancel или bkNo.
Свойства Cancel, Default и ModalResult кнопка TBitBtn унаследовала у своего родительского класса TButton, остальные специфичные свойства указаны ниже:
Свойство | Описание |
property Glyph: TBitmap; TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklg-nore, bkAll) ; property Kind: TBitBtnKind; | Определяет от 1 до 4 связанных с кнопкой растровых изображения. Определяет разновидность кнопки |
TButtonLayout = (bIGlyphLeft, bIGlyphRight, bIGlyphTop, bIGlyphBottom) ; property Layout: TButtonLayout; | Определяет край кнопки, к которому прижимается пиктограмма: blGlyphLeft - к левому; blGlyphRight- к правому; blGlyphTop - к верхнему;blGlyphBottom - к нижнему) |
property Margin: Integer; | Определяет расстояние в пикселях от края кнопки до пиктограммы |
TNumGlyphs: 1..4 ; property NumGlyphs: TNumGlyphs; | Определяет количество растровых изображений |
property Spacing: Integer; | Определяет расстояние в пикселях от пиктограммы до надписи на кнопке |
TByttonStyle = (bsAutoDetect, bsWinSI, bsNew) ; property Style: TButtonStyle; | Определяет стиль оформления кнопки, зависящий от операционной системы. Стиль bsNew соответствует 32-разрядным версиям Windows. Стиль bsAutoDetect изменяет оформление кнопки в зависимости от ОС, под управлением которой работает программа в данный момент |
При разработке собственных растровых изображений для использования в кнопках следует учесть, что изображения должны меняться при изменении состояния кнопки. Таких состояний может быть четыре: нормальное, запрещенное, нажатое и утопленное (последнее используется только в кнопках TSpeedButton). В соответствии с этим разрабатывается до 4 пиктограмм, расположенных по горизонтали ввиде одного длинного растра. Например, стандартный размер пиктограммы для размещения на кнопке равен 16х16 пикселей. Если создаются 3 пиктограммы, размер растра должен составлять 48х16. Количество пиктограмм в растре задается свойством NumGlyphs. Если каждая; пиктограмма - квадратная и длина растра делится без остатка; на его высоту, Delphi автоматически распознает количество пиктограмм. Если задана только одна пиктограмма, ее изображение, меняется автоматически: в состоянии “нажатая” пиктограмма смещается на один пиксель вправо и, вниз, а в состоянии “запрещенная” все цвета, кроме черного, меняются на светло-серый, а черный на белый, что обеспечивает эффект "вдавленности" изображения. Следует так же учесть, что самый левый нижний пиксель растра определяет цвет прозрачности: на кнопке этот цвет будет заменяться цветом поверхности кнопки.
Как и в кнопках TButton, программист не может управлять цветом поверхности кнопки, но в отличие от TButton может менять цвет надписи на ней. С помощью свойства Default кнопку можно сделать умалчиваемой - в этом случае нажатие Enter автоматически вызывает обработчик ее события OnClick. Однако умалчиваемыми можно сделать только кнопки bkYes и bkNo, остальные значения свойства Kind будут заменяться на bkCustom при размещении в Default значения True и наоборот - в Default автоматически помещается False при установке в Kind любого значения, кроме bkYes, bkNo или bkCustom.
- Методическое пособие для самостоятельных работ «Основы интегрированной среды программирования delphi6»
- 6.100301 "Судовождение",
- 6.100302 "Эксплуатация судовых энергетических установок"
- 6.092201 "Электрические системы и комплексы транспортных средств",
- Введение
- Глава 1. Интегрированная среда Delphi. Принципы работы
- 1.1. Интегрированная среда Delphi
- 1.2. Принципы визуального программирования
- Val(Edit1.Text,k1,sign);
- Val(Edit2.Text,k2,sign);
- Val(MaskEdit1.Text,r1,sig);
- Val(МaskEdit2.Text,r2,sig);
- 1.3. Событийно-управляемые программы
- 1.4. Составление программ обработки массивов
- I :integer;
- I, j :integer;
- 1.5. Вывод на печать
- Глава 2. Общие свойства компонентов
- 2.1. Иерархия компонентов
- 2.2. Имена и собственники компонентов
- 2.3. Родительские и дочерние компоненты
- 2.4. Положение, размеры и оформление компонентов
- 2.5.Указатели мыши
- 2.3. Окно редактора с готовым изображением указателя
- 2.6. Реакция на события от мыши и клавиатуры
- 2.6.1. События от мыши
- 2.6.2. События от клавиатуры
- 2.6.3. Клавиатура в ms-dos и Windows
- 2.6.4. Фокус ввода
- 2.7. Механизм действий Action
- 2.8. Иинтерфейс Drag&Drop
- 2.9. Иинтерфейс Drag&Dock
- 2.10. Поддержка справочной службы
- 2.11. Поддержка Сом
- 2.12. Свойства разного назначения
- Глава 3. Использование компонентов общего назначения
- 3.1. Компоненты страницы Standard
- 3.1.1. TFrame - рама и шаблоны компонентов
- 6) Окно регистрации рамы в палитре компонентов
- 3.1.2. Создание шаблонов без рам
- 3.1.3. TMainMenu - главное меню формы (программы)
- 3.1.4. TPopupMenu - вспомогательное (локальное) меню
- 3.1.5. TLabel - метка для отображения текста
- 3.1.6. TEdit - ввод и отображение строки
- 3.1.7. TMemo - ввод и отображение текста
- 3.1.8. TButton - кнопка
- 3.1.9. TCheckBox - независимый переключатель
- 3.11. Компонент tCheckBox - независимый переключатель
- 3.1.10. TRadioButton - зависимые переключатели
- 3.1.11. TListBox - список выбора
- 3.1.12. TComboBox – комбинированный или раскрывающийся список выбора
- 3.1.13. TScrollBar - управление значением величины
- 3.1.14. TGroupBox - панель группирования
- 3.1.15. TRadioGroup - группа зависимых переключателей
- 3.1.16. TPanel - панель
- 3.1.17. TActionList - механизм действий
- 3.2. Компоненты страницы Аdditional
- 3.2.1. TBitBtn - кнопка с изображением
- 3.2.2. TSpeedButton - кнопка для инструментальных панелей
- 3.2.3. TMaskEdit - специальный редактор
- 3.2.4. TStringGrid - таблица строк
- 3.2.5. TDrawGrid - произвольная таблица
- 3.2.6. TImage - отображение картинок
- 3.2.7. TShape - стандартная фигура
- 3.2.8. TBevel - кромка
- 3.2.9. TScrollBox - панель с прокруткой
- 3.2.10. TСheckListBox - группа независимых переключателей
- 3.2.11. TSplitter - компонент для изменения размеров
- 3.2.12. TStaticText - метка для отображения текста
- 3.2.13. TControlBar - инструментальная панель
- 3.2.14. TApplicationEvents - обработчик сообщений Windows
- 3.2.15. TValueListEditor - специализированный редактор строк
- 3.2.16. TLabelEdit - однострочный редактор с меткой
- 3.2.17. TColorBox - список выбора цвета
- 3.2.18. TChart - построитель графиков
- 3.2.19. TActionManager - менеджер действий
- 3.2.20. TActionMainMenuBar - полоса меню для действий
- 3.2.21. TActionTollBar - полоса кнопок для действий
- 3.2.22. TCustomizeDIg - диалог настройки интерфейса
- Глава 4. Многодокументный и однодокументный интерфейсы (mdi и sdi)
- 4.1. Mdi и sdi: сравнение
- 4.2. Разработка mdi—приложений
- 4.2.1. Разработка главного и информационного окон
- 4.2.2. Использование стандартных диалоговых окон
- If OpenDialog1.Execute then
- 4.2.3. Разработка диалогового окна
- Var dlg6:tokRightDlg;
- X1,x2,x3:String;
- If b1 or b2 then
- 4.2.4. Управление окнами
- I:integer;
- I:integer;
- 4.2.5. Работа с меню
- Var tf5:tForm2;
- 4.3. Разработка sdi–приложения
- 4.3.1. Простое sdi–приложение
- I,j :byte;
- I,j :byte;
- I,j :byte;
- 4.3.2. Управление окнами в sdi–приложениях
- I :byte;
- Var I :byte; ptr6 :tForm2;
- I :byte;
- Глава 5. Реализация алгоритмов решаемых задач на Delphi
- 5.1. Традиционный подход реализации алгоритмов на Delphi
- 5.2. Объектно-ориентированный подход
- Val(Edit1.Text,k,sig);
- Val(Edit2.Text,l,sig);
- I,j :byte;
- I,j :integer;
- Inherited Create (Ni,Nj);
- Val(Edit1.Text, p, sig1);
- Val(Edit2.Text, q, sig2);
- Val(Edit3.Text, r, sig3);
- Vas :real;
- Val(Edit4.Text,n,sig);
- Глава 6. Тестирование и отладка приложений
- 6.1. Виды ошибок
- 6.2. Отладочные средства Delphi
- 6.3. Составление тестов
- Глава 7. Исключительные ситуации
- 7.1. Обработка исключительных ситуаций
- I, j, k : integer;
- I:integer;
- I, j, k : integer;
- 7.2. Обработка определенных исключительных ситуаций
- Var I,j,k :shortint; p,q :real;
- Заключение
- Литература
- Методическое пособие для самостоятельных работ «Основы интегрированной среды программирования delphi6»
- 6.100301 "Судовождение",
- 6.100302 "Эксплуатация судовых энергетических установок"
- 6.092201 "Электрические системы и комплексы транспортных средств",