Hola, si lo que quiero hacer es dibujar un diagrama como el que adjunto, creando lineas con:
Código Delphi
[-]
Image1.Canvas.MoveTo(x1,y1);
Image1.Canvas.LineTo(x2,y2);
y usando MOUSEDOWN y MOUSEUP para sus coordenadas pero bueno aparte de eso quiero insertar las imágenes (descargadas de google NO dibujadas) como la computadora, el router etc. por medio de los botones, bueno por ejemplo si le doy en el boton linea pues dibujo una linea que seria representación del cable y así sucesivamente si le doy en el boton computadora me muestre dicha imagen y así sucesivamente con la impresora, el switch etc. hasta ir formando todo mi diagrama.
Les adjunto igual mi código por si no me supe explicar jeje Gracias por la ayuda de antemano
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, Buttons;
type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Image1: TImage;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Label3: TLabel;
procedure SpeedButton1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
public
end;
var Form1: TForm1;
i,j,x1,y1,x2,y2 : Integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin
Image1.Canvas.Pen.Color := RGB(250,150,0); Image1.Canvas.Pen.Width := 5; Image1.Canvas.MoveTo(x1,y1); Image1.Canvas.LineTo(x2,y2);
end;
procedure TForm1.Button2Click(Sender: TObject); begin
Image1.Canvas.Pen.Color := RGB(50,50,50); Image1.Canvas.Pen.Width := 3; Image1.Canvas.MoveTo(x1,y1); Image1.Canvas.LineTo(x2,y2);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('computadora.jpg');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '0';
Image1.Canvas.Rectangle(0,0,1000,1000);
for I := 1 to 20 do for J := 1 to 20 do
Image1.Canvas.Pixels[i*50,j*50] := RGB(150,150,150);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x1 := X;
y1 := Y;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x2 := X;
y2 := Y;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
end;
end.