VisualFreeBasic指南_创建和显示窗体

2026-1-20 / 0 评论 / 78 阅读

创建窗体 ------------

在【工程】菜单中选择【新增窗口】,再选择个模板,即可按照模板一样创建出一个窗口了。

显示窗体 -----------

代码输入:即可显示出这个窗口,其中 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 

必须先设置后,才能执行后面控件操作。因为你重复开启同一个窗口,那么系统无法知道你具体操作的是那一个,只能用窗口句柄来识别。

评论一下?

OωO
取消