Vb6 表单的宽度属性不是它的属性';设置为,但看起来还可以
表单的边框样式为“固定单个”,因此用户无法手动更改表单的尺寸 有一个菜单项允许用户为表单选择2个宽度设置中的1个,选择宽度(宽度=11715)将显示额外的控件 在加载事件期间,将调用sub来设置各种值,其中包括以下代码:Vb6 表单的宽度属性不是它的属性';设置为,但看起来还可以,vb6,width,Vb6,Width,表单的边框样式为“固定单个”,因此用户无法手动更改表单的尺寸 有一个菜单项允许用户为表单选择2个宽度设置中的1个,选择宽度(宽度=11715)将显示额外的控件 在加载事件期间,将调用sub来设置各种值,其中包括以下代码: If rs.Fields("ShowAll").Value = True then Me.Width = 11715 If Me.Width = 11715 Then rs.Fields("ShowAll").Value =
If rs.Fields("ShowAll").Value = True then
Me.Width = 11715
If Me.Width = 11715 Then
rs.Fields("ShowAll").Value = True
Else
rs.Fields("ShowAll").Value = False
End If
在表单卸载事件期间,将调用sub记录下一次的设置,其中包括以下代码:
If rs.Fields("ShowAll").Value = True then
Me.Width = 11715
If Me.Width = 11715 Then
rs.Fields("ShowAll").Value = True
Else
rs.Fields("ShowAll").Value = False
End If
一个用户报告了这样一种情况,即即使他总是以“宽”的形式关闭,它也总是以“窄”的形式打开
我以前从未见过这种情况发生,也没有人报告过,这并不是说其他地方没有发生这种情况
他的电脑是Windows7,屏幕分辨率是1280x1024
编辑:
另外,当我检查他的数据库时,“ShowAll”的值为False 如果要硬编码宽度,则必须选择多个twip,小字体为15的倍数,大字体为12的倍数。两者的最小倍数为60,因此最接近硬编码值的是11700,小字体为780px,大字体为975px
请注意,除了96(又名“小字体”)和120(又名“大字体”)之外,win7还有更多的DPI大小,这两种字体完全不能满足VB6表单子系统的要求。因此,您可以安全地假设在VB6中,像素大小为15或12 twips。如果要硬编码宽度,则必须选择多个twips,小字体为15的倍数,大字体为12的倍数。两者的最小倍数为60,因此最接近硬编码值的是11700,小字体为780px,大字体为975px
请注意,除了96(又名“小字体”)和120(又名“大字体”)之外,win7还有更多的DPI大小,这两种字体完全不能满足VB6表单子系统的要求。因此,您可以安全地假设在VB6中,像素大小为15或12 twips。我建议使用表单级别的布尔变量,而不是特定的数字。如果希望更易于理解,也可以将其包装到属性中。加载应用程序时使用数据库值初始化变量,单击按钮选择表单大小时切换该值
Private m_blnExpanded As Boolean
Private Property Let Expanded(ByVal vExpanded As Boolean)
m_blnExpanded = vExpanded
End Property
Private Property Get Expanded() As Boolean
Expanded = m_blnExpanded
End Property
我建议使用表单级别的布尔变量,而不是特定的数字。如果希望更易于理解,也可以将其包装到属性中。加载应用程序时使用数据库值初始化变量,单击按钮选择表单大小时切换该值
Private m_blnExpanded As Boolean
Private Property Let Expanded(ByVal vExpanded As Boolean)
m_blnExpanded = vExpanded
End Property
Private Property Get Expanded() As Boolean
Expanded = m_blnExpanded
End Property
我认为你的答案是正确的,我学到了一些新的东西,谢谢!。我以与客户相同的分辨率将dpi重置为120 dpi,我遇到了相同的现象。你能告诉我vb6 ide是否“强制”用户以15倍的宽度绘制表单,因为我从未意识到11715是15的倍数ide将所有大小以twips(表单的宽度/高度,控件的左/上)对齐为15或12倍,具体取决于当前开发机器的字体大小,这可能会导致在客户端计算机上出现亚像素位置。将
ScaleMode
更改为像素并不能缓解此问题,而且表单的宽度和高度始终以twips为单位ScaleMode
影响包含的控件left/top和窗体的scalewidth/scaleheight。非常感谢,这些都是很好的信息。为了像我昨天这样无知的人的利益,如果你有96 dpi(每英寸点数/像素),那么因为每英寸1440 twips,这意味着每点/像素1440/96=15 twips。我认为你的答案是正确的,我学到了一些新的东西谢谢!。我以与客户相同的分辨率将dpi重置为120 dpi,我遇到了相同的现象。你能告诉我vb6 ide是否“强制”用户以15倍的宽度绘制表单,因为我从未意识到11715是15的倍数ide将所有大小以twips(表单的宽度/高度,控件的左/上)对齐为15或12倍,具体取决于当前开发机器的字体大小,这可能会导致在客户端计算机上出现亚像素位置。将ScaleMode
更改为像素并不能缓解此问题,而且表单的宽度和高度始终以twips为单位ScaleMode
影响包含的控件left/top和窗体的scalewidth/scaleheight。非常感谢,这些都是很好的信息。为了像我昨天这样无知的人的利益,如果你有96 dpi(每英寸点数/像素),那么因为每英寸1440 twips,这意味着每点/像素1440/96=15 twips。你的方法是正确的,以避免我为自己制造的困难。然而,wqw向我解释了哪里出了问题,这就是为什么我选择了他的答案作为正确答案的原因。你的方法是正确的,以避免我给自己造成的困难。然而,wqw向我解释了出了什么问题,这就是为什么我选择了他的答案作为正确答案