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