Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Некоторые приемы, полезные при размещении компонентов в форме.

Тема 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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...