Creo二次开发-UI开发(1)创建会话

2023-12-21 17:08

本文主要是介绍Creo二次开发-UI开发(1)创建会话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Creo Object Toolkit C++用户手册中提到,Creo3.0 及以上版本中,the Creo UI Editor 可以自己设计 UI 界面,uifc 框架可以在 toolkit 中使用。具体参考 the Creo UI Editor C++用户手册。
上述提到的 UI Editor 为 Creo 自带的 UI 设计软件,和常用的一些 UI 设计工具,如 QT 类似。具体的一些属性参数在 UI Editor 的用户手册中有介绍,但是信息有限。UI Editor 可以保存.res 文件,可以利用该文件在 toolkit 中创建会话。刚开始想做 UI 时,是打算用 QT 的,由于 VS 的版本问题,没能解决在 VS2012 环境下编译 QT 的问题,转而研究 Creo 自带的 UI 设计工具。在 toolkit 中,UI 模块对应的类以 uifc 开头。

uifcDialog

窗体,所有控件的基础。用函数 uifcCreateDialog()创建:

    #define DIALOG_MAPKEYS "Mapkeys"#define DIALOG_MAPKEYS_RES "Mapkeys.res"uifcCreateDialog(DIALOG_MAPKEYS, DIALOG_MAPKEYS_RES);uifcDialog_ptr Dialog1 = uifcDialogFind(DIALOG_MAPKEYS, DIALOG_MAPKEYS);

uifcDialogListener

Dialog 中的监听器。其中 Creo 自带头文件 uifcDefaultListeners.h 中对各监听器接口做了默认实现,如 uifcDialogListener 对应的默认类为 uifcDefaultDialogListener。后面重载成员函数时,只需覆写用到的函数即可。其中常用的如:

  • OnClose (uifcDialog_ptr handle)——窗口关闭
  • OnDisplay (uifcDialog_ptr handle)——窗口显示
  • OnPreDisplay (uifcDialog_ptr handle)——窗口显示前
    Dialog 创建完成后,使用 uifcDialog 的成员函数 AddActionListener()添加监听器,实现对相应动作的响应。
    在最后还需要使用 uifcActivateDialog()激活窗口,uifcDestroyDialog()销毁窗口。一个窗口完整的生命周期为创建、初始化、激活、关闭和销毁。只有当窗口关闭后才会销毁窗口。
class MyMapkeyDialogListener : public uifcDefaultDialogListener
{
public:void OnClose(uifcDialog_ptr handle){uifcExitDialog(handle->GetDialog(), 0);}
};
wfcStatus ShowMapkeys()
{uifcCreateDialog(DIALOG_MAPKEYS, DIALOG_MAPKEYS_RES);uifcDialog_ptr Dialog1 = uifcDialogFind(DIALOG_MAPKEYS, DIALOG_MAPKEYS);Dialog1->AddActionListener(new MyMapkeyDialogListener());uifcActivateDialog(DIALOG_MAPKEYS);uifcDestroyDialog(DIALOG_MAPKEYS);return wfcTK_NO_ERROR;
}

实例 1.1ShowMapkeys

根据自用快捷键创建分布图,通过创建窗口展示分布图,按键切换。
源代码:1.1ShowMapkeys
源代码通过 makefile 编译,VS2012+Creo3.0 编译通过。
内置 Install.exe 自动生成 creotk.dat 文件

这篇关于Creo二次开发-UI开发(1)创建会话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520817

相关文章

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.