实现界面跟随鼠标移动的实例

unit Unit_Mouse;

interface

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

 {=======================================================
  DESIGN BY :  花好月圆 / 玉面书生
  DATE:        2005-01-30
  SITE:        http://www.eastrise.cn/quick2004
  BLOG:        http://blog.csdn.net/jackie168
  EMAIL:       joe-lu@163.com

  文章为作者原创,转载前请先与本人联系,转载请注明文章出处、保留作者信息,谢谢支持!
=======================================================}

type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
     procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   i:integer;  //全局变量
implementation

{$R *.dfm}
//自写函数
function proc(icode:integer;wparam:wparam;lparam:lparam):lresult;stdcall;
var
evtmsg:teventmsg;
begin
    evtmsg:=peventmsg(lparam)^;
    Form1.Left:=mouse.CursorPos.X+10;
    form1.Top:=mouse.CursorPos.Y+10;
    if evtmsg.message=WM_RBUTTONUP then
    Form1.N1.Click;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
    N1.Checked:= not N1.Checked;
    if N1.Checked then
    i:=setwindowshookex(WH_JOURNALRECORD,proc,hinstance,0)
    else
    unhookwindowshookex(i);
    Top:=(screen.Height-Height)div 2;
    Left:=(screen.Width - width-55) div 2;
end;

end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值