Einzelnen Beitrag anzeigen

Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#17
  Alt 27. Mai 2003, 18:23
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?
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat