C/Visual C - Objetos en C++ no en VC

 
Vista:

Objetos en C++ no en VC

Publicado por federico (40 intervenciones) el 05/05/2004 15:21:08
Bueno tengo la siguiente duda de objetos, mi idea es crear una especie de Visual C++(Por favor no cierren este mail por lo que acabo de poner), pero con mi libreria de objetos al estilo windows, yo ya cree el boton, el textbox, etc(basicos), pero mi duda es la siguiente: como hago para crear objetos dinamicamente con la pc, osea no por codigo del programador que usa objetos sin por la pc(por ejemplo no creo que el programador del winmine o buscaminas halla puestos 1000 de botones a mano. Ademas como hago para que el programador agrege codigo al click, yo pense que el programador tenga que crear una clase y heredar toda la funcionalidad del por ejemplo Boton y agregar el metodo click, con un nombre clave asi el generador de eventos puede ejecutarlo.

Desde ya muchas gracias, y al que le interese se puede sumar a mi proyecto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Objetos en C++ no en VC

Publicado por chuidiang (677 intervenciones) el 06/05/2004 10:24:27
Para crear los botones hazte un array de punteros a Boton y los creas y guardas con un bucle.

Boton *botones[100];
for (int i=0; i<100; i++)
botones[i] = new Boton (...);

Por supuesto, el array puede ser dinamico
Boton *botones[];
y luego hacer el new del tamaño que quieras.

Para agregar código al click, haz que botón tenga el siguiente método

tomaCodigoClick (InterfaceCodigoClick *codigo);

La interface puede ser algo como

class InterfaceCodigoClick()
{
public:
virtual void activate () = 0;
}

El botón debe guardarse lo que le pasan y cuando se hace click llamar al activate().

El programador debe hacer una clase que herede de esa interface, implementar el codigo del activate() y pasarsela al boton o botones que l e inteeresen.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar