Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Delphi 7

Читайте также:
  1. Тема: delphi: создание динамических запросов
  2. Тема: delphi: создание статических запросов
  3. Тема: отображение данных в delphi – приложении. навигация в базе данных

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

1. После запуска программы в окне изображается светофор с тремя лампочками, способными реагировать на наведение указателя мыши.

2. Когда указатель мыши наведен на лампочку, она меняет свой цвет.

 

3. Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка.

Описание плана разработки программы

1. Открыть новый проект.

2. Разместить на форме экземпляры компонентов: фигура Shape.

3. Выполнить следующие действия:

 

Листинг подпрограммы

Function OnShape (sh: TShape: X, Y: Integer): TBrushStyle; var r, cx, cy, d2: Integer; begin

r:= sh.Width div 2; cx:= sh.Left + r; cy:= sh.Top + r;

d2:= (X - cx) * (X - cx) + (Y - cy) * (Y - cy); OnShape:= bsClear; if d2 > r*r then ObShape:= bsSolid; end;

procedure TForm1.FormMouseMove (Sender: TObject, Shift: TShiftState; X, Y: Integer);); begin

Shape1.Brush.Color:= clRed; Shape1.Brush.Style:= OnShape (Shape1, X, Y); Shape2.Brush.Color:= clYellow; Shape2.Brush.Style:= OnShape (Shape2, X, Y); Shape3.Brush.Color:= clLime; Shape.Brush.Style:= OnShape (Shape3, X, Y);

end;

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls;

 

type

TForm1 = class(TForm)

Shape1: TShape;

Shape2: TShape;

Shape3: TShape;

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

Function OnShape(sh:TShape;X,Y:Integer):TBrushStyle;

var r,cx,cy,d2:Integer;

begin

r:=sh.Width div 2;

cx:=sh.Left+r;

cy:=sh.Top+r;

d2:=(X-cx)*(X-cx)+(Y-cy)*(Y-cy);

OnShape:=bsClear;

if d2<=r*r then OnShape:=bsSolid;

end;

 

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Shape1.Brush.Color:=clRed;

Shape1.Brush.Style:=OnShape(Shape1,X,Y);

Shape2.Brush.Color:=clYellow;

Shape2.Brush.Style:=OnShape(Shape2,X,Y);

Shape3.Brush.Color:=clLime;

Shape3.Brush.Style:=OnShape(Shape3,X,Y);

end;

 

end.


Дата добавления: 2015-08-10; просмотров: 134 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Высшего профессионального образования| Индивидуальное задание по Access

mybiblioteka.su - 2015-2024 год. (0.006 сек.)