AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

1 Frage zur Komponenten-Erstellung

Ein Thema von usnzi02n4m · begonnen am 3. Dez 2005 · letzter Beitrag vom 6. Dez 2005
 
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: 1 Frage zur Komponenten-Erstellung

  Alt 3. Dez 2005, 07:48
Wenn Du schon den Vergleich mit TColor heranziehst... Sowas geht nur mit PropertyEditor. Abhängig von deiner Delphi Version sind die aber nicht überall gleich einzusetzen. Dazu mehr gibts hier

Um anzufangen solltest Du deine Karte nicht als Integer auswählen, sondern als String, oder besse noch als eigenen Typ, der nur die gewünschten Werte erlaubt.

Hier mal ein Grundgerüst, wie das mit den PropertyEditors geht

Delphi-Quellcode:
unit MailTemplateClasses6_reg;

interface

procedure Register ;

implementation
uses classes, MailTemplateClasses6, DesignEditors, DesignIntf, adoint, sysutils,
   olectrls, dialogs ;

type
  TMailFileOpen = class (TPropertyEditor)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
    function GetValue:string; override;
  end ;

procedure Register ;
begin
  RegisterPropertyEditor (TypeInfo(string),TMailTemplateFile,'Filename',TMailFileOpen) ;
end ;

{ TMailFileOpen }

procedure TMailFileOpen.Edit;
var
 OD : TOpenDialog ;
begin
  //inherited;
  OD := TOpenDialog.create (nil) ;
  if OD.Execute then begin
      TMailTemplateFile(GetComponent(0)).Filename := OD.Filename ;
  end ;
end;

function TMailFileOpen.GetAttributes: TPropertyAttributes;
begin
     GetAttributes := [paDialog];
end;

function TMailFileOpen.GetValue: string;
begin
     GetValue := TMailTemplateFile(GetComponent(0)).Filename ;
end;

end.unit Unit1;

interface

implementation

end.
Wichtig ist, dass du Die Unit, in der du deine Komponente (und Propertyeditors) registrierst (Procedure Register) trennst von deiner Komponente. Aber das steht alles sauber erklärt im obigen Link.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz