Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-04-2014
FENIXadr FENIXadr is offline
Miembro
 
Registrado: may 2010
Ubicación: Córdoba - Cba. - Argentina
Posts: 101
Poder: 14
FENIXadr Va por buen camino
Haciendo ventanas con cualquier forma..

Si señor... basta de ventanas rectangulares, aqui les traigo un truquito muy sencillo pero que puede solucionarles alguna situación a la hora de hacer cosas estéticamente raras pero lindas.. se trata de hacer un Form de cualquier forma.. si .. asi es .. no leyeron mal.. de cualquier forma, el límite es su imaginación..
Para este truco vamos a utilizar algunas propiedades que traen los forms y que generalmente no se le da demaciada importancia, estamos hablando de la prpiedad BorderStyle, Color,TransparentColor y TransparentColorValue.
Generalmete los forms tiene un color fijo en casi todas las aplicaciones dependiendo del tema que usemos en windows, nosotros vamos a colocar el color Fucsia como nuetro color de ventana y de esta manera todo lo que sea Fucsia será transparente..

entonces :

BorderStyle = bsNone ----> para que no muestre borde alguno.
Color = clFuchsia ----> color de fondo del Form.
TransparentColor = True ----> Activamos la transparencia
TransparentColorValue = clFuchsia -----> Especificamos que color se tomará como transparente


esto se coloca directamente desde el "Object Inspector" sin necesidad de escribir ni una sola línea de código..

luego agregamos un TImage con una imagen cualquiera para darle la forma que deseamos a nuestro form donde todo lo que querramos que sea transparente debe ser de color fucsia..

en este punto ya logramos lo que deseábamos.. un form de cualquier forma.. pero debemos agregar un mensaje para poder moverla porque ya no tenemos el borde superior que hacia este trabajo...

vamos al código
Código Delphi [-]
unit UForma;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Este procedimiento es para mover la ventana desde cualquier lugar
// que le hagamos Click.
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    //if Y < 30 then  // habilitamos solo los primeros 30 pixeles superiores para
    begin           // simular la barra superior de un form normal
      ReleaseCapture;
      SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
    end;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;

end.
como ven es realmente sencillo...

lo único que deberán tener en cuenta es el alisado del borde en la imagen, no pude estar alisado sino se verán pequeños puntos fuccias..

si tienen que retocar alguna imagen para pintar el exterior de color fucsia con algún soft tipo Photoshop, deben tener en cuenta que los valores del fucsia en RGB deben ser : RED = 255, GREEN = 0 y BLUE = 255.

adjunto un ejemplo listo para compilar.

espero que les guste.. comenten cualquier inconveniente o duda..

saludos..
Archivos Adjuntos
Tipo de Archivo: rar Ventana con forma.rar (102,1 KB, 125 visitas)

Última edición por Casimiro Notevi fecha: 13-04-2014 a las 11:36:57.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Pasar Variables de Forma a Forma con delphi.net ASP ASAPLTDA .NET 5 05-07-2007 21:51:31
Como Pasar Variables de Forma a Forma con delphi.net ASP ASAPLTDA Internet 2 02-07-2007 17:26:41
Que estoy haciendo Mal esimon SQL 4 04-07-2006 22:55:25
Ventanas,Ventanas Mdi=Dolor de cabeza ? IVAND Varios 7 08-05-2006 18:27:24
Como pasar parametros de una forma hija a otra forma hija luisreg OOP 3 17-09-2003 19:18:50


La franja horaria es GMT +2. Ahora son las 11:26:00.


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