Ver Mensaje Individual
  #2  
Antiguo 26-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 19.441
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Luli
Cuando oprimo un boton de la barra de herramientas debe pintarse en el área de dibujo una figura, le que tenga asignada dicho botón. Bueno, lo que necesito saber es como hacer que si oprimo el botón, yo pueda poner el cursor en donde quiero la figura y al dar un click esta se pinte.
Una forma de hacerlo podría ser la siguiente (puede haber muchas más, seguro que a otra persona se le ocurriría otra):
Utiliza una variable booleana para marcar que vas a pintar (Pintando) y otra (tipo enumerado) para el tipo de figura (TipoFigura); Al pulsar un botón activas el flag de pintando y marcas el tipo de figura; Cuando hagas un click sobre el area de dibujo preguntas si "se debe crear algo" (Pintando=True) y si no continuas.

Código Delphi [-]
 
type
  TipoFigura = (tpNada, tfLinea, tpCirculo, tpCuadrado)
...
 
// Al marcar sobre el boton de circulo....
TipoFigura := tpCirculo;
Pintando := True;
...
 
// Al hacer un click sobre el area de dibujo...
if (Pintando) and (TipoFigura <> tpNada) then begin
  // crear la figura.
  ....
  // Limpiar las variables que hemos utilizado como "flags"
  TipoFigura := tpNada;
  Pintando := False;
end
else begin
  // otras cosas...
end;


Cita:
Empezado por Luli
żpuedo ir guardando las figuras que voy creando en una pila o un arreglo?
Por supuesto, aunque tal vez te sea más sencillo un TStringList ya que cada objeto (string) posee un apuntador a un objeto (propiedad Objects) que te facilitará mucho el trabajo. Además si trabajas con ella ordenada (necesitará un String que te haga de clave) el acceso a los objetos es más rápido que a un array (secuencial).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita