Ver Mensaje Individual
  #3  
Antiguo 21-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola dfarias.

Otra alternativa es situar el TImage dentro de un Panel:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Align  := alNone;
  Image1.Width  := Panel1.Width - 6;
  Image1.Height := Panel1.Height - 6;
  Image1.Stretch:= True;
  Image1.Left   := (Panel1.Width - Image1.Width) div 2;
  Image1.Top    := (Panel1.Height - Image1.Height) div 2;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  pnl: TPanel;
  img: TImage;
begin
  img := TImage(Sender);
  pnl := TPanel(img.Parent);
  pnl.BevelOuter := bvLowered;
  img.Width  := img.Width  - 2;
  img.Height := img.Height - 2;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  pnl: TPanel;
  img: TImage;
begin
  img := TImage(Sender);
  pnl := TPanel(img.Parent);
  pnl.BevelOuter :=  bvRaised;
  img.Width  := img.Width  + 2;
  img.Height := img.Height + 2;
end;

procedure TForm1.Image1Click(Sender: TObject);
var
  msg: TForm;
begin
  msg := CreateMessageDialog('ImageClick', mtCustom,[mbOk]);
  try
    msg.Left := Left + (Width - msg.Width) div 2;
    msg.Top  := Top  + (Height - msg.Height) div 2;
    msg.ShowModal;
  finally
    msg.Free;
  end;
end;

Efecto:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita