Ver Mensaje Individual
  #5  
Antiguo 16-04-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Reputación: 21
rrf Va por buen camino
Hola.

He encontrado una posible solución al problema de que desaparezca la imagen. Posiblemente no valdrá para todo el mundo, pues dependerá de las necesidades.

Comparto el código por si alguien lo puede necesitar en el futuro.

Se trata de añadir un TImage y copiar a la imagen lo que se había dibujado en el panel y así la imagen queda fija.

El image1.BringToFront permite que la imagen quede por encima del panel.

El procedimiento image1click lo incluyo porque permite comprobar, tras realizar el proceso, si estamos viendo la imagen o estamos viendo el panel.

Con relación a saber (en el caso de que hayan varias aplicaciones o programas funcionando en Windows) si el programa que está activo en ese momento es el programa nuestro. Eso no he encontrado la forma de hacerlo.

Saludos.




Código Delphi [-]
procedure TForm1.Button8Click(Sender: TObject);
begin
       // Pasa el dibujo del canvas a un TImage
       //---------------------------------------

  Image1.Left  := Panel1.Left;
  Image1.Top   := Panel1.top;
  Image1.Width := Panel1.Width;
  Image1.Height:= Panel1.Height;

  Image1.Canvas.CopyRect(Rect(0,0, Image1.Width, Image1.Height), Panel1.Canvas,
                         Rect(0,0,Panel1.Width, Panel1.Height));

  Image1.BringToFront;

end;

procedure TForm1.Image1Click(Sender: TObject);
begin
      // Image1Click
      //-------------
 ShowMessage('CLIC EN IMAGE1');

end;
Responder Con Cita