• Martes 14 de Mayo de 2024, 00:05

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - alfusfer

Páginas: [1]
1
Visual C++ / Re: Error Con Mfc
« en: Sábado 17 de Abril de 2004, 10:27 »
gracias, me has sido de gran ayuda

2
Visual C++ / Re: Error Con Mfc
« en: Lunes 5 de Abril de 2004, 12:09 »
muchas gracias, espero tu ayuda impaciente

3
Visual C++ / Re: Error Con Mfc
« en: Viernes 2 de Abril de 2004, 12:13 »
Ya se que estoy muy mal, es la primera vez que utilizo MFC y no tengo ni idea.  Como se podría hacer, me podrías hechar una mano?? Es bastante urgente

4
Visual C++ / Error Con Mfc
« en: Miércoles 31 de Marzo de 2004, 10:05 »
Hola a todos, os explico mi problema:

He creado un workspace con dos proyectos: uno es "MFC App Wizard(exe)" cuyo nombre es "draw" y el otro "Win 32 console Application" que su nombre es "principal".
Mi intención es llamar a "draw" desde "principal". En principal, elijo un número del 1 al 11. Miro en unas variables globales que coordenadas corresponden a este número, las guardo en otras variables globales y entonces llamo a OnDraw(pDC). Como se trata de variable globales, mi intención es que dentro de OnDraw al llamar a pDC->Ellipse(x1,y1,x2,y2), me dibujara un círculo con los datos que hay en estas variables.
Cada uno de los proyectos los puedo compilar por separado sin dar errores, pero cuando intento ejecutar "principal.exe"  da este error: 0 x C0000005: Acces Violation. Supongo que el problema estará en la llamada a la función OnDraw(),
COmo puedo llamar a la función OnDraw() desde otro proyecto?? si es que se puede hacer.

He escrito abajo el código de pricipal y el de draw para una mayor aclaración.
Espero que alguién me ilumine.
Un saludo




      ****************** CÓDIGO DE PRINCIPAL ***************************


#include <iostream.h>
#include "stdafx.h"
#include "draw.h"
#include "drawDoc.h"
#include "drawView.h"



               //////////////////////////////
               //   INITIALS COORDENATES   //
               //////////////////////////////

int Coord_x1 [ ] = {450, 300, 200, 350, 550, 700, 800, 650, 475, 625, 550};
int Coord_y1 [ ] = { 50, 150, 350, 450, 500, 450, 275, 100, 300, 300, 400};
int Coord_x2 [ ] = {750, 600, 500, 650, 850,1000,1125, 950, 675, 825, 750};
int Coord_y2 [ ] = {350, 450, 650, 750, 800, 750, 600, 400, 500, 500, 600};


int x1,y1,x2,y2;

CDrawView *drawer;
CDC *pDC;

/////////////////////////////////////////////////
//                SUBSCRIBE                    //  
/////////////////////////////////////////////////

void main () {

      
   int num;
   cout << "Number of Antenna: " << endl;
   cin >> num;

   
   x1= Coord_x1[num-1];
   y1= Coord_y1[num-1];
   x2= Coord_x2[num-1];
   y2= Coord_y2[num-1];
   
   drawer ->OnDraw(pDC);
   
}










         ****************** CODIGO DE drawView.cpp ***********************


int x1,y1,x2,y2;

void CDrawView::OnDraw(CDC* pDC) {
   
   CDrawDoc* pDoc = GetDocument();
   ASSERT_VALID(pDoc);
   
   /////////////////////////////////////////////////////
   //               wRITE TEXT                        //
   /////////////////////////////////////////////////////
   
   char text [] = "Cover zone for mobile telephony ";
   pDC ->SetTextColor(RGB(0,0,0));
   pDC ->TextOut(25,25,text,strlen (text));


   //////////////////////////////////////////////////////
   //             DRAW POLYGON                         //
   //////////////////////////////////////////////////////

   CPen * draw_poly;
   CPen Pen (PS_SOLID, 3, RGB (0,0,0));
       POINT points [7] = {600, 50, 350, 250, 250, 550, 550, 750, 950, 650, 1100, 350, 600, 50};
   draw_poly = pDC ->SelectObject(&Pen);
   pDC ->Polyline (points,7);
   pDC ->SelectObject (Pen);

   //////////////////////////////////////////////////////
   //              DRAW CIRCLES                        //
   //////////////////////////////////////////////////////

   CPen * draw_circles;
   CPen Pen2 (PS_SOLID, 1, RGB (0,0,0));
   
   CBrush * antiguoRelleno;
   CBrush Relleno (RGB (0,0,255));
   
   draw_circles = pDC ->SelectObject(&Pen2);
   antiguoRelleno = pDC ->SelectObject (&Relleno);
   
   pDC->Ellipse(x1,y1,x2,y2);
     
   pDC ->SelectObject (Pen2);        

}

