Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2006
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.549
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
Efecto de sombra en los controles de un form

Se trata de crear una sombra a todos los componentes colocados en un form. Más como curiosidad y didáctico que como utilidad; En fin, curioso.

El código:

Código Delphi [-]
procedure TForm1.FormPaint(Sender: TObject);
 var
   i: Integer;

   procedure MakeShadow(control: TControl; Width: Integer; Color: TColor);
   var
     rect: TRect;
     old: TColor;
   begin
     // Bordes del control
     // Borders of controls
     rect := control.boundsrect;
     rect.Left := rect.Left + width;
     rect.Top := rect.Top + width;
     rect.Right := rect.Right + width;
     rect.Bottom := rect.Bottom + width;
     // Guardar el color
     // Save the old color
     old := Self.canvas.brush.color;
     // Pintar la sombra
     // Paint the shadow
     Self.canvas.brush.Color := color;
     Self.canvas.fillrect(rect);
     Self.canvas.brush.Color := old;
   end;

 begin

   // Revisar todos los componentes del form
   // Go trough all form components
   for i:=0 to Self.ControlCount-1 do
    if self.Controls[i].Visible then
     MakeShadow(Self.Controls[i],2,clGray);

 end;

Utilización: Simplemente pon esto en el evento OnPaint de tu formulario.
Posible mejora: Crear un componente que se encargue de ésta tarea (a partir del Owner -TForm-).
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


La franja horaria es GMT +2. Ahora son las 01:34:51.


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