Einzelnen Beitrag anzeigen

Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

Textbox das Click ereignis hinzufügen.

  Alt 8. Dez 2005, 13:49
Wie man einer Textbox ein Click ereignis zur Laufzeit hinzufügt, ist mir bekannt. Doch da es sich um viele viele Textboxen handelt, möchte ich gerne eine eigene Komponente schreiben, wo man dies bereits über den Objectinspektor machen kann. Wie mache ich das?

Das ich dieses Erben muß ist mir klar, aber er findet angeblich nie etwas in der Basisklasse. Hier mein bisheriger Versuch

Delphi-Quellcode:
unit CTalasTextBox;

interface

uses
  System.Windows.Forms, System.Drawing, System.Collections, System.ComponentModel;

type

  TalasTextBox = class(System.Windows.Forms.Textbox)
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    Components: System.ComponentModel.Container;
    /// <summary>
    /// Erforderliche Methode zur Unterstützung des Designers -
    /// ändern Sie die Methode nicht mit dem Quelltext-Editor
    /// </summary>
    procedure InitializeComponent;
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Ressourcen nach der Verwendung bereinigen
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
    procedure OnClick(sender: System.Object; e: System.EventArgs); override;
  private
    { Private-Deklarationen }
  public
    constructor Create; overload;
    constructor Create(Container: System.ComponentModel.IContainer); overload;
  published
    Property Click : OnClick;
  end;

implementation

uses
  System.Globalization;

{$AUTOBOX ON}

{$REGION 'Vom Windows Form-Designer erzeugter Code'}
/// <summary>
/// Erforderliche Methode zur Unterstützung des Designers -
/// ändern Sie die Methode nicht mit dem Quelltext-Editor
/// </summary>
procedure TalasTextBox.InitializeComponent;
begin
  Self.Components := System.ComponentModel.Container.Create;
end;
{$ENDREGION}

constructor TalasTextBox.Create;
begin
  inherited Create;
  //
  // Erforderlich für die Unterstützung des Windows Forms-Designers
  //
  InitializeComponent;
  //
  // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu.
  //
end;

constructor TalasTextBox.Create(Container: System.ComponentModel.IContainer);
begin
  inherited Create;
  //
  // Erforderlich für die Unterstützung des Windows Forms-Designers
  //
  Container.Add(Self);
  InitializeComponent;
  //
  // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu.
  //
end;

procedure TalasTextBox.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

end.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat