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