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.