Einzelnen Beitrag anzeigen

TriphunEM

Registriert seit: 8. Jan 2004
147 Beiträge
 
#1

Subkomponente ableiten - brauch etwas hilfe...

  Alt 14. Jan 2006, 12:47
Hallo,

ich möchte die MainMenü-Komponente etwas erweitern. Um genau zusagen, möchte ich die Mehtode "RightClick" hinzufügen.

Der folgende Code, den ich zusammengebaut haben, funktioniert aber nicht so richtig. Fehlermeldungen kommen zwar nicht, aber wenn ich der Methode "RightClick" eine Aktion hinzufügen will reagiert die Methode nicht.

Woran könnte der Fehler liegen?

Das zweite Problem ist, ich will die Methode "RightClick" eigentlich TMenuItem zuweisen und nicht TMainMenu?
Wie funktioniert das???

Wäre für Hilfe sehr dankbar!

MfG Frank

Delphi-Quellcode:
unit AdvMainMenu;

interface

uses
  Windows, Menus, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TAdvMainMenu = class(TMainMenu)
  private
    { Private-Deklarationen }
    FRightClick: TNotifyEvent;
    procedure GetRightClick(var Msg : TMouseInput); message WM_RBUTTONDOWN;
  protected
    { Protected-Deklarationen }
    procedure DoRightClick(var Msg : TMouseInput); dynamic;
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
    property RightClick: TNotifyEvent read FRightClick write FRightClick;
  end;

  procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TAdvMainMenu]);
end;

constructor TAdvMainMenu.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

destructor TAdvMainMenu.Destroy;
begin
  inherited Destroy;
end;

procedure TAdvMainMenu.DoRightClick(var Msg: TMouseInput);
begin
  If Assigned(FRightClick) then FRightClick(Self);
end;

procedure TAdvMainMenu.GetRightClick(var Msg: TMouseInput);
begin
  DoRightClick(Msg);
end;

end.
  Mit Zitat antworten Zitat