Ich hätte einen Anwendungsfall:
Bsp:
ich leite mehrere StandardVCL Komponenten ab, z.B. von TEdit, TDBEdit, TComboBox, TPanel.
Diese Komponenten erhalten dieselben neuen Properties(z.B. die laufende Nummer eines Datensatzes einer Tabelle, in der Mehrsprachigkeit oder evtl. ein Hilfesystem abgebildet ist).
Da würd sich doch folgendes anbieten:
Delphi-Quellcode:
type
TMyControl = class(TWinControl)
private
FmyHelpID: Integer;
public
procedure ShowHelp;
published
property myHelpID: Integer read FmyHelpID write FmyHelpID;
end;
TMyEdit = class(TEdit, TMyControl)
end;
-----------------------------
procedure TMyControl.ShowHelp;
begin
ShowMessage(GetHelpTextFromDB(myHelpID));
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_F3) and (Shift = []) and (ActiveControl is TMyControl) then
TMyControl(ActiveControl).ShowHelp;
end;
Oder hast du da eine andere Lösung parat?