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)
...
TipoFigura := tpCirculo;
Pintando := True;
...
if (Pintando) and (TipoFigura <> tpNada) then begin
....
TipoFigura := tpNada;
Pintando := False;
end
else begin
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).