delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
怎样给TMainMenu添加mousemove事件? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiBase/html/delphi_20061205235216273.html
我自己想给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那个按钮是灰的)是哪个地方写错了吗?以前没做过这种东西。

TMenu是一个已经存在的类  
 

改成别的名字还是不行啊

install那个按钮是灰的  
  ====================================================================================  
  你的Delphi系统有毛病,我们的都不是灰的,这与"哪个地方写错了"是两回事.但是TMenu确实是已经存在的,是TMainMenu的祖先类,还有就是主菜单是不能简单加事件的,它是Windows系统控制的,Delphi只不过包装了一下

posted on 2009-04-22 10:44 delphi2007 阅读(148) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。