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

求教弹出窗体的定位有关问题

2012-04-20 
求教弹出窗体的定位问题我现在动态生成了一个BUTTON,现在想点击这个BUTTON弹出一个动态窗体(form),form的

求教弹出窗体的定位问题
我现在动态生成了一个BUTTON,现在想点击这个BUTTON弹出一个动态窗体(form),form的位置在按钮的上方或者下方(根据按钮的位置具体定是在它的下方还是上方,例如是在BUTTON的上方的话,那么form的下边框和BUTTON的上边框重合),BUTTON在form的中间

        本人急用,在线等用摆脱各位大侠不吝赐教。


[解决办法]
首先获得按钮在整个屏幕的坐标,方法
var
Pos1,pos2:TPoint;
begin
Pos1.X := Self.Button1.Left;
Pos1.Y := Self.Button1.Top;
pos2 := ClientToScreen(Pos1);
end;

再设置好form的TOP和LEFT.
弹出到按钮上面:
form.left := pos2.x;
form.top := pos2.y - form.Height;

弹出到按钮下面:
form.left := pos2.x;
form.top := pos2.y + Self.Button1.Height;



[解决办法]
button的click事件
procedure form.buttonclick(sender: Tobject);
var
Pos1,pos2:TPoint;
begin
Pos1.X := TButton(sender).Left;
Pos1.Y := TButton(sender).Top;
pos2 := ClientToScreen(Pos1);
end;

热点排行