您现在的位置:首页 >> 界面报表 >> 界面报表 >> 内容

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

时间:2011/9/3 15:24:59 点击:

  核心提示:unit Unit_Mouse;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo...

unit Unit_Mouse;

interface

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

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.

作者:玉面书生 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号