import win.ui; /*DSG{{*/ var winform = win.form(text="基础知识";right=759;bottom=469) winform.add() /*}}*/ import web.form; var wb = web.form( winform,5/*_UIFLAG_DIALOG*/,,,true); wb.html = /**
一、理解窗口应用程序执行流程:

1、界面线程(一般也是主线程)的主消息循环由 win.loopMessage 启动,
窗口应用程序有且只能有一个 win.loopMessage(),使用 win.loadForm() 或者 winform.loadForm() 加载
窗体代码文件时会自动忽略重复启动消息循环的 win.loopMessage() 调用。

2、所有非模态、非 MessageOnly 的独立窗口( 或 mainForm 窗口 )都关闭后,将会自动调用 win.quitMessage() 
终止 win.loopMessage 创建的消息循环(通常也就是退出界面线程)。

3、使用 winform.doModal() 创建模态窗口, 模态窗口会禁用所有者窗口(也就是背景窗口)直到模态窗口关闭。
模态窗口不能是子窗口(禁用父窗口就是禁用自己)。模态窗口创建独立的消息循环阻塞调用代码继续向后执行
直到模态窗口退出,而调用 winform.show() 显示的非模态窗口不会阻塞调用代码向后执行。

二、aardio 工程内如何加载代码文件:

1、在工程中加载其他代码文件时可使用 loadcodex 函数,例如:loadcodex("/res/x.aardio") 在工程中
加载 aardio 代码文件时,路径应当总是使用斜杠字符开始的应用程序根目录相对路径。可以在工程管理器
中右键点击代码文件,在弹出菜单中点击【复制路径】。

2、如果加载窗体代码文件可以使用 win.loadForm("/dlg/winform.aardio") 。
win.loadForm 会忽略 win.loopMessage() 。加载的窗体如果没有返回非空值,则默认返回创建的窗体对象。

3、也可以使用窗体对象加载另一个窗体,例如 winfrom.loadForm("/dlg/frmChild.aardio") ,  
winfrom.loadForm 的作用与 win.loadForm 相同,但是会自动把 winfrom 指定为被加载窗体的父窗口(或所有者窗口)。
在工程管理器中拖动窗体文件到父窗口代码内会自动生成此代码。

4、可以在标准库、用户库中创建命名空间、类、窗口类,并使用 import 语句加载。
    
**/ winform.show(); win.loopMessage();