创建窗体 ------------
在【工程】菜单中选择【新增窗口】,再选择个模板,即可按照模板一样创建出一个窗口了。
显示窗体 -----------
代码输入:即可显示出这个窗口,其中 Form1 是窗口名称,根据在工程中的名称来输入。
Form1.Show
显示窗口,其永远在某个窗口之前(主从关系)--------------
代码输入:这样F2窗口永远在F1之前了。(F2窗口成为F1的附属窗口)
Form2.Show Form1.hWnd
其中 hWnd 为窗口句柄,是系统为每个窗口和控件分配的数值,在WIn系统中,所有窗口和控件都分配独立的值,不会发生重复,这是为了API 操作窗口和控件来标识的。
例题:
Dim aa As HWND = Form2.Show(Form1.hWnd ) ’aa 返回新创建的 F2窗口的句柄。
模态窗口 --------------
代码将会暂停到此,等待F2窗口关闭后,才会执行到下一行代码,其间点击 F1窗口会发生声音警告,不可以操作 F1窗口。
Form2.Show Form1.hWnd,True
传值给窗口事件 ------------------
例题:把 999 的值传给它
Form2.Show Form1.hWnd,False,999
这个值会传递到窗口的创建和显示事件中
Sub Form2_Shown(hWndForm As hWnd,UserData As Integer)
Sub Form2_WM_Create(hWndForm As hWnd,UserData As Integer)
这 UserData 变量,就是传来的值。
复用窗口 (需要在编辑时,窗口上“多开”属性,选择允许)---
执行一次
Form2.Show
就出一个窗口,执行2次,就出2个窗口 N次就 N多窗口。
复用窗口后,操作窗口和其控件时,必须多一个步骤,就是先设置句柄,例题:
每个事件都有个窗口变量:hWndForm
Me.hWndForm = hWndForm
Label1.hWndForm = hWndForm
Form2.Text1.hWndForm = hWndForm
必须先设置后,才能执行后面控件操作。因为你重复开启同一个窗口,那么系统无法知道你具体操作的是那一个,只能用窗口句柄来识别。
评论一下?