2

是否可以调整vb6内部表单的大小,因为如果我使用Form1.Height或者Form1.Width它包括窗口边框的高度和宽度,所以我只能在一个窗口主题中使用此代码(例如,它在带有XP主题的WinXP中效果最好,但在WinXP中不起作用经典主题,看了太久了),有什么建议吗?

在此处输入图像描述

4

1 回答 1

4

您可以做的是将 Width(外部尺寸)与 ScaleWidth(内部尺寸)进行比较,以获得非客户端边框上的尺寸。同样,您可以将 Height 与 ScaleHeight 进行比较,以获得顶部和底部的非客户端大小。从中,您可以根据所需的内部(客户区域)大小加上非客户大小来设置最终高度和宽度。

像这样的东西可能会进入你的Form_Load

  Const DesiredClientHeight as Single = 3435
   Const DesiredClientWidth as Single = 3345

   Dim fNonClientHoriz As Single, fNonClientVert As Single

   fNonClientHoriz = Me.Width - Me.ScaleWidth
   fNonClientVert = Me.Height- Me.ScaleHeight

   Me.Width = DesiredClientWidth + fNonClientHoriz 
   Me.Height = DesiredClientHeight + fNonClientVert 

请注意,表单的宽度和高度始终以缇为单位,因此如果您将缩放模式更改为缇以外的其他值,则需要考虑这一点。

于 2012-12-07T14:19:37.017 回答