Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Свойства компонента SpeedButton



Свойство Описание
Name Имя компонента. Используется для доступа к компоненту и его свойствам
Glyph Битовый образ, в котором находятся картинки для каждого из состояний кнопки. В битовом образе может быть до четырех изображений кнопки (рис. П1.15)
NumGlyphs Количество картинок в битовом образе Glyph
Flat Свойство Flat определяет вид кнопки (наличие границы). Если значение свойства равно true, то граница кнопки появляется только при позиционировании указателя мыши на кнопке
Group Index Идентификатор группы кнопок. Кнопки, имеющие одинаковый идентификатор группы, работают подобно радиокнопкам: нажатие одной из кнопок группы вызывает срабатывание других кнопок этой группы. Чтобы кнопку можно было зафиксировать, значение свойства Grouplndex не должно быть равно нулю
Down Идентификатор состояния кнопки. Изменить значение свойства можно, если значение свойства Grouplndex не равно нулю
AllowAllUp Свойство определяет возможность отжать кнопку. Если кнопка нажата и значение свойства равно true, то кнопку можно отжать
ShowHint Разрешает (true) или запрещает (false) отображение подсказки при позиционировании указателя на кнопке

Компонент UpDown

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

 

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

Задание 1

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

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

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

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

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

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

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

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=" Информация";

}

7. Теперь разберемся с последним компонентом - индикатором процесса 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;

}

Задание 2

Ввести три числа - x, y, z. Вычислить по усмотрению u=sin(x), u=cos(x) или u=tg(x). Найти по выбору максимальное из трех чисел: max(u, y, z). Cоздать форму, представленную на рис. 2., и написать соответствующую программу.

Рис. 3

8. Создайте форму, скорректировав текст надписей и положение окон TEdit.

9. Выберите в меню компонентов Standard кмпонент ТCheckBox и поместите его в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на maxabs. В зависимости от того, нажата или нет кнопка, булева переменная CheckBox1.Checked будет принимать значение true или false.

10. Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок (Caption) на U(x).

Для того, чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке - cos(x), во второй - sin(x), в третьей - tg(x), нажмите ОК.

После этого на форме внутри окаймления появится три кнопки- переключателя с введенными надписями.

Обратите внимание на то, что в тексте программы появится переменная RadioGroup1 типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1− > ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.

void __fastcall TForm1:: FormCreate(TObject *Sender)

{

Edit1-> Text=" 0, 1";

Edit2-> Text=" 0, 356";

Edit3-> Text=" 0";

Memo1-> Clear();

Memo1-> Lines-> Add(" Рез-ты ст. гр.920201 Петрова И.И." );

}

//-----------------------------------------------------

void __fastcall TForm1:: Button1Click(TObject *Sender)

{

double x, y, z, u, ma;

// Ввод исходных данных и вывод в окно Memo1

x=StrToFloat(Edit1-> Text);

Memo1-> Lines-> Add(" x=" +Edit1-> Text);

y=StrToFloat(Edit2-> Text);

Memo1-> Lines-> Add(" y=" +Edit2-> Text);

z=StrToFloat(Edit3-> Text);

Memo1-> Lines-> Add(" z=" +Edit3-z=StrToFloat(Edit3-> Text);

Memo1-> Lines-> Add(" z=" +Edit3-> Text);

// Проверка номера нажатой кнопки и выбор //соответствующей ей функции

switch(RadioGroup1-> ItemIndex)

{

case 0: u=cos(x); break;

case 1: u=sin(x); break;

case 2: u=tan(x); break;

}

if (CheckBox1-> Checked) // Проверка состояния //кнопки CheckBox1

{

u=fabs(u);

y=fabs(y);

z=fabs(z);

}

// Нахождение максимального из трех чисел

if (u> y) ma=u; else ma=y;

if (z> ma) ma=z;

if (CheckBox1-> Checked) Memo1-> Lines-> Add(" maxabc=" +

FloatToStrF(ma, ffFixed, 8, 6));

else Memo1-> Lines-> Add(" max=" +

FloatToStrF(ma, ffFixed, 8, 6)); }

Задание 3

Отредактируйте вид формы и текст программы в соответствии с полученным заданием. Предусмотрите вывод информации, показывающий, по какой ветви производились вычисления. В качестве f(x) использовать по выбору: x2, x3, ex.


Поделиться:



Популярное:

  1. Взаимоотношения между компонентами раннего постнатального развития поведения
  2. Две гайки могут быть заперты вместе, чтобы отвинтить шпильки из компонента
  3. Изучите микродиагностические характеристики фарфоровой массы «Ивоклар». Зарисуйте диагностические признаки, соответствующие основным компонентам фарфоровой массы (каолин, кварц, полевой шпат).
  4. Легирование легкопассивирующимися компонентами
  5. Назовите три основных компонента в структуре педагогических способностей.
  6. Нарушение мотивационного компонента восприятия
  7. Определение целевого компонента обучения
  8. Основные свойства компонента StringGrid
  9. Отравления компонентами агрохимикатов
  10. Практическое значение взаимодействия лекарственных средств друг с другом и компонентами пищи, фитопрепаратами, алкоголем.
  11. Р между компонентами языковой способности
  12. Расчет показателей валового накопления основного капитала как компонента ВВП в МОБ СНС


Последнее изменение этой страницы: 2017-03-08; Просмотров: 853; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.041 с.)
Главная | Случайная страница | Обратная связь