程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 實現界面跟隨鼠標移動的實例

實現界面跟隨鼠標移動的實例

編輯:Delphi
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:       [email protected]

    文章為作者原創,轉載前請先與本人聯系,轉載請注明文章出處、保留作者信息,謝謝支持!
  =======================================================}

  

  

  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.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved