首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

点TBitBtn控件,怎么在空间右下角弹出TPopupMenu,位置总对不准

2012-02-19 
点TBitBtn控件,如何在空间右下角弹出TPopupMenu,位置总对不准如题,在窗体上放一个TBitBtn控件,实现点一下

点TBitBtn控件,如何在空间右下角弹出TPopupMenu,位置总对不准
如题,在窗体上放一个TBitBtn控件,实现点一下这个控件出来一个TPopupMenu控件,然后这个TPopupMenu控件最好在TBitBtn的右下角。但是我怎么也找不到座标,大侠们指点一下怎么能找到这个相对位置。这两个控件是拖进来的,不用考虑动态创建问题

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
apoint:Tpoint;
begin
APoint := Button1.ClientToScreen(Point(0, Button1.ClientHeight));
PopupMenu1.Popup(apoint.X,apoint.Y);
end;
[解决办法]
换成屏幕坐标进行定位ClientToScreen

procedure TForm2.BitBtn1Click(Sender: TObject);
var
pt1, pt2: TPoint;
begin
pt1.X := BitBtn1.Left;
pt1.Y := BitBtn1.Top + BitBtn1.Height;
pt2 := Form2.ClientToScreen(pt1);
PopupMenu1.Popup(pt2.X, pt2.Y);
end;

// 现写的,运行了一下没问题,呵呵

热点排行