Thema: Delphi Hint überschreiben

Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#2

AW: Hint überschreiben

  Alt 3. Aug 2010, 10:54
Du willst also im IDE-Editor den Hint ohne den Zusatz-Text haben, zur Laufzeit aber mit?
Dann ist ComponentState dein Freund

Hier ein Beispiel mit einer TEdit-Ableitung:

Delphi-Quellcode:
unit my_hintedit;

interface

uses
  Classes,StdCtrls
;

type
  TmyHintEdit = class(TEdit)
    private
      FHint: string ;
      function GetHint(): string ;
    public
      constructor Create(AOwner: TComponent) ; override ;
    published
      property Hint read GetHint write FHint ;
  end;

procedure Register;

implementation

// Constructor
constructor TmyHintEdit.Create(AOwner: TComponent);
begin
   inherited Create(AOwner);
end;

// Get hint (without additional Text in IDE, with additional text at runtime)
function TmyHintEdit.GetHint(): string;
begin
   // in IDE
   if (csDesigning in ComponentState) then
    Result := FHint
    // at runtime
   else
    Result := FHint + ' <Zusatz-Text>' ;
end;

// Register the new control in a toolbar
procedure Register;
begin
   RegisterComponents('My Controls', [TmyHintEdit]);
end;

end.
Natürlich würd ich an deiner Stelle den Zusatz-Text auch noch dynamisch setzen, aber das ist ja ein Kinderspiel

Geändert von blackfin ( 3. Aug 2010 um 11:19 Uhr)
  Mit Zitat antworten Zitat