生态桌面应用
创建第一个窗口
理解应用、窗口、根布局、关闭处理与事件循环的最小生命周期。
最小窗口只需要一个应用、一个窗口、一棵根布局和显式关闭处理:
引「包:言界」为 界面;
定 应用 为 界面.应用(「最小言界应用」);
定 窗口 为 应用.窗口({「标题」:「你好,言界」,「宽」:640,「高」:420});
窗口.列({「内边距」:24}).文字(「第一个由言序控件绘制的原生窗口」);
法 关闭处理(所事件) 则
应用.退出();
终
窗口.关闭时(关闭处理);
窗口.显示();
应用.运行();应用.窗口创建原生窗口资源和对应的言序控件树;窗口.列建立根容器;显示请求系统显示窗口;运行进入 VM 所有者线程上的事件泵。窗口系统线程只把事件批次投递给宿主队列,言序回调不会从任意原生线程执行。
关闭按钮先产生关闭请求。示例把它映射为应用.退出,因此事件循环结束并按子到父顺序释放控件、回调和原生资源。多窗口应用可以只关闭当前窗口,或在最后一个窗口关闭时退出。
窗口尺寸使用逻辑像素。言台根据当前显示器比例因子转换为物理像素,指针、IME 候选区与绘制表面也使用同一套换算。