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 22-08-2006
pascalutn2003 pascalutn2003 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Córdoba
Posts: 36
Poder: 0
pascalutn2003 Va por buen camino
Question Form como parametro

Hola a todos:

Estoy creando un componente, ya lo he probado, pero quiero que cuando lo pase de la paleta al form, reconozca el color de este último y lo cambie a un color predeterminado.

¿Alguien sabe como?
Responder Con Cita
  #2  
Antiguo 22-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Así a bote pronto, yo diría que en el constructor de la componente:

Código Delphi [-]
constructor TLaComponenteDePascalutn2003.Create(AOwner: TComponent);
begin
  if (AOwner is TForm) then
    Self.Color := TForm(AOwner).Color;
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 22-08-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si tu componente hereda de TControl, bien podrías utilizar la propiedad ParentColor que por defecto es True.
Código Delphi [-]
unit Unit1;

interface

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

type
  TElComponenteDePascalutn2003 = class(TCustomControl)
  protected
    procedure Paint; override;
  published
    property ParentColor;
    property Color;
  end;


  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TElComponenteDePascalutn2003 }

procedure TElComponenteDePascalutn2003.Paint;
begin
  inherited;
  Canvas.Brush.Color := clBlack;
  Canvas.Ellipse(ClientRect);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Color := clBlue;

  with TElComponenteDePascalutn2003.Create(Self) do
  begin
    Parent := Self;
    BoundsRect := Rect(0, 0, 100, 100);
    Visible := True;
  end;

  with TElComponenteDePascalutn2003.Create(Self) do
  begin
    Parent := Self;
    BoundsRect := Rect(100, 0, 200, 100);
    Color := clRed; {El ParentColor pasa a ser False}
    Visible := True;
  end;
end;

end.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 22-08-2006 a las 23:58:09.
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
¿Cómo pasar la clave de conexión como parámetro en una bd de mysql? D@byt Conexión con bases de datos 2 30-01-2007 13:52:21
TQuery como parametro jzk OOP 6 14-10-2004 16:45:45
Como obtener y pasar como parametro un Documento XML Ana Daniela Internet 1 21-08-2004 02:35:04
Pasar un parametro en la llamada a un form apicito OOP 17 13-08-2003 12:30:45


La franja horaria es GMT +2. Ahora son las 11:28:01.


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