WaynesForm 类
承载包的自定义控件的顶级窗体类。WaynesForm 等同于 VB 包中的 Form,但它不是承载控件覆盖在上面的 Win32 原生窗口,而是通过 CustomControls 框架绘制自身及其子控件的自绘表面。
在包当前版本中,使用设计器创建的每个窗体都硬编码使用 WaynesForm 作为其根类;其他基窗体类已计划但尚不支持。
窗体具有 Caption(显示在 Win32 标题栏中)、BackgroundFill(绘制在其整个客户区域)和 WindowsOptions 子对象控制周围的 Win32 框架——边框样式、窗口状态、任务栏可见性、最小化/最大化按钮等。调用 Show 显示窗体;调用 Close 关闭窗体。
Private Sub Form_Load()
Me.Caption = "Welcome"
Me.BackgroundFill.ColorPoints.SetSolidColor vbWhite
With Me.WindowsOptions
.StartUpPosition = tbStartUpCenterScreen
.BorderStyle = tbFixedDialog
.MaximizeButton = False
End With
End SubBackgroundFill 是普通的 Fill,因此窗体可以显示渐变背景或纯色——包的 HelloWorld 示例窗体正是使用此功能给自己一个柔和的上到下渐变:
Private Sub Form_Load()
Me.BackgroundFill.SetSimplePattern &HE5E5E5, &HF8F8F8, _
Pattern:=tbGradientNorthToSouth
End Sub模态显示
当前版本仅支持模态显示。使用 vbModeless 调用 Show 会输出调试打印消息,否则无效——调用 Show vbModal 显示窗体。
属性
BackgroundFill
绘制窗体整个客户区域的 Fill。默认为纯浅灰色(WAYNESCOLOR_LIGHTGREY —— &HD0D0D0)。
Caption
窗体 Win32 标题栏中显示的文本。String。
语法:object.Caption [ = string ]
Controls
窗体上承载的所有控件的 CustomControlsCollection。从窗体基类继承。只读——通过迭代或按索引/名称查找来访问单个控件。
FormDesignerId
保存将此窗体实例与其设计器保存元数据关联的唯一 GUID 的 String。从窗体基类继承。应用程序代码通常不读写此属性——由框架填充。
Height
窗体的高度(像素)。PixelCount。继承。
Left
窗体的左边位置(像素)——仅在 WindowsOptions.StartUpPosition 为 tbStartUpManual 时生效。PixelCount。继承。
Name
窗体在项目中的名称。String。继承。
Top
窗体的顶部位置(像素)——仅在 WindowsOptions.StartUpPosition 为 tbStartUpManual 时生效。PixelCount。继承。
Width
窗体的宽度(像素)。PixelCount。继承。
WindowsOptions
控制 Win32 框架的 WindowsFormOptions——边框样式、窗口状态、任务栏可见性、最小化/最大化按钮、系统菜单。
方法
Close
关闭窗体的底层窗口。
语法:object.Close
Show
显示窗体。当前版本仅支持模态显示——使用 vbModeless 调用会输出调试消息,否则无效。
语法:object.Show [ Modal ]
- Modal
- 可选 FormShowConstants 的成员。传 vbModal 用于支持的模态显示;vbModeless 目前无效。
StartupShow
无条件显示窗体——由框架用于显示项目的启动窗体。应用程序代码可以调用它,但 Show 是正常入口。
语法:object.StartupShow
事件
Click
用户点击窗体背景时触发——即未被承载控件占据的区域。
语法:object_Click( )