Creación de TShapes dinamicamente

Moderador: yalmar

Foro cerrado salvo peticion.

Creación de TShapes dinamicamente

Notapor boxhaul » Mar Sep 04, 2007 7:23 pm

Hola! Estoy tratando de crear TShapes (circulos) de manera de dinamica desde C++Builder 6 pero todavia no logro hacerlo.

Tengo un Shape en forma de circulo y un panel en mi forma principal. Lo que quiero hacer es una especie de arrastre de tal modo que cuando suelte el boton del mouse se cree un nuevo Shape, tambien en forma de circulo, es código que tengo implementado hasta ahora es este:

Código: Seleccionar todo
  1. void __fastcall TForm1::FormResize(TObject *Sender)

  2. {

  3.     Panel1->Height = Form1->ClientHeight;

  4. }

  5. //---------------------------------------------------------------------------

  6. void __fastcall TForm1::Shape2DragOver(TObject *Sender, TObject *Source,

  7.       int X, int Y, TDragState State, bool &Accept)

  8. {

  9.     Accept = True;    

  10. }

  11. //---------------------------------------------------------------------------

  12. void __fastcall TForm1::Shape2DragDrop(TObject *Sender, TObject *Source,

  13.       int X, int Y)

  14. {

  15.     TShape *place = (TShape *)Source;

  16.     TPanel *red = (TPanel *)Sender;

  17.    

  18.     // Estoy intentando hacer esto pero para crear el nuevo Shape pero no me funciona

  19.     TShape *lugar = new TShape(this);

  20.     lugar->Shape = stCircle;

  21. }

  22. //---------------------------------------------------------------------------

  23. void __fastcall TForm1::Shape2StartDrag(TObject *Sender,

  24.       TDragObject *&DragObject)

  25. {

  26.     Label3->Caption = "Starting the drag...";

  27. }

  28. //---------------------------------------------------------------------------

  29. void __fastcall TForm1::Shape2EndDrag(TObject *Sender, TObject *Target,

  30.       int X, int Y)

  31. {

  32.     Label3->Caption = "Finishing the drag...";

  33. }



Les agradezco mucho su ayuda.
Una cosa mas, podrian recomendarme alguna página para estudiar sobre como arrastrar y soltar objetos y para crear objetos dinamicamente? Muchas gracias.
boxhaul
Novato
Novato
 
Mensajes: 3
Registrado: Mar Sep 04, 2007 6:43 pm


Re: Creación de TShapes dinamicamente

Notapor yalmar » Vie Sep 07, 2007 11:46 am

Hola,

en primer lugar no debes declarar y crear un puntero en una función, por que no luego no tienes como destruirlo, ahora en tu code:

Código: Seleccionar todo
  1. TShape *place = (TShape *)Source;

  2.     TPanel *red = (TPanel *)Sender;

  3.    

  4.     // Estoy intentando hacer esto pero para crear el nuevo Shape pero no me funciona

  5.     TShape *lugar = new TShape(this);

  6.     lugar->Shape = stCircle;



lugar tendrias que asociarlo a algun objeto que pueda visualizarlo.

algo como:

form->draw(lugar);
Avatar de Usuario
yalmar
Colaborador
Colaborador
 
Mensajes: 264
Registrado: Mié Jun 09, 2004 4:14 pm
Ubicación: Brasil



    

Volver a C++ Builder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron