Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Eigene Komponete von TEdit ableiten?

  Alt 14. Jan 2006, 14:45
Zitat von Sharky:
Hai ihr lieben,

ich möchte mir gerne ein eigenes TEdit erzeugen.
Jetzt gehört die Ableitung von (VCL)-Komponeten nicht zu meinen Stärken

Darum habe ich folgende Frage:

"Mein" Edit soll diese Funktionalität/Eigenschaft haben:
  • Ein Property "CheckEmpty" True/False
  • Wenn "CheckEmpty" auf True ist soll es, wenn es leer ist, "EmtpyColor" als Color verwenden werden.
  • Wenn "CheckEmpty" auf False ist soll "NoEmptyColor" als Color verwendest werden (wenn es leer ist).
  • In jedem Fall möchte ich das "IsEmpty (Boolean)" in abhängigkeit gesetzt wird.

Ich könnte das ja jetzt in Delphi-Referenz durchsuchenOnChange eines Edits lösen. Aber wie mache ich das sauber in einer von TEdit abgeleiteten Komponente/Klasse ?

Ich währe echt froh wenn mir einer von euch einen Anstoss geben könnte.

Danke
Delphi-Quellcode:
unit Edit1;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Graphics;

type
  TMyEdit = class(TEdit)
  private
    { Private-Deklarationen }
    FCheckEmpty: Boolean;
    FEmptyColor: TColor;
    FNoEmptyColor: TColor;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    function GetColor: TColor;
  published
    { Published-Deklarationen }
    property CheckEmpty: Boolean read FCheckEmpty write FCheckEmpty;
    Property Color: TColor read getColor;
  end;

procedure Register;

implementation

function TMyEdit.GetColor: TColor;
begin
    if FCheckEmpty then result := FEmptyColor else result := FNoEmptyColor;
    
end;
procedure Register;
begin
  RegisterComponents('MyComp', [TMyEdit]);
end;

end.
Ich hoffe, das war was du gewünscht hast.
Markus Kinzler
  Mit Zitat antworten Zitat