vb6内部表格调整大小

时间:2012-12-07 13:11:25

标签: forms vb6 resize

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

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以做的是将宽度(外部大小)与ScaleWidth(内部大小)进行比较,以获得非客户端边框的大小。同样,您可以将高度与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 

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