
- •Основы визуального программирования в среде Delphi 7.0
- •2. МеткаLabel(страницаStandard)
- •3. Окно редактирования Edit (страница Standard)
- •4. Кнопки Button, BitBtn (страницы Standard, Additional)
- •5. Компонент CheckBox(страница Standard)
- •6. Компоненты GroupBox, RadioButton (страница Standard)
- •7. Компонент ComboBox(страница Standard)
- •Пример выполнения задания
- •Практические задания
- •Занятие №2
- •2. Компонент PageControl (страница Win32)
- •3. КомпонентDateTimePicker(страницаWin32)
- •4. КомпонентTrackBar(страницаWin32)
- •5. Компонент UpDown (страница Win32)
- •Практические задания
- •Занятие №3
- •2. Создание меню с помощью мастера
- •3. Компоненты MainMenuи РоpupMenu(панельStandart)
- •4. Проектирование меню с помощью Конструктора Меню
- •5. Организация отклика на вызов пункта меню
- •6. Диалоги как модальные формы
- •7. Создание диалогового окна с помощью шаблона
- •8. Вызов диалогового окна пунктом меню
- •9. Прием введенных значений из диалогового окна в основное окно приложения
- •Практические задания
- •Занятие №4
- •2. Компонент TreeView(страницаWin32)
- •3. Компонент ListView(страницаWin32)
- •4. Компонент OpenDialog (страница Dialogs)
- •5. Компонент FontDialog (страница Dialogs)
- •6. Компонент ColorDialog(страницаDialogs)
- •Практические задания
- •Занятие №5 Подготовка справочной системы Цель занятия
- •Методические указания
- •1. Создание текстового файла разделов (*.Rtf)
- •Сноска #
- •Сноска к (заглавная латинская буква)
- •2. Создание файла содержания (*.Cnt)
- •3. Создание файла проекта
- •4. Подключение справочной системы к приложению
- •Задание
- •Оглавление
4. КомпонентTrackBar(страницаWin32)
Компонент TrackBar представляет собой элемент управления в виде ползунка, который пользователь может перемещать курсором мыши или клавишами во время выполнения. Таким образом, пользователь может управлять какими-то процессами: громкостью звука, размером изображения и т.п.
Ползунок может располагаться горизонтально, вертикально, иметь шкалу с различных сторон, иметь какой-то выделенный диапазон шкалы.
Properties
Position – текущее положение. Это свойство можно задавать во время проектирования или программно во время выполнения. При перемещении пользователем ползунка можно прочитать значение Position, характеризующее позицию, в которую пользователь переместил ползунок.
Min, Мах - границы изменения свойства Position
За внешний вид ползунка отвечают свойства:
Orientation - ориентация ползунка:
trHorizontal — горизонтальная
trVertical — вертикальная
TickMarks - указывает размещение шкалы относительно компонента
tmBottomRight - снизу или справа
tmTopLeft - сверху или слева
TickStyle - способ изображения шкалы
tsAuto - автоматическая прорисовка шкалы
tsNone - отсутствие шкалы
Frequency - частота нанесения меток
Cursor - вид курсора, который будет появляться при наведении на компонент
SelStart и SelEnd - позволяют визуально выделить на шкале некоторый диапазон, который о чем-то говорит пользователю, например, рекомендуемый диапазон значений. При этом ничто не мешает пользователю выйти за пределы этого диапазона
LineSize - определяют, насколько смещается ползунок, если пользователь управляет им с помощью клавиш со стрелками
PageSize- определяют, насколько смещается ползунок, если пользователь управляет им с помощью клавиш PageUp и PageDown
Основное событие:
OnChange – возникает при перемещении пользователем ползунка. В обработчике этого события можно прочитать значение Position и использовать его для управления каким-то компонентом.
В нашем примере пользователь будет управлять скоростью движения бегущей строки. Для этого на страницу «Скорость» перенесите компонент TrackBar. Поэкспериментируйте с его свойствами TickMarks, TickStyle, Orientation. Установите свойства:
Min:=0
Max:=10
Position := 5
В обработчике события OnChange (функция-обработчик вызывается двойным щелчком мыши на компоненте) нужно изменять скорость движения бегущей строки, т.е. сокращать или увеличивать интервал времени, после которого происходит циклический сдвиг строки:
procedure TForm1.TrackBar1Change(Sender: TObject)
begin
Timer1.Interval := 200-(TrackBar1.Position)*20;
end;
5. Компонент UpDown (страница Win32)
UpDown - кнопка-счетчик в сочетании с компонентами Edit и другими позволяющая вводить цифровую информацию. Компонент UpDown превращает окно редактирования Edit в компонент, в котором пользователь может выбирать целое число, изменяя его кнопками со стрелками.
Если установить в true свойство Readonly окна Edit, то пользователь просто не сможет ввести в окно какой-либо свой текст и вынужден будет ограничиться выбором числа.
Основные свойства:
Associate - связывает кнопки со стрелками с одним из оконных компонентов, обычно с Edit.
AlignButton – расположение кнопок
UdLeft – слева от окна
UdRight - справа от окна
Orientation – ориентация кнопок
UdHorizontal - по вертикали (одна под другой)
UdVertical - по горизонтали (одна рядом с другой)
ArrowKeys – управление компонентом с клавиатуры
true - с помощью клавиш со стрелками
false – не управляются с клавиатуры
Min - минимальное значение чисел
Мах - максимальное значение чисел
Increment - приращение числа при каждом нажатии на кнопку
Position - текущее значение числа (в диапазоне Min — Мах)
Wrap - определяет, как ведет себя компонент при достижении максимального или минимального значений
false - при увеличении или уменьшении числа до максимального или минимального значения это число фиксируется на предельном значении и нажатие кнопки, пытающейся увеличить максимальное число или уменьшить минимальное, ни к чему не приводит;
true - попытка превысить максимальное число приводит к его сбросу на минимальное значение. Аналогично, попытка уменьшить минимальное число приводит к его сбросу на максимальное значение, т.е. изменение чисел «закольцовывается»
Основное событие:
OnChanging – возникает при изменении значения UpDown. В обработчике этого события можно читать значения свойства Position, чтобы узнать, какое число задал пользователь
В нашем примере будем менять размер шрифта. Для этого на страницу «Размер шрифта» добавьте компоненты Edit2 и UpDown. Установите свойства компонента UpDown:
Associate: = Edit2 (выбрать значение этого из выпадающего списка этого свойства)
Max := 30
Min := 10
Position := 20 (текущее значение)
Increment := 2 (шаг изменения при нажатии стрелок)
В функции UpDown1Changing - обработчике события OnChanging компонента UpDown1 нужно менять размер шрифта в окне редактирования, где расположена бегущая строка:
Edit1.Font.Size := UpDown1.Position;
6.ProgressBar(Win32)
ProgressBar - индикатор процесса выполнения длительной процедуры.
Properties
Min - минимальное значение
Мах - максимальное значение
Position - текущая позиция (в диапазоне Min — Мах)
Orientation – ориентация компонента
рdHorizontal - вертикально
рdVertical - горизонтально
Step – шаг перемещения индикатора при изменения позиции на 1
Smooth – тип индикатора
true - сплошной
false – разделенный на блоки (1 блок соответствует изменению на 1 позицию, т.е. на величину, указанную в свойстве Step)
Пример программы «Таймер-секундомер»
Поместим на форму MyForm компоненты
MyTimer
EditTimer
UpDownTime - связанный с компонентом EditTimer
LabelTime
Label1.Caption = «Установка таймера», расположите его рядом с EditTimer
Label2 .Caption = «Текущее время», расположите его рядом с LableTime
MyProgressBar - отображает ход таймера
ButtonStart - для запуска таймера после его установки.
По истечению заданного времени появляется сообщение «Время вышло!».
MyForm : TMyForm;
MyProgressBar : TProgressBar;
…
constructor TMyForm.Create(Owner: TComponent);
begin
MyProgressBar.Visible := false //до запуска таймера индикатор невидим
MyTimer.Enabled := false; //таймер еще не запущен
end;
…
procedure TMyForm.ButtonStartClick(Sender : TObject);
begin
MyTimer.Enabled := true; //запуск таймера
MyProgressBar.Position := 0; //текущая позиция индикатора обнуляется
MyProgressBar.Max: = UpDownTime.Position; //макс. граница индикатора
//соответствует заданному пользователем числу в EditTimer
MyProgressBar.Visible: = true; //индикатор становится видимым
}
procedure TMyForm.MyTimerTimer(Sender : TObject);
begin //отображение текущего времени в период работы таймера
LabelTime.Caption := Time.FormatString(‘tt’);
//если текущая позиция индикатора меньше максимального значения
if(MyProgressBar.Position < MyProgressBar.Max)
then
begin
inc(MyProgressBar.Position); //увеличиваем текущую позицию
if ((MyTimer.Enabled) and (StrToInt(EditTimer.Text)<>0))
then //если таймер запущен и установлено его значение
EditTimer.Text:=IntToStr(StrToInt(EditTimer.Text)-1);
end //уменьшение времени
else //если время истекло
begin
MyProgressBar.Visible :=false;
MyTimer.Enabled := false;
ShowMessage('Время вышло!’); // вывод сообщения
LabelTime.Caption =’’;
end;
end;