使用 C++ 代码隐藏的编程活动

通过完成 教程:使用 C++ 代码后台编程活动,学习如何使用 C++ Code Behind 工作流编程活动。

../../_images/code-behind-drag-widgets.gif

在您可以使用 C++ Code Behind 编程活动之前,确保将您的 Kanzi 开发环境设置好。要使用 Kanzi Engine API 开发应用程序逻辑,您需要:

  • CMake 3.25 或更新版本

  • 安装了最新更新的 Visual Studio 2022

要使用 C++ Code Behind 编程 Activities:

  1. 在 Activity Browser 中创建您想要编程的 Activity 或 Activity Host。

    例如,创建一个包含多个 Activities 的根 Exclusive Activity Host。

    ../../_images/activity-browser-create-root-eah.png ../../_images/eah-media-navigation-phone-activity-browser.png
  2. 在 Activity Browser 中,右键单击 Activity 或 Activity Host,然后选择 Add Code Behind。如果您的应用程序基于 Kanzi Android framework (droidfw) 模板,请选择 Add Code Behind > C++。

    ../../_images/activity-browser-add-code-behind.png ../../_images/activity-browser-add-cpp-code-behind.png

    当您将 C++ Code Behind 添加到 Activity 节点时,Kanzi Studio:

    1. 从 <KanziWorkspace>/Templates/Code_behind_template 复制 C++ Code Behind 模板。

    2. 在 <ProjectName>/Tool_project/CodeBehind 目录中创建一个 Visual Studio 解决方案和项目,用于您添加了 C++ Code Behind 的 Activity。

    3. 为您在项目属性中设置的 Preview 构建配置和 Visual Studio 版本编译项目。

      ../../_images/project-properties1.png
    4. 将包含在 C++ Code Behind Visual Studio 项目中定义的功能的 DLL 文件导入到 Kanzi Studio 项目中,作为 Kanzi Engine 插件。

      ../../_images/library-cpp-code-behind-plugin.png
    5. 重新启动 Preview。

      当 Preview 启动时,在 Activity Browser 中,具有 C++ Code Behind 的活动包含 后台代码 图标,并且侧面板显示在 C++ Code Behind 中定义的命令。

  3. 在 Activity Browser 中,右键单击您添加了 C++ Code Behind 的 Activity,然后选择 Open Code Behind。如果您的应用程序基于 Kanzi Android framework (droidfw) 模板,请选择 Open Code Behind > C++。

    Kanzi Studio 在 Visual Studio 中打开包含 C++ Code Behind 的 Visual Studio 解决方案。

    C++ Code Behind 功能的 Visual Studio 解决方案存储在目录 <ProjectName>/CodeBehind/build_vs2022 中。

    ../../_images/open-code-behind-solution.png ../../_images/open-cpp-code-behind-solution.png
  4. 在 Visual Studio 中,在 <ActivityNodeName>_activity_code.cpp 文件中,在 NodeComponent::attachOverride 函数中为该 Activity 节点添加初始化功能并保存文件。在 NodeComponent::attachOverride 函数中,您可以安装消息处理程序、属性监听器、创建节点、设置活动的外观和功能等。

    通过这种方式,您为该 Activity 节点提供了独特的功能,以便您可以通过代码对状态变化做出反应。

  5. 在您的项目中使用 C++ Code Behind:

    1. 在您用于添加 C++ Code Behind 的活动的预设中的 Prefabs 中,创建一个 Button、List Box,或创建一个 List Box Item Container 预设。

      例如,创建一个 Button 2D 节点。

      ../../_images/code-behind-prefabs-button.png
    2. 在 Properties 中添加 Command 属性,并将其设置为您在 <ActivityNodeName>_activity_code.cpp 文件中创建的命令。

      当您使用之前创建的 Button 2D 节点激活 Activity,并在 Preview 中单击该按钮时,Log 窗口将显示 MyFirstCommand 的默认消息。

      ../../_images/code-behind-properties-command.png ../../_images/code-behind-log.png

在 API 中使用 C++ Code Behind

有关详细信息,请参阅 CodeBehind 类。

另请参阅

教程:构建应用程序 UI

教程:使用 C++ 代码后台编程活动