delphi spy++ 拖拽功能

{$R *.dfm}
var  h: HWND;
     pt,p1: TPoint;
     arr,arr1: array[0..254] of Char;
     h1: HCURSOR;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled:=True;
  Image1.Picture.LoadFromFile('02.bmp');
 // h1:=LoadCursorFromFile('031.ico');  //031.ico
 // SetSystemCursor(h1,ocr_normal);
  Screen.Cursor:=crCross;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var  p1:TPoint;
begin
    GetCursorPos(p1);
    h :=WindowFromPoint(p1);
    label1.Caption:=Format('%d,%d',[p1.X,p1.Y]);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Screen.Cursor:=crDefault;
 Timer1.Enabled:=False;
 Label1.Caption:='';
  Image1.Picture.LoadFromFile('01.bmp');
 // SystemParametersinfo(SPI_SETCURSORS,0,nil,SPIF_SENDCHANGE);
  Screen.Cursor:=crDefault;
  GetClassName(h, arr, Length(arr));
  GetWindowText(h, @arr1, SizeOf(arr));
  Edit2.Text := arr;
  Edit1.Text:=arr1;
end;
粘贴自: <http://www.cnpack.org/ >
 
 
 
 
 
 
自定义鼠标
通常鼠标形状是默认的箭头形状,本例演示如何通过编程来改变鼠标的形状,使程序可以更好地和用户交互。单击 “改变光标”按钮将鼠标形状,单击“恢复原型”按钮将鼠标改为默认形状。
Windows 提供设定鼠标形状的API 函数SetSystemCursor,首先要通过调用由LoadCursorFromFile读入的光标文件,然后调用SetSystemCursor 设定系统默认鼠标。它们的函数原型如下:
HCURSOR LoadCursorFromFile ( LPCTSTR lpFileName );
BOOL SetSystemCursor ( HCURSOR hcur, DWORD id );
如果要恢复Windows 默认形状,可以调用函数SystemParametersinfo,它的函数原型如下:
BOOL SystemParametersInfo(
UINT uiAction, //查询还是设定系统参数
UINT uiParam, //该参数取决于要采取的动作
PVOID pvParam, //该参数取决于要采取的动作
UINT fWinIni //用户配置文件更新标志
);
下面利用一个示例来介绍自定义鼠标的方法。
(1)创建一个新Delphi 项目,为窗体添加两个按钮,标题分别设为“改变光标”和“恢复原型”。
(2)添加“改变光标”按钮的OnClick 事件的处理过程,用来改变光标的形状,代码如下:

{使用自定义的光标}
procedure TForm1.Button1Click(Sender: TObject);
var  h: HCURSOR;
begin
  h:=LoadCursorFromFile('a.cur'); 
  SetSystemCursor(h,ocr_normal);
end;

{恢复默认光标}
procedure TForm1.Button2Click(Sender: TObject);
begin
  SystemParametersinfo(SPI_SETCURSORS,0,nil,SPIF_SENDCHANGE);
end;
 
 
 
 
如何制作.CUR文件
 
png -> icon
 
 
1 用ps处理个32*32 的rgb png文件
2 用格式工厂 转换png->ico 32*32的
 
posted @ 2012-09-03 10:36  stma  阅读(648)  评论(0)    收藏  举报