WEB开发网
开发学院软件开发Delphi 实现界面跟随鼠标移动的实例 阅读

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

 2006-02-04 13:59:37 来源:WEB开发网   
核心提示: unit Unit_Mouse;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; {=== DESIGN BY : 花好月圆 /
 

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.

Tags:实现 界面 跟随

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接