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

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T