#include <vcl.h>
#pragma hdrstop
#include <wingdi.h>
#include "optim2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1Click(TObject *Sender)
{
int x1=20,y1=20,x2=30,y2=30; // нач. значение окружностей
int Stroka=3,Stolbec=32; // кол-во строк и столбцов
for (int y=0; y<Stroka; y++)
{
for (int i=0; i<Stolbec; i++)
{ x1=x1+20; x2=x2+20;
PaintBox1->Canvas->Ellipse(x1,y1,x2,y2);
}
x1=x1-20*Stolbec; x2=x2-20*Stolbec;
y1=y1+20; y2=y2+20;
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
}
//---------------------------------------------------------------------------
графика c++ builder 6.0
дано2: с графикой никогда не работал, да и с программированием туговато
вопрос1. как привязать кнопку с 2-мя зачениями к функции рисования(int Stroka, Stolbec; )
вопрос2. как залить окружности (скажем черным цветом) по определенному алгоритму, хоть пример как это сделать, дальше я сам сделаю
вопрос3. нужен в последнюю очередь - нужно соединить закрашенные окружности линиями по определенному алгоритму
буду благодарен за любую помощь
файл cpp
Код:
файл h
Код:
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPaintBox *PaintBox1;
TButton *Button1;
TButton *Button2;
TButton *Button3;
TButton *Button4;
TButton *Button5;
TButton *Button6;
TButton *Button7;
void __fastcall PaintBox1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPaintBox *PaintBox1;
TButton *Button1;
TButton *Button2;
TButton *Button3;
TButton *Button4;
TButton *Button5;
TButton *Button6;
TButton *Button7;
void __fastcall PaintBox1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
условие: Смоделируйте на экране 7 вертикальных цветных полос настройки телевизора, заполненных пикселами разного цвета.
программа:
Program P1;
Uses crt, graph;
Var
Gm, Gd, x, y, i: integer;
begin
Gb:=detect;
initgraph(Gb, Gm, 'c:\tp7\bgi');
setfillstyle(1,1);
bar(0,0,70,getmaxy);
setfillstyle(1,2);
bar(70,0,140,getmaxy);
setfillstyle(1,3);
bar(140,0,210,getmaxy);
setfillstyle(1,5);
bar(210,0,280,getmaxy);
setfillstyle(1,4);
bar(280,0,350,getmaxy);
setfillstyle(1,7);
bar(350,0,420,getmaxy);
setfillstyle(1,6);
bar(420,0,490,getmaxy);
setfillstyle(1,8);
bar(490,0,560,getmaxy);
readln;
closegrath;
end.
условие: С помощью динамической переменной осуществите одновременное движение двух окружностей по горизонтали.
прога:
Program P2;
Uses crt, graph;
Var
Gm, Gd, i: integer;
size, x1, y1:word;
p: pointer;
begin
Gb:=detect;
initgraph(Gb, Gm, 'c:\tp7\bgi');
setfillstyle(1,red);
setcolor(red);
circle(100,25,20);
circle(70,70,20);
size:=imagesize(0,0,200,200);
gethem(p,size);
getimage(0,0,200,200,p^);
for i:=0 to GetmaxX-20 do begin
putimage (20+i,0,p^,copyput);
putimage (20+i,0,p^,xopput);
end;
closegraph;
end.