![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Propiedad tipo Font
Hola...
En esta ocasion pretendo que el usuario de mi componente pueda establecer la fuente de mi componente, tengo una propiedad llamada InFont, al escribir esta propiedad, las caracteristicas se almancenan en una variable de tipo TFont (FInFont), el lio es que si no inicializo esta varible, delphi me dice que no se puede asignar nil a un tipo TFont... pero si la inicializo (FInFont:= TFont.Create) cuando modifico la fuente desde el cuadro de configuración que genera el elipsis del inspector de objetos, genera una excepcion de memoria... Espero me puedan colaborar... Salu2 ![]()
__________________
Diego. Colombia es pasión. |
|
#2
|
||||
|
||||
|
Algo así:
Código:
type
TuComponente = class(...)
private
FFont: TFont;
procedure SetFont(Value: Font);
public
property Font: TFont read FFont write SetFont;
end;
FFont.Assign(Value) // Saludos |
|
#3
|
||||
|
||||
|
Perfecto... de verdad muchas gracias, ya me sacaste apuros 2 veces hoy. y... si no es mucha molestia
quisiera incluir en mi componente algo como la version del mismo, como publico esta propiedad que sea de solo lectura??? Gracias de nuevo. Salu2 ![]()
__________________
Diego. Colombia es pasión. |
|
#4
|
|||
|
|||
|
Si quieres mostrar tu propio diálogo
Código:
private
FAbout : string;
published
property about: string read FAbout write FAbout;
TAboutProperty = class(TPropertyEditor)
public
procedure Edit; override;
function GetAttributes : TPropertyAttributes; override;
function GetValue : string; override;
end;
implementation
function TAboutProperty.GetValue: string;
begin
Result := Format('(%s)',[GetPropType^.Name]);
end;
function TAboutProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
procedure TAboutProperty.Edit;
begin
inherited;
AboutBox := TAboutBox.Create(Application);
try
AboutBox.ShowModal;
except
on E: Exception do
raise ECreateForm.Create(ErrorCreateForm + E.Message);
end;
end;
uses en D5 (o inferior creo) : DsgnIntf Si no me he dejado nada, esto es todo Espero te sirva |
![]() |
|
|
|