表单的bordertyle是“固定单一”,因此用户无法手动更改表单的尺寸。
有一个菜单项允许用户为表单选择2个宽度设置中的1个,选择宽(宽度= 11715)显示额外的控件。
在加载事件期间,调用sub来设置各种值,其中包含以下代码:
If rs.Fields("ShowAll").Value = True then
Me.Width = 11715
在表单卸载事件期间,调用sub来记录下次的设置,其中包含以下代码:
If Me.Width = 11715 Then
rs.Fields("ShowAll").Value = True
Else
rs.Fields("ShowAll").Value = False
End If
一位用户报告的情况是,即使他总是以“宽”形式关闭,它总是打开“狭窄”。
我以前从未见过这种情况,也没有人报告过这种情况,这并不是说它不会发生在其他地方。
他的机器是Windows 7,屏幕分辨率是1280 X 1024。
编辑: 此外,当我检查他的数据库时,“ShowAll”的值为False。
答案 0 :(得分:3)
我建议使用表单级布尔变量而不是特定数字。如果您想让它更容易理解,您也可以将其包装在属性中。在加载应用程序时使用数据库值初始化变量,并在单击按钮时切换值以选择表单大小。
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
答案 1 :(得分:2)
如果要对宽度进行硬编码,则必须为小字体选择15的倍数,对于大字体选择12的倍数。两者的最小倍数为60,因此最接近您的硬编码值为11700,小字体为780px,大字体为975px。
请注意,除了96(又名“小字体”)和120(又名“大字体”)之外,win7还带有更多DPI尺寸,这完全失败了VB6表格子系统。因此,您可以安全地假设在VB6中,像素大小为15或12缇。