实现界面跟随鼠标移动的实例
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.