Microsoft Visual Studio C++ MFC Project

Laborator
7/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: docx
Pagini : 5 în total
Cuvinte : 625
Mărime: 37.19KB (arhivat)
Publicat de: Anica Murariu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: G. Marin
Universitatea de stat din moldova Facultatea de matematica de informatica

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)

Preview document

Microsoft Visual Studio C++ MFC Project - Pagina 1
Microsoft Visual Studio C++ MFC Project - Pagina 2
Microsoft Visual Studio C++ MFC Project - Pagina 3
Microsoft Visual Studio C++ MFC Project - Pagina 4
Microsoft Visual Studio C++ MFC Project - Pagina 5

Conținut arhivă zip

  • Microsoft Visual Studio C++ MFC Project.docx

Alții au mai descărcat și

Microsoft Excel

Obiective: 1. Crearea, redenumirea, utilizarea şi ştergerea foilor de calcul tabelar; 2. Definirea şi formatarea celulelor; 3. Definirea...

Design-ul și Machetarea Paginilor Web

Trei reguli faţă de un sit 1. Respectarea strictă a standardelor internet. 2. Alegerea riguroasă a conţinutului paginilor web. 3. Asigurarea...

Criptarea Textelor cu Ajutorul Algoritmului Caesar și Affine

Affine: Cifrul afin este un tip de cifru de substitutie monoalphabetica. în care fiecare literă într-un alfabet este mapat la echivalentul său...

Excel - Baze de Date

CALCUL TABELAR. PROCESOARE DE TABELE. EXCEL Prezentare generală a calculului tabelar Procesoarele de calcul tabelar sau generatoarele de foi de...

Grafică pe calculator - Biblioteci grafice 2D

Conditii Varianta 7 ln(1+x) = -∑_(k=0)^∞▒〖(-1)〗^(k+1)*x^2/k , x ∈ (-1,1] De elaborat un program in C++ utilizand Microsoft Foundation Classes...

Structuri de Date și Algoritmi

Lucrarea 1 Evaluarea si masurarea timpului de executie al unui algoritm 1.Definitia unui tip de date abstract - TDA Un TDA este un model...

Tehnici de Programare a Datelor

1. Care este diferenta intre un semnal continuu si un semnal continuu cuantificat? In functie de evolutia temporala semnalele se clasifica in...

Probleme Programare

Sa se scrie o functie care calculeaza cel mai mare divizor comun dintre 2 nr numere intregi nenule, utilizand algoritmul lui Euclid. /* CMMDC */...

Te-ar putea interesa și

Programare Visual C++

VC ++ poate fi utilizat pentru a dezvolta programe pentru trei platforme Win32: Windows NT (pe procesoare multiple), Windows 95/98 si Win32s....

Ai nevoie de altceva?