vb6 - VB6中如何计算标题栏的高度?

标签 vb6

我试图在它下面的控件上显示一个相对于 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)

关于vb6 - VB6中如何计算标题栏的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/497578/

相关文章:

vb6 - 在 VB6 应用程序中出现缺少组件错误

VB6:以像素为单位获取图像大小

c# - 当 VB6 COM 对象具有 ref 参数时,如何使用动态从 C# 调用它?

vb6 - Visual Basic 6 仍然被广泛使用吗?

windows - RegSetValueEx 需要以管理员身份运行才能工作吗?

c# - 压缩 XML 指标。

ms-access - Visual Basic 6 数据结构

dll - 从 VB6 exe 调试 VB6 dll

vba - Call关键字在VB6中起什么作用?

调用过程中的 VB6 异常处理