怎样给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那个按钮是灰的)是哪个地方写错了吗?以前没做过这种东西。
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yplin 2006-12-06
  • 打赏
  • 举报
回复
改成别的名字还是不行啊
阿发伯 2006-12-06
  • 打赏
  • 举报
回复
install那个按钮是灰的
====================================================================================
你的Delphi系统有毛病,我们的都不是灰的,这与"哪个地方写错了"是两回事.但是TMenu确实是已经存在的,是TMainMenu的祖先类,还有就是主菜单是不能简单加事件的,它是Windows系统控制的,Delphi只不过包装了一下
阿发伯 2006-12-05
  • 打赏
  • 举报
回复
TMenu是一个已经存在的类

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