Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по ПР ПМ0_Копец1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.37 Mб
Скачать

Компонент UpDown

Компонент UpDown представляет собой две кнопки, используя которые можно изменить значение внутренней переменной-счетчика на определенную величину. Увеличение или уменьшение значения происходит при каждом щелчке на одной из кнопок.

Описание лабораторной работы Задание 1

  1. Установите на форму компонент — индикатор процесса CGauge, из вкладки компонентов Samples, который позволяет следить визуально за состоянием любого запущенного нами процесса или действия:

  2. C помощью свойства — BackColor -> clMoneyGreen, можно задать и настроить предпочтительный цвет для данного компонента Cgauge, вместо стандартного белого - BackColor->clWhite:

  3. Добавьте на форму нашего приложения несколько новых компонентов (из вкладки Standard - Label, из вкладки Additional - SpeedBotton) и заполним необходимые их свойства (см. Рис.2).

Рис.2 Размещение компонентов на форме

  1. Надписи на кнопках (SpeedBotton) и метках (Label), могут быть любыми и задаются с помощью свойств этих компонентов — Caption, а размер букв и шрифт устанавливается с помощью свойства — Font.

  2. Устанавливая для нужных компонентов SpeedBotton свойство GroupIndex в число отличное от нуля (например в единицу) и свойство AllowAllUp в True, получатся кнопки с эффектом нажатия до определенного момента пока снова не будут нажаты, при этом получается эффект противоположный нажатию кнопки. Так как, в нашем случае, кнопки с направлениями движения (Вперед, Назад, Влево, Вправо) имеют одно и тоже значение свойства GroupIndex=1, то при нажатии на любую из кнопок движения предыдущая кнопка возвращается в исходное положение. А вот кнопку с надписью — Стоп, наоборот не будем включать ни в группу кнопок движения, ни изменять выше перечисленные свойства для кнопок. Вот для нее мы опишем действия, которые она должна сделать при однократном нажатии. Для этого в Окне формы нужно два раза левой кнопкой мышки щелкнуть, по кнопке с надписью — Стоп (SpeedButton2), при этом автоматически среда быстрой визуальной разработки фирмы создаст в файле .cpp, обработчик событий при нажатии на кнопку — SpeedButton2Click, который при первом вызове всегда пустой.

  3. Отменяем действия кнопок движения переводя их в исходное состояние.

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

if(Form1->SpeedButton4->Down==true)

Form1->SpeedButton4->Down=false;

if(Form1->SpeedButton5->Down==true)

Form1->SpeedButton5->Down=false;

if(Form1->SpeedButton1->Down==true)

Form1->SpeedButton1->Down=false;

if(Form1->SpeedButton3->Down==true)

Form1->SpeedButton3->Down=false;

}

Программный код теперь будет выглядеть следующим образом:

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

if(Form1->SpeedButton4->Down==true)

Form1->SpeedButton4->Down=false;

if(Form1->SpeedButton5->Down==true)

Form1->SpeedButton5->Down=false;

if(Form1->SpeedButton1->Down==true)

Form1->SpeedButton1->Down=false;

if(Form1->SpeedButton3->Down==true)

Form1->SpeedButton3->Down=false;

Label1->Caption="Информация";

}

void __fastcall TForm1::SpeedButton4Click(TObject *Sender)

{

Label1->Caption="Информация";

}

void __fastcall TForm1::SpeedButton5Click(TObject *Sender)

{

Label1->Caption="Информация";

}

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

Label1->Caption="Информация";

}

void __fastcall TForm1::SpeedButton3Click(TObject *Sender)

{

Label1->Caption="Информация";

}

  1. Теперь разберемся с последним компонентом - индикатором процесса CGauge, который мы пока не задействовали в нашем приложении. Для наглядности работы данного компонента в обработчик события -SpeedButton2Click, добавим следующее:

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

Form1->CGauge1->MaxValue=100;

Form1->CGauge1->Progress=0;

for(char g=0;g<=100;g++)

{

Form1->CGauge1->Progress=g;

Sleep(25); // Делаем задержку

}

Form1->CGauge1->Progress=0;

}