Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
17.04.2013
Размер:
2.23 Кб
Скачать
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
void __fastcall TForm1::SpeedButton1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{  Cli=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{  Cli=false;
}
//---------------------------------------------------------------------------
void Redraw(TColor r)
{   TPoint p[3],q,q1;
  Form1->Canvas->Pen->Color=r;
  p[0]=Point(Form1->SpeedButton1->Left+Form1->SpeedButton1->Width/2,Form1->SpeedButton1->Top+Form1->SpeedButton1->Height/2);
  p[1]=Point(Form1->SpeedButton2->Left+Form1->SpeedButton2->Width/2,Form1->SpeedButton2->Top+Form1->SpeedButton1->Height/2);
  p[2]=Point(Form1->SpeedButton3->Left+Form1->SpeedButton3->Width/2,Form1->SpeedButton3->Top+Form1->SpeedButton1->Height/2);
  for(double i=0;i<100;i++)
    { double t=i/100;
      q.x=p[0].x*(t-1)*(t-1)+2*t*p[1].x*(1-t)+t*t*p[2].x;
      q.y=p[0].y*(t-1)*(t-1)+2*t*p[1].y*(1-t)+t*t*p[2].y;
      t=(i+1)/100;
      q1.x=p[0].x*(t-1)*(t-1)+2*t*p[1].x*(1-t)+t*t*p[2].x;
      q1.y=p[0].y*(t-1)*(t-1)+2*t*p[1].y*(1-t)+t*t*p[2].y;
      Form1->Canvas->MoveTo(q.x,q.y);
      Form1->Canvas->LineTo(q1.x,q1.y);
          };
}
void __fastcall TForm1::SpeedButton1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{ if(Cli){Redraw(clWhite);
  ((TSpeedButton*)Sender)->Top+=Y;
  ((TSpeedButton*)Sender)->Left+=X;
  Redraw(clRed);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Canvas->Pen->Width=2;
  Redraw(clRed);
}
//---------------------------------------------------------------------------


Соседние файлы в папке 3.3
  • #
    17.04.20132.77 Кб13Project1.bpr
  • #
    17.04.2013632 б12Project1.cpp
  • #
    17.04.201316.88 Кб12Project1.obj
  • #
    17.04.2013876 б12Project1.res
  • #
    17.04.20132.49 Mб12Project1.tds
  • #
    17.04.20132.23 Кб12Unit1.cpp
  • #
    17.04.20134.18 Кб12Unit1.dfm
  • #
    17.04.20131.32 Кб13Unit1.h
  • #
    17.04.20132.23 Кб12Unit1.~cpp
  • #
    17.04.20133.86 Кб12Unit1.~dfm
  • #
    17.04.20131.37 Кб13Unit1.~h