ShowForm / UnloadForm
(创建时间:2010年11月05日 01:01:00)
Jangogo : 

Sub ShowForm( MyForm As Object,                              Optional ByVal Modal As Integer = 0,                              Optional ByVal isHasFooter As Boolean = False,                              Optional ByVal bNotCaptionText As Boolean = False,                              Optional ByVal pTopBar As long = 0,

Optional ByVal bShortCaption As Boolean = False,

Optional bNotRoundRect As Boolean = False

)

这个过程用于显示窗口,我们不使用VB Form自带的Show函数来显示窗口,因为我们需要所有的窗口样式维持一致。

Form            要显示的VB窗口对象,必填

Modal           除了VB 的0 (非模态窗口) 和1(模态窗口) 外,我们新增加一个值 -1 :Standalone表示不要把这个窗口作为主界面窗口的子窗口。

                       如果 Modal=0 , 你的窗口会“套”进程序的主窗口中作为子窗口(看界面组件的实现是否用MDI模式)

isHasFooter  是否画出底部边框区域

bNotCaptionText  是否不要输出窗口标题,如果为True 则不会输出Icon和标题文字,这个时候的非客户区大小将为零,窗口100%变成客户区

pTopBar  这个参数是为了解决SUI 作为顶部工具条的时候,刚好SUI跨在窗口标题栏时,标题栏上部分的SUI对鼠标事件不响应的问题。

                  你只要传入这个SUI的指针即可修复这个Bug, 使用 ObjPtr( SUI控件 ) 即可取得指针

 bShortCaption  这个参数是用来做短一点的标题栏的,适合一些信息提示框

bNotRoundRect 用来修复某些窗口因为SmartUI的影响而导致窗口的左上角和右上角的圆角丢失的问题

 

返回值:无

特殊地,我们可以通过窗口的LinkTopic属性来指定Icon,默认是用窗口自己的图标,如果指定了如 myico 则使用 myico.ico 这个图标文件

图标 目录位于: wwwroot\skins\$default\images\32*32\

Function ShowForm(MyForm as Form, 
             Optional Modal as Integer =0) as Form 'SkinForm

这个过程用于显示窗口,我们不使用VB Form只带的Show来显示窗口,因为我们需要所有的窗口样式维持一致。

这个过程会自动把你的窗口“套”进我们的窗口容器里面,因此我们要求你的窗口不要边框和标题栏。

Form            要显示的VB窗口对象

Modal           除了VB 的0和1 外,我们新增加一个值 -1 :Standalone表示不要把这个窗口作为主界面窗口的子窗口。

                       如果 Modal=0 , 你的窗口“套”进窗口容器后还会“套”进程序的主窗口中(看界面组件的实现是否用MDI模式)

返回值:VB窗口对象,注意,这个窗口已经是你要显示的窗口的父窗口(容器窗口),虽然它也是一个VB窗口,但是已经不是你作为参数传进来那一个了。

                 这个窗口可以让你来它进行控制,例如:

Set  Form2=MyApp.ShowForm(Form1)
'要调整窗口的宽度:
Form1.Width=2000 '这样是无效的
Form2.Width=2000 '这样才对

 

关闭窗口UnloadForm

Public Sub UnloadForm(MyForm As Object)

相当于用api:PostMessage hwnd, WM_CLOSE, 0&, 0&  来关闭窗口

文档中心