我正在尝试在其下方的控件上显示一个相对于Button的表单.
但Button.top相对于底部表单的标题栏,顶部表单将相对于屏幕.
所以,为了弥补我现在需要的标题栏有多高.
我使用过Form.height-Form.ScalehHeight但是ScaleHeight不包括标题栏或边框,因此Scaleheight会略微膨胀.
任何人都知道如何计算的高度,只是标题栏?
您需要使用GetSystemMetrics
API调用来获取标题栏的高度.
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Const SM_CYCAPTION = 4 Property Get TitleBarHeight() as Long TitleBarHeight = GetSystemMetrics(SM_CYCAPTION) End Property
注意:这将返回高度(以像素为单位).如果你需要缇,你将不得不使用表格的ScaleY
方法转换,如下所示:Me.ScaleY(TitleBarHeight(), vbPixels, vbTwips)
减去它:
(Form.height-Form.ScaleHeight) - (Form.Width-Form.ScaleWidth) / 2