![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
urgente¡¡como guardo en archivo varios shapes¡¡¡
hola que tal¡¡¡
agradeceria bastante si alguien me puediera ayudar a guardar las imagenes generadas por este codigo que anexo acontinuacion. unit proyecto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Edit1: TEdit; Button4: TButton; PrintDialog1: TPrintDialog; MainMenu1: TMainMenu; Archivo1: TMenuItem; Abrir1: TMenuItem; Guardar1: TMenuItem; imprimir1: TMenuItem; Salir1: TMenuItem; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Salir1Click(Sender: TObject); procedure imprimir1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private Capturing:Boolean; MouseDownSpot:TPoint; NumFiguras:Integer; procedure _IMGMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure _IMGMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure _IMGMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure _IMGMouseMove1(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure _IMGMouseUp1(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure _IMGMouseDown1(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); public { Public declarations } end; var Form1: TForm1; NumFiguras: integer; elipse:TShape; edit_elipse:tedit; rec:TShape; edit_rec:tedit; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin // Crear un componentes edit_elipse:=tedit.Create(self); edit_elipse.Parent:=self; edit_elipse.BorderStyle:=bsnone; elipse := TShape.Create(Self); elipse.Parent := Self; // Posicion elipse.Top := 100; elipse.Left := 100; edit_elipse.Top:=elipse.Top +20; edit_elipse.Left:=elipse.Left+20; // Tamaño elipse.Height := 50; elipse.Width := 100; edit_elipse.height:=20; edit_elipse.Width:=70; // Tipo de elemento elipse.Shape := TShapeType(stEllipse); // Asignar para que pueda arrastrarse elipse.OnMouseMove := _IMGMouseMove; elipse.OnMouseDown := _IMGMouseDown; elipse.OnMouseUp := _IMGMouseUp; edit_elipse.OnMouseDown := _IMGMouseDown; edit_elipse.OnMouseMove := _IMGMouseMove; edit_elipse.OnMouseUp := _IMGMouseUp; // Otras propiedades elipse.Cursor := crHandPoint; elipse.Brush.Color := RGB(120,250,23); edit_elipse.Brush.Color:=rgb(120,250,23); edit_elipse.Cursor:=crHandPoint; end; procedure TForm1._IMGMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Capturing := true; MouseDownSpot.X := x; MouseDownSpot.Y := Y; end; procedure TForm1._IMGMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin edit_elipse.left:=elipse.left+15; edit_elipse.top:=elipse.top+15; if Capturing then begin TWinControl(Sender).Left := TWinControl(Sender).Left - (MouseDownSpot.x - x); TWinControl(Sender).Top := TWinControl(Sender).Top - (MouseDownSpot.y - y); end; end; procedure TForm1._IMGMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Capturing then begin ReleaseCapture; Capturing := false; TWinControl(Sender).Left := TWinControl(Sender).Left - (MouseDownSpot.x - x); TWinControl(Sender).Top := TWinControl(Sender).Top - (MouseDownSpot.y - y); end; end; procedure TForm1.Button2Click(Sender: TObject); begin // Crear un componentes edit_rec:=tedit.Create(self); edit_rec.Parent:=self; edit_rec.BorderStyle:=bsnone; rec := TShape.Create(Self); rec.Parent := Self; // Posicion rec.Top := 100; rec.Left := 100; edit_rec.Top:=rec.Top +20; edit_rec.Left:=rec.Left+20; // Tamaño rec.Height := 50; rec.Width := 100; edit_rec.height:=20; edit_rec.Width:=70; // Tipo de elemento rec.Shape := TShapeType(stRoundRect); // Asignar para que pueda arrastrarse rec.OnMouseMove := _IMGMouseMove1; rec.OnMouseDown := _IMGMouseDown1; rec.OnMouseUp := _IMGMouseUp1; edit_rec.OnMouseDown := _IMGMouseDown; edit_rec.OnMouseMove := _IMGMouseMove; edit_rec.OnMouseUp := _IMGMouseUp; // Otras propiedades rec.Cursor := crHandPoint; rec.Brush.Color := RGB(120,250,23); edit_rec.Brush.Color:=rgb(120,250,23); edit_rec.Cursor:=crHandPoint; end; procedure TForm1._IMGMouseDown1(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Capturing := true; MouseDownSpot.X := x; MouseDownSpot.Y := Y; end; procedure TForm1._IMGMouseMove1(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin edit_rec.left:=rec.left+15; edit_rec.top:=rec.top+15; if Capturing then begin TWinControl(Sender).Left := TWinControl(Sender).Left - (MouseDownSpot.x - x); TWinControl(Sender).Top := TWinControl(Sender).Top - (MouseDownSpot.y - y); end; end; procedure TForm1._IMGMouseUp1(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Capturing then begin ReleaseCapture; Capturing := false; TWinControl(Sender).Left := TWinControl(Sender).Left - (MouseDownSpot.x - x); TWinControl(Sender).Top := TWinControl(Sender).Top - (MouseDownSpot.y - y); end; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then self.canvas.moveto(x,y); if ssRight in Shift then self.canvas.lineto(x,y); canvas.TextOut(x,y,edit1.text); end; procedure TForm1.Button3Click(Sender: TObject); begin edit1.Visible:=true; button4.Visible:=true; end; procedure TForm1.Button4Click(Sender: TObject); begin edit1.Visible:=false; button4.Visible:=false; end; procedure TForm1.Salir1Click(Sender: TObject); begin close; end; procedure TForm1.imprimir1Click(Sender: TObject); begin PrintDialog1.Execute; end; procedure TForm1.FormCreate(Sender: TObject); begin end; end. |
|
|
![]() |
|