Programación General > Delphi
Dibujar lineas con el raton (Solucionado)
(1/1)
zany_666:
Hola, me ha surgido un problemilla al intentar dibujar trazos con el ratón sobre un TImage. estuve buscando por internet y encontre un tuto bastante sencillo de como dibujar (de momento solo con una llinea en negro para empezar con algo fácil) pero no me funciona como debe y no se porque es.
Mi diseño es simple: mi TForm con un Timage dentro que cubre todo (align=alClient)
Mi codigo con ayuda del tuto:
--- Código: Delphi ---unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; private { Private declarations } Pintando : Boolean; procedure FormCreate(Sender: TObject); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); public { Public declarations } end; var Form1: TForm1;implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);begin Pintando := False; Image1.Canvas.Refresh;end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin If Button = mbLeft Then Begin Pintando := True; Image1.Canvas.MoveTo (X,Y); end;end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin If Pintando Then Image1.Canvas.LineTo (X,Y);end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin If Button = mbLeft Then pintando := False;end;end.
Al ejecutar el programa me deberia salir la ventana como un lienzo en blanco (tal como el ejemplo del tutorial) y poder hacer trazos pulsando el boton izq del raton pero no aparaece lienzo en blanco, solo mi Tform como sino hubiese puesto Timage. Sabeis porque podria ser? Puede ser por la version de Delphi? La mia es Turbo Delphi 2006.
Un saludo y gracias adelantadas!!!
EDIT: Ya está!!!! Mi error ha sido que tengo que escoger los procedimientos en Events del Objet Inspector
Navegación
Ir a la versión completa