Skip to content

新建窗口项目

[🕒 预计 20 分钟] | 难度:入门

创建项目流程

1. 创建项目

  1. 启动 LingBuilder,进入工作台。
  2. 点击 文件 > 新建项目(也可在左侧 解决方案资源管理器 或欢迎页中点击 新建项目)。
  3. 新建项目 对话框中选择模板并填写信息:
    • 项目模板:选择 空白 Win32 窗口(也可选 你好 LingBuilder 示例、new_emoji FBro 浏览器外壳Windows 动态链接库)。
    • 项目名称:输入项目名称,例如 HelloWorld
  4. 点击 创建,LingBuilder 将自动生成项目骨架文件。

2. 项目文件结构

创建完成后,解决方案资源管理器 中会生成以下内容:

文件 / 目录说明
项目名.lbsln解决方案文件
src/MainWindow.lcpp窗口的中文源码(事件处理器写在这里)
MainWindow.xml窗口的设计器模型:控件布局与属性
.lingbuilder/ 目录保存解决方案配置与项目模块引用等数据

NOTE

选择 Windows 动态链接库 模板时不会生成窗口设计器模型,工作台会直接定位到 DllApi.lcpp 接口入口文件。

3. 在设计器中布置界面

  1. 解决方案资源管理器 中双击窗口节点下的 界面设计 项进入窗口设计器;若当前停在代码编辑器,也可点右上角 查看设计器 (Designer)(快捷键 Shift+F7)。
  2. 在左侧 控件 面板中单击 按钮,控件即添加到当前窗口画布;随后拖动它调整位置,拖动手柄调整大小。
  3. 布局改动保存在窗口的 *.xml 设计器模型里,不会往 .lcpp 源码写入控件声明。只有给控件绑定事件(见下一节)才会生成对应的中文事件代码。

4. 给按钮添加点击事件

MainWindow.lcpp 编辑器右上角可在 新手 / 专业 / 原生 三种视图之间切换,默认为 新手。三种视图编辑的都是同一份 MainWindow.lcpp 源码,保存后结果完全一致。

新手模式(默认推荐)

新手模式是「中文结构编辑器」:代码按易语言习惯以结构表格展示,而不是纯文本。上方是 窗口程序集名程序集变量 表,中间是 子程序名 表(含返回值类型、静态、公开/私有/保护、备注列),下方是当前子程序的 参数名 表;各子程序的语句在表格下方逐行编辑,输入命令时有中文补全和引导提示。

  1. 回到 界面设计 标签页,在窗口设计器中 双击按钮,LingBuilder 会自动创建默认事件处理器并定位到对应代码,默认名为 _按钮1_被单击(命名规则:_控件名_被单击,控件默认名依次为 按钮1按钮2……;也可在左侧属性面板的事件组中自定义处理器名)。
  2. 切回 MainWindow.lcpp 的新手视图,子程序名 表中已出现 _按钮1_被单击,备注列显示 处理器:_按钮1_被单击
  3. 在该子程序的语句区逐行输入以下命令(每行一条,输入 信息框 时按中文补全提示填入参数):
调试输出("按钮被点击了")
信息框("你好,LingBuilder!", 64, "提示")
  1. Ctrl+S 保存。

专业模式

专业模式是「中文代码主编码器」(Monaco),顶部提供「专业源码工具」常用语句快捷插入栏,可直接查看和编辑整份源码。完成上面步骤后,MainWindow.lcpp 的全文如下:

lcpp
类 MainWindow
    事件 创建完毕()
        调试输出("窗口创建完毕")
    结束

    事件 _按钮1_被单击()
        调试输出("按钮被点击了")
        信息框("你好,LingBuilder!", 64, "提示")
    结束
结束类

NOTE

创建完毕 事件由 空白 Win32 窗口 模板自动生成,窗口加载后触发。事件名开头的 _ 前缀表示该处理器来自设计器绑定;事件 定义的名称必须与设计器显示的处理器名完全一致,事件才会触发。

原生预览

原生视图是 只读的「原生 C++ 预览」:展示当前项目确定性生成的完整真实 C++ 工程,可在 main.cpplayout.jsonlcpp-sources/src/MainWindow.lcpp 等文件页签之间切换,并提供刷新、复制、打开目录、导出工程、编译运行、导入 C++ 等操作。其中两个事件处理器生成的 C++ 代码如下(节选自 main.cpp):

cpp
void MainWindow_创建完毕() {
    调试输出(L"窗口创建完毕");
}

void 按钮1_被单击() {
    调试输出(L"按钮被点击了");
    信息框(L"你好,LingBuilder!", MB_OK | MB_ICONINFORMATION, L"提示");
}

源码里事件名开头的 _ 前缀只用于标记设计器绑定,生成的 C++ 方法名不带该前缀(_按钮1_被单击按钮1_被单击)。

5. 运行项目

  1. 点击工具栏 调试 (F5) 按钮,或按 F5
  2. 首次运行会自动编译项目,编译完成后弹出程序窗口。
  3. 点击窗口中的按钮,应看到信息弹窗 你好,LingBuilder!

6. 常见问题

NOTE

如果事件没有触发,请检查设计器绑定的处理器名(如 _按钮1_被单击)与代码中 事件 定义的名称是否完全一致。

如果编译报错 缺少模块,请在左侧 解决方案资源管理器模块 组中点击 配置项目所使用模块,确认对应模块已启用。

下一步