Некоторые приемы, полезные при размещении компонентов в форме.
Тема 3. Ввод и вывод различными способами Приложение (файлы PrInputOutput.dpr, InputOutpur.pas, InputOutput.dfm) демонстрирует: см.комментарии в коде приложения. Разработка интерфейса начинается с заполнения формы необходимыми компонентами. Сама форма - это компонент-контейнер (в ней располагаются другие компоненты). Все компоненты, добавленные в форму во время проектирования, становятся дочерними для формы. В приложении форма и ее компоненты рассматриваются как объекты, над которыми производятся различные действия. Поэтому большая часть работы по созданию и компоновке приложения в Turbo Delphi сводится к выбору компонентов, размещению их на форме с помощью мыши и назначению их свойств. Главной задачей программиста в Turbo Delphi является изучение возможностей всех компонентов. Чтобы разместить на форме компонент, необходимо в окне Tool Palette щелкнуть на кнопке с нужной пиктограммой, затем щелкнуть в той точке формы, где будет находиться правый верхний угол компонента. В результате этих действий на форме появится компонент стандартного размера.
Настройка приложения (назначение свойств компонентов) производится на вкладке Properties Object Inspector’а.
Некоторые общие свойства компонентов: - Name -логическое имя компонента в коде. Изменять его можно только при создании приложения. Свойству Name Turbo Delphi назначит имя по умолчанию (например, Memo1, ComboBox1 и т.д.). Большинство стандартных имен довольно удобны. Но, с другой стороны, присваивая компонентам такие имена, которые связаны с их функциями, можно легче ориентироваться в коде приложения. - Enabled -доступность компонента; - Visible -видимость компонента; - AutoSize -автоматическое изменение размера компонента при изменении его содержимого;
- Hint – текст подсказки при задержки мыши на элементе управления; - Left, Top -(x,y)-координаты элемента управления относительно его родителя; - Width – ширина компонента; - Height – высота компонента. Следует заметить, что форма имеет свойства СlientWidth:integer и ClientHeight:integer – ширина и высота клиентской области формы соответственно. Клиентская область – это область формы за вычетом заголовка и линеек прокрутки.
Компоненты для работы с текстом Для отображения и редактирования текста могут быть использованы следующие компоненты: Компонент Label (Метка, вкладка Standard) отображает нередактируемый текст. Он может быть использован как надпись для других объектов. Текст отображается в свойстве Caption. Для отображения нескольких строк в поле метки необходимо установить свойства: AutoSize=False, WordWrap=True.
Компонент Edit (вкладка Standard) – однострочное поле редактирования, позволяющее отображать, редактировать и вводить с помощью клавиатуры текст. Некоторые свойства этого компонента приведены в таблице 1: Таблица 1 Свойство Описание MaxLength:integer Максимальная длина текста. Если это значение равно 0, то ограничение не установлено ReadOnly:Boolean Определяет возможность изменения текста Text:tCaption Содержит отображаемый и редактируемый текст SelText:string Содержит выделенный фрагмент текста SelLength:integer Количество выделенных символов SelStаrt:integer Номер (с 0) первого выделенного символа
Компонент LabeledEdit (вкладка Additional) – однострочное поле редактирования с меткой, позволяющее отображать, редактировать и вводить с помощью клавиатуры текст. Текст метки содержит свойство EditLabel.Caption.
Компонент Memo (вкладка Standard) – многострочное поле редактирования, позволяющее отображать, редактировать и вводить с помощью клавиатуры текст. . Некоторые свойства этого компонента приведены в таблице 2: Таблица 2 Свойство Описание
MaxLength:integer Максимальная длина текста. Если это значение равно 0, то ограничение не установлено ReadOnly:Boolean Определяет возможность изменения текста Lines:tStrings Содержит отображаемый текст SelText:string Содержит выделенный фрагмент текста WordWrap:Boolean Определяет перенос не умещающейся справа строки на следующую Строку ScroolBars Линейки прокрутки
Заполнять компонент текстом можно как на этапе проектирования (подключив редактор свойства Lines), так и во время выполнения приложения.
Командные кнопки Компонент Button (вкладка Standard) – стандартная командная кнопка, содержащая заголовок. Текст заголовка фиксируется свойством Caption:tCaption. Следует отметить, что цвет компонента t Button изменить нельзя.
Компонент BitBtn (вкладка Additional) – командная кнопка, которая может содержать заголовок и изображение. Свойство Glyph:tBitmap определяет изображение (имя.bmp-файла), отображаемое на кнопке. Для того, чтобы установить значение этого свойства, достаточно в Object Inspector в строке с именем свойства щелкнуть на кнопке с тремя точками. В результате появится Picture Editor, в котором следует нажать кнопку L oad (Загрузить), после чего переместиться по пути …Program Files\Common Files\Borland Shared\Images\Buttons и выбрать подходящую пиктограмму (.bmp-файл). Для определения значения свойства во время выполнения следует вставить код Glyph.LoadFromFile (‘путь и имя.bmp-файла’). Используя свойство Kind:tBitBtnKind, можно создавать предопределенные кнопки, такие, как OK, Cancel, Close и другие. Выбрать их можно из раскрывающегося списка этого свойства (например, bkClose, которое позже можно заменить на русскоязычное (например, В ы ход)).
Флажки (переключатели) и радиокнопки
Компонент CheckBox (вкладка Standard) – это переключатель, который может находиться в одном из двух состояний: «установленный» или «сброшенный». Рядом с переключателем может находиться поясняющий текст (заголовок флажка), который устанавливается свойством Caption:tCaption. Свойство Checked:Boolean определяет, в каком состоянии (установленном или сброшенном) флажок появляется в форме. Во время выполнения это свойство может изменять свое значение (из кода или вручную).
Компонент RadioGroup (вкладка Standard) – реализует группу радиокнопок, в которой одновременно может быть выделена только одна радиокнопка. При щелчке на любой радиокнопке в группе она становится выделенной. Выделенная кнопка определяется значением свойства ItemIndex:integer, которое определяет номер (начиная с 0) выделенной кнопки. Если первоначально не выделена ни одна кнопка, то значение этого свойства равно –1. Свойство Items:tStrings содержит список заголовков радиокнопок группы. Это свойство определяется через Object Inspector. Свойство Columns:integer определяет количество столбцов в группе радиокнопок (по умолчанию равно 0).
Диалог ввода Для организации диалога ввода используют функцию InputBox, которая возвращает строку, введенную пользователем. Эта функция имеет три параметра строкового типа: - первый – это заголовок окна ввода, - второй - поясняющее сообщение, - третий – текст, который находится в поле ввода в момент появления диалогового окна в первый раз (установленный по умолчанию). При выполнении функции на экране появляется диалоговое окно с полем ввода и двумя кнопками: <OK> и < Cancel>. После ввода данных в поле, выбирается кнопка < OK>. Если же выбрана кнопка < Cancel> или нажата клавиша <Esc>, то будет выдаваться предопределенное значение, указанное при вызове функции в качестве третьего параметра. Некоторые приемы, полезные при размещении компонентов в форме. Turbo Delphi предоставляет возможность помещать любой компонент в нужную позицию формы, задавая значения его свойств Left:integer и Top:integer. Координаты внутри формы имеют величины: левый верхний угол - (0,0); правый нижний - (ClientWidth-1, ClientHeight-1). Перемещение компонентов можно осуществлять на один или несколько пикселей. Выбрав компонент (или группу компонентов), нужно нажать клавишу < Ctrl > и, не отпуская ее, использовать стрелки (¯ ® ¯) для «попиксельного» перемещения. Так же можно изменять размер компонента в любом направлении на величину пикселя. Для этого после его выделения нужно нажать клавишу < Shift > и, не отпуская ее, использовать стрелки. Возможность довольно точно размещать компонент на форме не решает всех задач. Например, одна кнопка расположена близко к краю формы, а ее необходимо отцентрировать. Можно произвести вычисления положения кнопки, учитывая ее ширину и ширину формы. Но можно произвести автоматическое центрирование кнопки. Для этого следует выбрать опцию Align (Выравнивание) из меню Edit (или щелкнуть правой кнопкой мыши, пока указатель ее находится на компоненте, и выбрать туже опцию Align из всплывающего меню). В результате появится диалоговое окно Alignment, в котором нужно выбрать опцию Center in Window в столбце Horizontal. После нажатия кнопки < OK> компонент будет отцентрирован.
Для выравнивания группы компонентов (например, двух кнопок) следует нажать левую кнопку мыши и переместить курсор вниз и вправо, рисуя рамку вокруг группы кнопок. В углах каждой кнопки появятся серые квадратики (маркеры), что указывает на действие, производимое над группой. Например, для выравнивания кнопок по их левым сторонам и размещения их с равными интервалами в том месте, где они расположены следует: выбрать в столбце Horizontal значение Left sides (Левые стороны), а в столбце Vertical - Space equally (Равные интервалы) и нажать < OK >. В результате обе кнопки будут выровнены по левой стороне первой из них. Для того, чтобы сделать кнопку нажатой по умолчанию (после запуска приложения она будет обведена черным прямоугольником и при нажатии на клавишу < Enter >будет выполнена соответствующая этой кнопке команда), необходимо изменить свойство Default:boolean из False в True.
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|