5
Visual C++ / Problemas Con Mfc
« en: Martes 9 de Marzo de 2004, 15:04 »
Tengo que dibujar una superfice poligonal y dentro de esta unos cuantos circulos. He utilizado MFC y el siguiente código dibuja lo que quiero, pero con el inconveniente de que los parametros estan fijos.


void CdrawView::OnDraw(CDC* pDC)
{
CdrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here

CPen * draw_poly;
CPen Lapiz (PS_SOLID, 3, RGB (0,0,0));
POINT puntos [7] = {600, 50, 350, 250, 250, 550, 550, 750, 950, 650, 1100, 350,600,50};
draw_poly = pDC ->SelectObject(&Lapiz);
pDC ->Polyline (puntos,7);
pDC ->SelectObject (Lapiz);


CPen * draw_circles;
CPen Lapiz2 (PS_SOLID, 1, RGB (0,0,0));

CBrush * antiguoRelleno;
CBrush Relleno (RGB (0,0,255));

draw_circles = pDC ->SelectObject(&Lapiz2);
antiguoRelleno = pDC ->SelectObject (&Relleno);

pDC->Ellipse(450, 50, 750, 350);
pDC->Ellipse(300,150, 600, 450);
pDC->Ellipse(200,350, 500, 650);
pDC->Ellipse(350,450, 650, 750);
pDC->Ellipse(550,500, 850, 800);
pDC->Ellipse(700,450,1000, 750);
pDC->Ellipse(800,275,1125, 600);
pDC->Ellipse(650,100, 950, 400);
pDC->Ellipse(475,300, 675, 500);
pDC->Ellipse(625,300, 825, 500);
pDC->Ellipse(550,400, 750, 600);
pDC ->SelectObject (Lapiz2);

}

Mi pregunta es: Como puedo cambiar los radios de los
circulos cuando el programa se esté ejecutando? me gustaría meterlos por
pantalla, o que los lea de una matriz.  Para ello necesitaré hacer una llamada a la función metiendole unos parametros, como por ejemplo:

         OnDraw(CDC* pDC, int X1, int Y1, int X2, int Y2);

 y en el programa que he puesto antes tendría que poner algo así (más o menos)

                 pDC->Ellipse(X1, Y1, X2, Y2);

Espero que alguien me pueda echar un cable con esto.

6
Visual C++ / Como Dibujar Con Vc++?
« en: Jueves 4 de Marzo de 2004, 20:39 »
Mi intención es hacer una simulación de una zona de cobertura de una estacion de telefonia movil (es decir, un poligono irregular) en la que hay unas coberturas de diferentes antenas (es decir, simples circulos), el programilla lo tengo hecho en Visual C++ con unas librerias de "Ezwin", pero el problema es que cuando intento unirlo con un Servidor CORBA da errores de link xq resulta que esta libreria (Ezwinvc50.lib) es incompatible con el programa que estoy usando por redefiniciones de variable, etc.
Como podría dibujar un poligono irregular de dimensiones fijas, unos circulos (10 ó 12) con unas coordenadas dadas, pero con un radio variable que lo meteria yo, pero claro sin usar esta libreria, he estado probando con graphic.h, pero no lo puedo usar en VC++. Como podría hacer esto de una forma simple y que luego lo pudiera unir a mi otro programa?? estoy seguro que tiene que haber una forma simple de hacer esto.

Espero que alguien me pueda ayudar, ayuda urgente

Páginas: [1]