Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2016
Sergio J. Sergio J. is offline
Miembro
 
Registrado: may 2003
Ubicación: Andalucía (España)
Posts: 97
Poder: 21
Sergio J. Va por buen camino
Poner una imagen encima de un grid

Hola a todos:

He estado buscando información para superponer una imagen en un form que quede al estilo de la imagen adjunta...


...pero se queda por debajo de algunos objetos como TEdit, TDBGrid, y otros.

Agradecería una pista, gracias.

Un saludo.
Imágenes Adjuntas
Tipo de Archivo: png Captura-con-sello.png (27,5 KB, 19 visitas)
Responder Con Cita
  #2  
Antiguo 30-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
1) Necesitas un contenedor donde colocar la imagen y que permanezca "OnTop". Por ejemplo un TPanel.
2) Hay bastantes implementaciones de un panel transparente. Por ejemplo, aquí tienes una que funciona.
(fuente http://stackoverflow.com/questions/1...el-transparent)

Código Delphi [-]
unit PanelTransparent;


interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TPanelTransparent = class (TPanel)
  private
    procedure CnCtlColorStatic (var Msg: TWMCtlColorStatic); message CN_CTLCOLORSTATIC;
    procedure WmEraseBkgnd (var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
    procedure Paint; override;
  protected
    procedure CreateParams (var Params: TCreateParams); override;
  end;

procedure Register;


implementation

procedure Register;
  begin
    RegisterComponents ('AppMic', [TPanelTransparent]);
  end;

procedure TPanelTransparent.CreateParams (var Params: TCreateParams);
  begin
    inherited CreateParams(Params);
    Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT;
  end;

procedure TPanelTransparent.WmEraseBkgnd(var Msg: TWMEraseBkgnd);
  begin
    Msg.Result := 1;
  end;

procedure TPanelTransparent.CnCtlColorStatic(var Msg: TWMCtlColorStatic);
  begin
    SetBKMode (Msg.ChildDC, TRANSPARENT);
    Msg.Result := GetStockObject (NULL_BRUSH);
  end;

procedure TPanelTransparent.Paint;
  begin
    SetBKMode (Handle, TRANSPARENT);
    //inherited;
  end;

end.

3) Luego creas una imagen con transparencia y la colocas dentro. Por ejemplo esta:
http://s26.postimg.org/woapk0pop/marca_agua_Trans.png

Con eso debería bastar.

http://s26.postimg.org/4pgjt5o21/Captura_2025.png

NOTA: Tendrás que lidiar con el repintado, pero eso ya es otro tema.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 30-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.271
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Estoy pensando que esto tendrá también un problema con los eventos de ratón, pues el panel sigue estando delante del Grid.
Te sirve para visualizar inicialmente, pero a la hora de trabajar con el grid, deberás ocultarlo/eliminarlo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 30-11-2016
Sergio J. Sergio J. is offline
Miembro
 
Registrado: may 2003
Ubicación: Andalucía (España)
Posts: 97
Poder: 21
Sergio J. Va por buen camino
Gracias Neftali, probaré a insertar dicha unidad y en ella coloco la imagen.

No te preocupes por los eventos, ya que si se visualiza la imagen no se debe modificar el grid.

Gracias de nuevo y un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imagen se monta encima del texto andriy_89 Impresión 6 08-02-2013 21:07:57
Imagen encima de todo orodruin OOP 4 14-11-2005 09:32:55
Mover una imagen encima de otra maravert Gráficos 2 24-02-2005 01:04:45
¿Como quitar una imagen que esta encima de otra? astur_racing Gráficos 3 01-09-2004 20:47:15
Insertar una imagen encima de otra e imprimirlas CORBATIN Gráficos 0 04-06-2003 00:16:19


La franja horaria es GMT +2. Ahora son las 01:42:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi