怎样给TMainMenu添加mousemove事件?
yplin 2006-12-05 11:52:16 我自己想给TMainMenu加一个mousemove事件,如下:
unit Menu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Shellapi, StdCtrls, ExtCtrls, Menus;
type
TMenu = class(TMainMenu)
private
{ Private declarations }
FOnMouseMove: TNotifyEvent;
procedure FSetOnMouseMove(value: TNotifyEvent);
protected
{ Protected declarations }
procedure wmmousemove(var Msg: TMessage); message WM_MOUSEMOVE;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
property OnMouseMove: TNotifyEvent read FOnMouseMove write FSetOnMouseMove;
end;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TMenu]);
end;
{ TMenu }
procedure TMenu.wmmousemove(var Msg: TMessage);
begin
if Assigned(FOnMouseMove) then
FOnMouseMove(Self);
end;
constructor TMenu.Create(AOwner: TComponent);
begin
inherited;
end;
destructor TMenu.Destroy;
begin
inherited;
end;
procedure TMenu.FSetOnMouseMove(value: TNotifyEvent);
begin
if @FOnMouseMove <> @value then
FOnMouseMove := Value;
end;
end.
但用install component居然不让install!?(就是install那个按钮是灰的)是哪个地方写错了吗?以前没做过这种东西。