unit imagview;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls,Dialogos, Buttons,checa;

type
  TFormaImagen = class(TForm)
    Imagen: TImage;
    Shape1: TShape;
    Panel1: TPanel;
    Bevel9: TBevel;
    Bevel10: TBevel;
    Bevel11: TBevel;
    Label3: TLabel;
    Panel2: TPanel;
    Descripcion: TMemo;
    BotonSalir: TSpeedButton;
    BotonImprimir: TSpeedButton;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Label1: TLabel;
    procedure Panel2Click(Sender: TObject);
    procedure BotonSalirClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure BotonImprimirClick(Sender: TObject);
    procedure ImagenDblClick(Sender: TObject);
    procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormaImagen: TFormaImagen;
  archi:string;
procedure abreimagen(archivo:string);
implementation

{$R *.DFM}

procedure estrecha;
var
ancho,largo:Real;
begin
with FormaImagen do
begin
//ShowMessage(IntToStr(Imagen.Picture.Width)+'  '+ IntToStr(Imagen.Width));
ancho:=(Imagen.Picture.Width/Imagen.Width);
//largo:=Imagen.Picture.Height/Imagen.Height;

//Imagen.Width:=Trunc(Imagen.Width/ancho);
Imagen.Height:=Trunc(Imagen.Picture.Height/ancho);
Imagen.Stretch:=not Imagen.Stretch;
if (Imagen.Height<Imagen.Picture.Height)and(not Imagen.Stretch) then
 Imagen.Height:=Imagen.Picture.Height;

end;

end;

procedure abreimagen(archivo:string);
begin
FormaImagen:=TFormaImagen.Create(Application);
with FormaImagen do
begin
if FileExists(archivo) then
begin
Imagen.Stretch:=False;
Imagen.Height:=313;
Imagen.Width:=321;
Imagen.Picture.LoadFromfile(archivo);
archi:=archivo;
{*******lee descripcion****}
if FileExists(archivo+'.dat') then
Descripcion.Lines.LoadFromfile(archivo+'.dat')
else
Descripcion.Clear;

FormaImagen.ShowModal;

end
else
MuestraMensaje('No Tiene Imágen');

end;
FormaImagen.Free;
end;

procedure TFormaImagen.Panel2Click(Sender: TObject);
begin
Close;
end;

procedure TFormaImagen.BotonSalirClick(Sender: TObject);
begin
close;
end;


procedure TFormaImagen.SpeedButton1Click(Sender: TObject);
begin
Descripcion.Lines.SaveToFile(archi+'.dat');
end;


procedure TFormaImagen.BotonImprimirClick(Sender: TObject);
begin
If ImpresoraLista then
begin
Panel1.Visible:=False;
FormaImagen.Print;
Panel1.Visible:=True;
end
else
MuestraMensaje('La Impresora No Se Encuentra Lista...');

end;

procedure TFormaImagen.ImagenDblClick(Sender: TObject);
begin
estrecha;
{Imagen.Stretch:=True}
{Imagen.Stretch:=False;}
end;

procedure TFormaImagen.Panel1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(FormaImagen.Handle, WM_SYSCOMMAND, $F012, 0);
end;

procedure TFormaImagen.Label1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(FormaImagen.Handle, WM_SYSCOMMAND, $F012, 0);
end;

end.
