请问动态如何获得popupmenu的高度?因为popupmenu要换皮肤,所以它的高度回改变,我想做出上拉的效果需要获得它的高度!改怎么做!
解决方案 »
- 如何使radiogroup里面的radiobutton在选中的状态下 点击取消选中??
- 菜鸟问题,大哥帮忙!
- 不知道算不算delphi 的bug???
- Delphi写的DLL在VB下调用有问题,请高手帮忙(在线等)
- 为什么用qreport查看打印预览,最小化后,窗口就消失了,有什么办法控制吗?
- 帮忙看一下,如何处理才能够让减库的时候准确点儿(附:源码)谢谢
- 如何实现在程序运行期间创建一个控件,并从.ini文件中配置此控件的类型及其他参数
- 高手请进,一个关于Unicode的问题?
- 100分求救
- FlashGet的悬浮窗口是半透明的
- 有谁知道李维的分布式多层应用的网址,在线等候!
- 在Delphi中我知道一个对象,但是只知道他的一个父类型,我如何根据这个对象来创建一个和他一样类型的对象?
var
pt : TPoint;
begin
pt := popupmenu1.popuppoint;
pt := Form1.ScreentoClient(pt);
end;
FORM1是popupmenu的container。如果要获得屏幕坐标,不需要第二句
Function TForm1.GetPopMenuHeight(Sender: TObject): Integer;
var
i,mHeight,sHeight: Integer;
vRect: TRect;
begin
sHeight := 0;
mHeight := 0;
for i := 0 to PopupMenu1.Items.Count - 1 do
begin
GetMenuItemRect(self.Handle, PopupMenu1.Handle, PopupMenu1.Items[i].MenuIndex, vRect);
mHeight := vRect.Bottom - vRect.Top; //每个菜单项的高度
sHeight := sHeight + mHeight;
end;
result := sHeight;
end;