双击的位置? (50分)

  • 主题发起人 主题发起人 yth
  • 开始时间 开始时间
Y

yth

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中请问如何获得鼠标在窗口客户区双击的位置?
 
GetCursorPos(
var lpPoint: TPoint {receives coordinates of cursor}
): BOOL; {returns TRUE or FALSE}
 
procedure TForm1.FormDblClick(Sender: TObject);
var
Pos:TPoint;
begin
GetCursorPos(Pos);
//Pos.x,Pos.y分别表示鼠标的横纵坐标
end;
 
双击是两个单击,在MouseDown中的x,y就是坐标:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Caption := IntToStr(x) + ',' + IntToStr(y);;
end;
但如果只在双击时才窗口客户区双击的位置就得用GetCursorPos了:
procedure TForm1.FormDblClick(Sender: TObject);
var
P: TPoint;
begin
GetCursorPos(P);
Caption := IntToStr(P.x) + ',' + IntToStr(P.y);
end;
 
同意,
嘻嘻,。。
注意 uses shellapi;
哈哈,我也想赚几分。。
:)
 
在form的ondblclick事件中:
GetCursorPos获取鼠标的位置(屏幕坐标)
用form1.ScreenToClient方法获取相对于客户区的坐标值。
 
多人接受答案了。
 
后退
顶部