Sunteți pe pagina 1din 4

1.

- Ejercicio Numero 1
Dibujar

Crear una aplicacin simple graficos1


Paso 1 MFC
Paso 2 Soporte de composicin de documentos None (ninguno) siguiente
Paso 3 Propiedades de Plantilla. Por defecto. Siguiente
Paso 4 Soporte de Base de Datos. Ninguna. Finalizar
A continuacin abrir el archivo graficos1View.cpp
Ubicar la funcin OnDraw y habilitar el puntero al dispositivo de Contexto (pDC)
El cdigo para la primera parte ser:
//Dibuja un triangulo
pDC->MoveTo(10,10);
pDC->LineTo(110,110);
pDC->LineTo(110,10);
pDC->LineTo(10,10);
/*Prefabricadas*/
// dibuja un rectangulo de 200 x 100
pDC->Rectangle(120,10,320,110);
// dibuja una eclipse al interior del cuadrado
pDC->Ellipse(330,10,530,110);
// dibuja un sector de 270 grados
pDC->Pie(550,10,650,110,550,60,600,10);
// escribe textos

pDC->TextOutW(20,110,_T("Triangulo"));
pDC->TextOutW(180,110,CString("Rectangulo"));
pDC->TextOutW(400,110,_T("Elipse"));
pDC->TextOutW(600,110,_T("Sector Circular"));
En la segunda parte definimos otro Cpen y dibujamos debajo
//cambia de Cpen
CPen mipincel;
mipincel.CreatePen(PS_SOLID,3,RGB(0,255,0));
pDC->SelectObject(mipincel);
//Dibuja debajo de las figuras anteriores
pDC->MoveTo(10,130);
pDC->LineTo(110,230);
pDC->LineTo(110,130);
pDC->LineTo(10,130);
/*Prefabricadas*/
// dibuja un rectangulo de 200 x 100
pDC->Rectangle(120,130,320,240);
// dibuja una eclipse al interior del cuadrado
pDC->Ellipse(330,130,530,240);
// dibuja un sector de 270 grados
pDC->Pie(550,130,650,230,550,180,600,130);
En la tercera parte definimos otra brocha y dibujamos debajo
//cambia de brocha
CBrush mibrocha;
mibrocha.CreateHatchBrush(3,RGB(255,0,0));
pDC->SelectObject(mibrocha);
// dibuja un rectangulo de 200 x 100
pDC->Rectangle(120,250,320,360);
// dibuja una eclipse al interior del cuadrado
pDC->Ellipse(330,250,530,360);
// dibuja un sector de 270 grados
pDC->Pie(550,250,650,350,550,300,600,250);

2.- Dibujar

Programacion
#include "graficos3Doc.h"
#include "graficos3View.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// Cgraficos3View
IMPLEMENT_DYNCREATE(Cgraficos3View, CView)
BEGIN_MESSAGE_MAP(Cgraficos3View, CView)
// Comandos de impresin estndar
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &Cgraficos3View::OnFilePrintPreview)
ON_WM_CONTEXTMENU()
ON_WM_RBUTTONUP()
END_MESSAGE_MAP()
// Construccin o destruccin de Cgraficos3View
Cgraficos3View::Cgraficos3View()
{
// TODO: agregar aqu el cdigo de construccin

}
Cgraficos3View::~Cgraficos3View()
{
}
BOOL Cgraficos3View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: modificar aqu la clase Window o los estilos cambiando
// CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
// Dibujo de Cgraficos3View
void Cgraficos3View::OnDraw(CDC* pDC)
{
Cgraficos3Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: agregar aqu el cdigo de dibujo para datos nativos
double x,ysen,ycos;
pDC->MoveTo(0,100);
pDC->LineTo(800,100);
for(x=0; x<=800;x=x+2)
{ ycos=cos(x/180*3.1416)*100+100;
ysen=sin(x/180*3.1416)*100+100;
pDC->SetPixel(x,ycos,RGB(0,0,255));
pDC->SetPixel(x,ysen,RGB(255,0,0));}
pDC->SetTextColor(RGB(0,0,255));
pDC->TextOutW(250,40,_T("Coseno"));
pDC->SetTextColor(RGB(255,0,0));
pDC->TextOutW(450,160,_T("Seno"));
}

S-ar putea să vă placă și