РефератыИнформатикаГрГрафические возможности стандартной библиотеки VCL

Графические возможности стандартной библиотеки VCL

ОТЧЁТ


по лабораторной работе № 1.


Тема: Графические возможности стандартной библиотеки
VCL


Цель:Изучить графические возможности стандартной библиотеки визуальных компонентов
VCL
, функций и процедур модуля
Graphics
. Научиться работать с отдельными точками растра. Освоить рисование сплошных объектов.


Задание:Создать программу для закрашивания рисунка квадратами 20х20 пикселей с возможностью задания цвета из палитры цветов.


Содержание отчета


1.
Практическая часть.


1.1.
Размещаю на форме 3 компонента Button, 1 компонент типа ColorDialog, 1 компонент StatusBar и 2 компонента Image. Задаю нужные свойства компонентам и добавляю свойству Picture компонента Image рисунок.



Рис 1.

Добавление рисунка.


1.2.
В компонент StatusBar
разбиваю панель на две части.



Рис 2. Разбиение панели на две части



Рис 3. Приложение на этапе проектирования.


1.3.
После настройки компонентов и самого приложения получаю работающее приложение.



Рис 4. Работающее приложение.


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


Unit1.h


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


#ifndef Unit1H


#define Unit1H


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


#include <Classes.hpp>


#include <Controls.hpp>


#include <StdCtrls.hpp>


#include <Forms.hpp>


#include <ExtCtrls.hpp>


#include <jpeg.hpp>


#include <ComCtrls.hpp>


#include <Dialogs.hpp>


#include <Graphics.hpp>


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


class TForm1 : public TForm


{


__published: // IDE-managed Components


TButton *Button1;


TButton *Button2;


TButton *Button3;


TStatusBar *StatusBar1;


TImage *Image1;


TImage *Image2;


TColorDialog *ColorDialog1;


TLabel *Label1;


TLabel *Label2;


void __fastcall Button3Click(TObject *Sender);


void __fastcall Button1Click(TObject *Sender);


void __fastcall Button2Click(TObject *Sender);


void __fastcall Image1MouseMove(TObject *Sender, TShiftState Shi

ft,


int X, int Y);


void __fastcall Image1MouseDown(TObject *Sender,


TMouseButton Button, TShiftState Shift, int X, int Y);


private: // User declarations


public: // User declarations


__fastcall TForm1(TComponent* Owner);


};


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


extern PACKAGE TForm1 *Form1;


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


#endif


Unit1.cpp


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


#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::Button3Click(TObject *Sender)


{


Form1->Close();


}


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


void __fastcall TForm1::Button1Click(TObject *Sender)


{


ColorDialog1->Color=Image1->Canvas->Pen->Color;


if(ColorDialog1->Execute()) {


Image1->Canvas->Pen->Color=ColorDialog1->Color;//цветпера


Image1->Canvas->Brush->Color=ColorDialog1->Color;//цветкисти


StatusBar1->Panels->Items[1]->Text=(AnsiString)ColorDialog1->Color;


}


}


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


void __fastcall TForm1::Button2Click(TObject *Sender)


{


{Image1->Picture->Assign(Image2->Picture);}


}


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


void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,


int X, int Y)


{


StatusBar1->Panels->Items[0]->Text=(AnsiString)X+":"+(AnsiString)Y;


}


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


void __fastcall TForm1::Image1MouseDown(TObject *Sender,


TMouseButton Button, TShiftState Shift, int X, int Y)


{


TRect Rct;


Rct.Left=X-10;


Rct.Top=Y-10;


Rct.Right=X+10;


Rct.Bottom=Y+10;


Image1->Canvas->Rectangle(Rct);


Image1->Canvas->FillRect(Rct);


}


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Графические возможности стандартной библиотеки VCL

Слов:394
Символов:6410
Размер:12.52 Кб.