百度首页 | 百度空间
 
查看文章
 
比较取得的鼠标指针是否相同
2008-06-30 09:48

//两个 MemoryStream比较是否相等。

function StreamEqu(s1,s2:Tmemorystream):Boolean;
begin
result:=(s1.Size=s2.Size) and CompareMem(s1.Memory,s2.Memory,s1.Size);
end;

//取得第一个鼠标指针

procedure TForm1.Button1Click(Sender: TObject);
var
CI: TCursorInfo;
begin
CI.cbSize := SizeOf(CI);
GetCursorInfo(CI);
Image1.Picture.Icon.Handle := CI.hCursor;
bit1.Width:=Image1.Picture.Icon.Width;
bit1.Height:=Image1.Picture.icon.Height;
bit1.Canvas.Draw(0,0,Image1.Picture.icon);
bit1.SaveToStream(ms1);
timer1.Enabled:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ms1:=TMemorystream.Create;
bit1:=TBitmap.Create;
timer1.Enabled:=false;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ms1.Free;

bit1.Free;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
CI:TCursorInfo;
begin
bit2:=TBitmap.Create;
ms2:=TMemoryStream.Create;
CI.cbSize:=Sizeof(CI);
GetCursorInfo(CI);
Image1.Picture.Icon.Handle:=CI.hCursor;
bit2.Width:=Image1.Picture.Icon.Width;
bit2.Height:=Image1.Picture.icon.Height;
bit2.Canvas.Draw(0,0,Image1.Picture.icon);
bit2.SaveToStream(ms2);
if StreamEqu(ms1,ms2) then
     label1.Caption:='Same'
else
     label1.Caption:='Defferent';
ms2.Free;
bit2.Free;
end;


类别:Delphi | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu