Microsoft Visual Studio C++ MFC Project

Previzualizare laborator:

Extras din laborator:

In Microsoft Visual Studio cream C++  MFC Project , cu un sindur document.

Aici vom incerca sa interpretam cu ajutorul graficii 2D, grafica 3D vizuala.

In Solution Explorer deschidem Source Files si alegem (NumeProiect)View.cpp, in cazul nostru se numeste GrapgLab2View.cpp. Introducem codul de mai jos in acest fisier:

COLORREF MyColor(int k)

{

return RGB( (k%2) ? 255-40*(k+1): 255,

(k%3) ? 255-60*(k+1): 255,

(k%5) ? 200 : 40*(k+1) );

}

void CGraphLab2View::OnDraw(CDC* pDC)

{

CGraphLab2Doc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

static float diagr[nf]={ 30.0, 80.0, 87.5, 10.5, 54.0 };

static char denum[mf][20]={"alfa","beta","gama","delta","epsilon"};

int k;

int ky=4;

char nume[10];

//cream penite , pensule si fonduri

CPen pAxe(PS_SOLID,1,RGB(0,0,255)); //penita cu culoarea albastra

CBrush brUmplere (RGB(255,0,255));

CBrush brGalben (RGB(255,255,0)); //pensula cu culoarea galbena

CFont fArial;

fArial.CreatePointFont(100,CString("Arial"),pDC);

//selectam penita pensula si fontul curent

CPen *pOldPen = pDC->SelectObject(&pAxe);

CBrush *pOldBrush = pDC->SelectObject(&brUmplere);

CFont *pOldFont = pDC->SelectObject(&fArial);

//stabilim zona de lucru

CRect rcClient;

GetClientRect(&rcClient);

//inaltimea si latimea

int maxx = rcClient.Width();

int maxy = rcClient.Height();

//stabilim originea sistemului de coordonate si dimensiunea sist. de vizualizare

pDC->SetViewportOrg(0,0);

pDC->SetViewportExt(maxx,maxy);

//trasam cu linie subtire marginea noastra a zonei de desanare

pDC->SelectStockObject(NULL_BRUSH);

pDC->Rectangle(0,0,maxx,maxy);

//desenam antetul figurii

pDC->SetTextColor(RGB(128,0,0));

//Aliniem textul

pDC->SetTextAlign(TA_TOP+TA_CENTER);

pDC->TextOut(maxx/2,5,CString("Diagrama 3D"));

//desenam axele de coordonate

pDC->MoveTo(40,maxy-40);

pDC->LineTo(40,50);

pDC->LineTo(37,56);

pDC->MoveTo(40,50);

pDC->LineTo(42,56);

//gradarea axei de coordonate

pDC->SetTextAlign(TA_LEFT+TA_BASELINE);

for (k=0;maxy-40-k*ky>=50;k+=10)

{

_itoa_s(k,nume,10);

pDC->TextOutW(10,maxy-40-k*ky+5,CString(nume),strlen(nume));

pDC->MoveTo(40-3,maxy-40-k*ky);

pDC->LineTo(40+3,maxy-40-k*ky);

}

//desenarea diagramnei cu indici absoluti(diagrama dreptunghiulara)

Observații:

Universitatea de stat din moldova

Facultatea de matematica de informatica

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Microsoft Visual Studio C++ MFC Project.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
5 pagini
Imagini extrase:
5 imagini
Nr cuvinte:
625 cuvinte
Nr caractere:
4 632 caractere
Marime:
37.19KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Profesorului:
G. Marin
Sus!