Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_3.docx
Скачиваний:
7
Добавлен:
09.02.2015
Размер:
294.61 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls;

type

TFormMenu = class(TForm)

MainMenul: TMainMenu;

Figures: TMenuItem;

Circle: TMenuItem;

Rectangle: TMenuItem;

Ellipse: TMenuItem;

Shape1: TShape;

Shape2: TShape;

Shape3: TShape;

Timerl: TTimer;

procedure CircleClick(Sender: TObject);

procedure CircleClick(Sender: TObject);

procedure EllipseClick(Sender: TObject);

procedure TimerlTimer(Sender: TObject); private

{ Private declarations } public

( Public declarations ) end;

var

FormMenu: TFormMenu;

Implementation

{$R *.DFM)

procedure TFormMenu.CircleClick (Sender: TObject); begin

FormMenu.sh_Circle.Visible:=True;

FormMenu.sh_Rectangle.Visible:=False;

FormMenu.sh_Ellipse.Visible:=False;

FormMenu.Timerl.Enabled:=True;

FormMenu.Timerl.Interval:=3000; end;

procedure TFormMenu.RectangleClick(Sender: TObject); begin

FormMenu.sh_Rectangle.Visible:=True;

FormMenu.sh_Circle.Visible:=False;

FormMenu.sh_Ellipse.Visible:=False;

FormMenu.Timerl.Enabled:=True ;

FormMenu.Timerl.Interval:=2000; end;

procedure TFormMenu.EllipseClick(Sender: TObject); begin

FormMenu.sh_Ellipse.Visible:=True;

FormMenu.sh_Rectangle.Visible:=False;

FormMenu.sh_Circle.Visible:=False;

FormMenu.Timerl.Enabled:=True;

FormMenu.Timerl.Interval:=1000; end;

procedure TFormMenu.TimerlTimer(Sender: TObject); begin

FormMenu.sh_Circle.Visible:=False;

FormMenu.sh_Rectangle.Visible:=False;

FormMenu.sh_Ellipse.Visible:=False;

FormMenu.Timerl.Enabled:=False ; end;

end.

Добавьте на форму метку и сделайте так, чтобы одновремен­но с фигурой рядом с ней отображалось ее название.

Упражнение Изменение цвета

В этом упражнении вы создадите программу, в которой щел­чок по кнопке будет изменять (change) цвет фигуры. Цвет будет выбираться из предложенного списка.

Создайте папку «Изменение цвета». Создайте проект. В Строке заголовка формы запишите название: «Изменение цве­та» (свойство Caption). Форме дайте имяFormChColor (свойствоName). Сохраните модуль и проект под именами соответственноUnitChColor иProjectChColor в папке «Изменение цвета».

Поместите на форму следующие компоненты: TLabel (мет­ка),TComboBox (редактируемый список),TBitBtn (кнопка с графикой),TShape (фигура). Вид формы представлен на рис. 4. Фигуре дайте имяsh_Figura. Кнопке дайте имяbt_Co-lor. Окну редактируемого списка дайте имяComboBox_Color.

В свойстве Caption (заголовок) объектаLabell запишите «Выберите цвет:». В свойствеItems (элементы) для ОбъектаComboBoxlзапишите названия цветов:

Синий

Красный

Зеленый

В свойстве Caption (заголовок) для кнопкиbt_Color запиши­те: «Применить».

Теперь для кнопки надо записать процедуру изменения цве­та Фигуры:

if ComboBox_Color.Text='Синий' then

sh_Figura.Brush.Color:= clBlue

else

if ComboBox_Color.Text='Красный' then

sh_Figura.Brush.Color:= clRed

else

if ComboBox_Color.Text='Зеленый ' then

sh_Figura.Brush.Color:= clGreen;

При написании процедуры, как и в предыдущем упражне­нии, используется условное предложение if...then...else (если... то... иначе).

Сохраните изменения и запустите программу. Если кнопка работает правильно, то перейдем к созданию следующей части программы.

С помощью следующей группы компонентов вы будете изме­нять тип фигуры.

Поместите на форму следующие компоненты: метку TLabel, редактируемый списокTComboBox, кнопкуTBitBtn.

В свойстве Caption (заголовок) объектаLabel2 запишите: «Выберите фигуру:». В свойствеItems (элементы) для объектаComboBox2 запишите названия фигур:

Круг

Эллипс

Прямоугольник

В свойстве Caption (заголовок) для кнопкиBitBtn2 запишите «Применить». Дайте кнопке имяbt_Figura. Дайте окну редак­тируемого списка имяComboBox_Figura.

Для кнопки bt_Figura надо записать процедуру:

if ComboBox_Figura.Text='Kpyr' then

sh_Figura.Shape:=stCircle

else

if ComboBox_Figura.Text='Эллипс' then

sh_Figura.Shape:=stEllipse

else

if ComboBox_Figura.Text='Прямоугольник' then

sh_Figura.Shape:=stRectangle;

Сохраните изменения. Запустите программу и убедитесь, что кнопка работает правильно. Вы видите, что изображение круга и эллипса не отличаются друг от друга. Чтобы изображения этих фигур были разными, надо внести некоторые изменения в процедуру для кнопки bt_Figura:

if ComboBox_Figura.Text='Эллипс' then begin sh_Figura.Shape:=stEllipse; sh_Figura.Left:=180;

// расстояние от левой границы окна уменьшить sh_Figura.Width:=125;

// ширину фигуры немного увеличить end; Так как добавились еще два оператора, то все операторы за­ключаются в операторные скобкиbegin...end (начало...конец). Операторы разделяются «точкой с запятой».

Рис. 4. Окно формы «Изменение цвета»

Во втором операторе присвойте расстоянию фигуры от левой границы окна значе­ние, немного меньшее того, что было первоначально (см. свойст­во Left (слева) объектаsh_Figura). Это необходимо для того, чтобы фигура не «съехала вправо» при изменении ее ширины. В третьем операторе присвойте ширине фигуры значение не­много большее того, что было первоначально (см. свойствоWidth (ширина) объектаsh_Figura).

Можно попробовать изменять размеры фигуры, добавив на форму еще три компонента: TLabel (метка),TComboBox (редак­тируемый список),TBitBtn (кнопка с графикой).

Для выбора размера фигуры вы можете использовать не ре­дактируемый список, а другие компоненты.

Теперь со­здайте программу, в которой цвет фигуры будет выбираться из Палитры цветов, которая от­кроется при щелчке на кнопке «Выбрать цвет фигуры».

Рис. 5. Окно формы «Изменение цвета 2»

Создайте проект. В Строке заголовка формы запишите на­звание: «Изменение цвета 2» (свойство Caption). Форме дай­те имяFormChColor2 (свойствоName). Сохраните модуль и проект подименами UnitСо1ог2 иProjectChColor2 соответственно в папке «Изменение цвета». Разместите на форме следующие компоненты:TBitBtn (кнопка с графикой) иTShape (фигура) со страницыAdditional (допол­нительные) иTColorDialog (диалог цвета) со страницыDialogs (диалоги). Назовите кнопку «Выбрать цвет фигуры» и запиши­те в обработчике щелчка на ней следующий код:ifColorDialog1.Executethen

Shapel.Brush.Color:=ColorDialogl.Color;

Если в диалоговом окне выбран цвет для объекта Shapel, то цвету фигурыShapel присваивается значение, выбранное в диалоговом окне.

Сохраните изменения и запустите программу. Попробуйте изменить цвет вашей фигуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]