如何将一个Tpoint类型的数据转化成x,y(30分)

  • 主题发起人 主题发起人 caoguangchuan
  • 开始时间 开始时间
C

caoguangchuan

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
if Button = mbRight then
begin
TreeView1.GetNodeAt(X, Y);
if treeView1.selected <> nil then
pm1.popup(x,y)
else
pm2.popup(x,y)
end;
在popup(x,y)中x,y是相对坐标,然而弹处菜单在绝对坐标处,造成弹处位置部队,怎样转换成绝对坐标呢
然而,使用clienttoscreen,它的参数是一个Tpoint类型的数据,x,y又是一个integer类型,怎样进行(x,y)
转换成Tpoint,Tpoint转换成(x,y),求助!
 
var P:TPoint;
if Button = mbRight then
begin
TreeView1.GetNodeAt(X, Y);
p:=Point(x,y);
p:=Treeview1.ClientToScreen(P);
if treeView1.selected <> nil then
pm1.popup(p.x,p.y)
else
pm2.popup(p.x,p.y)
 
接受答案了.
 
后退
顶部