Слайд 1Компоненты страницы Additional, их использование и свойства
Страница является дополнением страницы
Standard
и содержит ряд часто используемых компонентов общего назначения
Слайд 2ОАиП 2 курс 2 семестр
Управляющие кнопки BitBtn
Glyph – изображение
(Program Files\Common Files\Borland Shared\Images\Buttons)
Kind - список заранее подготовленных стандартных
кнопок
Layout – взаимное расположение картинки и текста
Используется для создания кнопок, на которых располагается битовая графика.
Слайд 3Для того чтобы создать новую форму, необходимо из меню File
выбрать пункт New, а затем Form.
Delphi создаст новую чистую форму.
Для того, чтобы переключаться между формами можно войти в менеджер проектов ( меню View-Project Manager) и дважды щелкнуть по нужной форме (Unit1 или Unit2).
Создание дочерних окон
ОАиП 2 курс 2 семестр
Слайд 4Дочерние окна могут быть модальные и не модальные.
Модальное - это
значит, что управление полностью передаётся ему. Как только программа натыкается
на код Form2.ShowModal, работа главной формы останавливается, и управление полностью передаётся дочерней форме. Пока модальное окно не закроется, главная форма работать не будет.
Для того чтобы создать не модальное окно, нужно вызвать метод Show. В этом случае главная форма создаст дочернее, показав его на экране, и продолжит выполняться дальше. Это позволяет работать с обеими формами одновременно, переключаться между ними и код обеих форм будет выполнятся как бы параллельно.
ОАиП 2 курс 2 семестр
Слайд 5ОАиП 2 курс 2 семестр
Работа с двумя формами. При
нажатии на кнопку Close пользователю предлагают сохранить изменения в файле,
выбрав – да, нет или отмену.
Слайд 7ОАиП 2 курс 2 семестр
Кнопка с фиксацией SpeedButton
Особенностью кнопок
SpeedButton являются свойства
GroupIndex (индекс группы),
AllowAllUp (разрешение отжатого состояния всех
кнопок
группы)
Down (исходное состояние — нажатое).
Если GroupIndex = 0, то кнопка ведет себя так же, как Button и BitBtn. При нажатии пользователем кнопки она погружается, а при отпускании возвращается в нормальное состояние. В этом случае свойства AllowAllUp и Down не влияют на поведение кнопки.
Кнопки SpeedButton имеют возможность отображения пиктограмм и могут использоваться как обычные управляющие кнопки или как кнопки с фиксацией нажатого состояния.
Слайд 8ОАиП 2 курс 2 семестр
Если есть несколько кнопок, имеющих
одинаковое ненулевое значение GroupIndex, то они образуют группу взаимосвязанных кнопок
из которых нажатой может быть только одна.
Если одна кнопка находится в нажатом состоянии и пользователь щелкает на другой, то первая кнопка освобождается, а вторая фиксируется в нажатом состоянии.
Поведение нажатой кнопки при щелчке на ней зависит от значения свойства AllowAllUp. Если оно равно true, то кнопка освободится. Если же AllowAllUp равно false, то щелчок на нажатой кнопке не приведет к изменению вида кнопки.
Слайд 9ОАиП 2 курс 2 семестр
Состояние кнопки во время выполнения
можно определить по значению свойства Down: если значение равно true,
то кнопка нажата.
Во время события OnClick значение Down уже равно тому состоянию, которое примет кнопка в результате щелчка на ней.
Слайд 10ОАиП 2 курс 2 семестр
Маскированная строка ввода (TMaskEdit)
Основное свойство
– EditMask
Слайд 11ОАиП 2 курс 2 семестр
Компоненты Image, Shape, Bevel
Delphi поддерживает
три типа файлов — битовые матрицы, пиктограммы и метафайлы.
Компонент Image
позволяет отображать информацию, содержащуюся в графических файлах всех указанных типов. Для этого служит его свойство Picture — объект типа TPicture.
Слайд 12ОАиП 2 курс 2 семестр
Если установить свойство AutoSize в
true, то размер компонента Image будет автоматически подгоняться под размер
помещенной в него картинки. Если же свойство AutoSize установлено в false, то изображение может не поместиться в компонент или, наоборот, площадь компонента может оказаться много больше площади изображения.
Другое свойство — Stretch позволяет подгонять не компонент под размер рисунка, а рисунок под размер компонента.
Свойство Picture позволяет также легко организовать обмен с графическими файлами любых типов в процессе выполнения приложения.
Это свойство является объектом, который имеет в свою очередь подсвойства, указывающие на хранящийся графический объект.
Слайд 13ОАиП 2 курс 2 семестр
Если в Picture хранится битовая
матрица, на нее указывает свойство Picture.Bitmap. Если хранится пиктограмма, на
нее указывает свойство Picture.Icon. На хранящийся метафайл указывает свойство Picture.Metafile. На графический объект произвольного типа указывает свойство Picture.Graphic.
Объект Picture и его свойства Bitmap, Icon, Metafile и Graphic имеют методы файлового чтения и записи LoadFromFile и SaveToFile:
procedure LoadFromFile(const FileName: string);
procedure SaveToFile(const FileName: string);
Для свойств Picture.Bitmap, Picture.Icon и Picture.Metafile формат файла должен соответствовать классу объекта: битовой матрице, пиктограмме, метафайлу.
При чтении файла в свойство Picture.Graphiс файл должен иметь формат метафайла.
Слайд 14ОАиП 2 курс 2 семестр
Компонент Shape представляет собой различные
геометрические фигуры, соответствующим образом заштрихованные. Основное свойство этого компонента —
Shape (форма), которое может принимать значения:
Слайд 15ОАиП 2 курс 2 семестр
Другое существенное свойство компонента —
Brush (кисть).
Это свойство является объектом типа TBrush, имеющим ряд
подсвойств, в частности:
цвет (Brush.Color)
стиль (Brush.Style) заливки фигуры.
Третье из специфических свойство компонента Shape — Pen (перо), определяющее стиль линий.
Color - цвет заливки;
Mode – режим отображения;
Style – стиль линии;
Width – толщина линии.
Слайд 16ОАиП 2 курс 2 семестр
Компонент Bevel.
Используется для рисования выступающих
или утопленных линий или прямоугольных рамок.
Стиль отображения Bevel определяется
свойством Style, которое может принимать значения bsLowered — утопленный, и bsRaised — приподнятый.
А контур компонента определяется свойством Shape, которое может принимать значения:
bsBox — прямоугольник,
bsFrame — рамка,
bsSpacer — пунктирная рамка,
bsTopLine, bsBottomLine, bsLeftLine, bsRightLine — соответственной верхняя, нижняя, левая и правая линии. В зависимости от значения Style линии могут быть утопленными или выступающими.
Слайд 17ОАиП 2 курс 2 семестр
Полоса разделения Splitter
Используется для создания
в приложении панелей с изменяемыми пользователем размерами.
Слайд 18ОАиП 2 курс 2 семестр
Полоса разделения Splitter
ResizeStyle - поведение
разделителя при перемещении его пользователем
По умолчанию это свойство равно rsPattern.
Это означает, что пока пользователь тянет курсором мыши границу, сам разделитель не перемещается и панели тоже остаются прежних размеров. Перемещается только шаблон линии, указывая место намечаемого перемещения границы. Лишь после того, как пользователь отпустит кнопку мыши, разделитель переместится и панели изменят свои размеры.
Практически такая же картина наблюдается, если установить ResizeStyle = rsLine.
При ResizeStyle = rsUpdate в процессе перетаскивания границы пользователем разделитель тоже перемещается и размеры панелей все время меняются.
Слайд 19ОАиП 2 курс 2 семестр
MinSize - минимальный размер в
пикселах обеих панелей, между которыми зажат разделитель
Cursor – вид курсора
при наведении
Height – высота разделяющей полосы
Компонент Splitter имеет событие OnMoved, которое наступает после конца перемещения границы. В обработчике этого события можно предусмотреть, если необходимо, упорядочение размещения компонентов на панелях, размеры которых изменились: переместить какие-то метки, изменить размеры компонентов и т.д.
Слайд 20ОАиП 2 курс 2 семестр
Многострочный текст (TStaticText)
В метке StaticText
перенос длинного текста осуществляется автоматически, если значение AutoSize установлено в
false и размер компонента достаточен для размещения нескольких строк.
Слайд 21ОАиП 2 курс 2 семестр
Таблица строк StringGrid
Компонент StringGrid представляет
собой таблицу, содержащую строки. Данные таблицы могут быть только для
чтения или редактируемыми. Таблица может иметь полосы прокрутки, можно задать заголовки столбцов и строк. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.
Слайд 22ОАиП 2 курс 2 семестр
Основные свойства компонента, определяющие отображаемый
текст:
Cells[ACol, ARow: Integer]: string
Строка, содержащаяся в ячейке с индексами
столбца и строки ACol и ARow.
Cols[Index: Integer]: Tstrings
Список строк, содержащихся в столбце с индексом Index.
Rows[Index: Integer]: Tstrings
Список столбцов, содержащихся в строке с индексом Index.
Слайд 23ОАиП 2 курс 2 семестр
Свойства StringGrid
ColCount и RowCount -
число столбцов и строк.
FixedCols и FixedRows — число фиксированных, не
прокручиваемых столбцов и строк.
Color и FixedColor - цвет фона обычных и фиксированных ячеек.
ScrollBars определяет наличие в таблице полос прокрутки.
DefaultColWidth и DefaultColHeight – ширина и высота ячеек.
Слайд 24ОАиП 2 курс 2 семестр
Свойство Options – множество свойств
наличие
разделительных линий в фиксированных ячейках
(goFixedVertLine и goFixedHorzLine)
и не фиксированных ячейках
(goVertLine и goHorzLine)
возможность для пользователя изменять с помощью мыши размеры столбцов и строк
(goColSizing и goRowSizing)
возможность перемещать столбцы и строки
(goColMoving и goRowMoving)
возможность редактировать содержимое таблицы (goEditing)
и т.д.
Слайд 25ОАиП 2 курс 2 семестр
Заполнить таблицу 4х5 значениями 1..20
CeIls[ACol,
ARow: Integer]: string - обращение к ячейке с индексами
столбца и строки ACol и ARow.
Слайд 26ОАиП 2 курс 2 семестр
Программа подсчитывает сумму заказа клиента
Слайд 27ОАиП 2 курс 2 семестр
По созданию формы заполняем таблицу
StringGrid
Слайд 28ОАиП 2 курс 2 семестр
Процедура подсчета общей суммы заказа
Слайд 29ОАиП 2 курс 2 семестр
Обработка события выделения ячейки таблицы