block UI控件如果有RetainValue属性,就用这个属性。没有这个属性可以参考下面这种方法。以矢量控件为例:

1.在apply_cb回调中,将控件值保存到文本中

double TopForTextDir[3] = { 0.0,0.0,0.0 };
Vector3d vec = this->vector0->GetProperties()->GetVector("Vector");
TopForTextDir[0] = vec.X;
TopForTextDir[1] = vec.Y;
TopForTextDir[2] = vec.Z; string strFile = "D:\\haha\\temp\\k_cam_BoosCupFace_vector0.temp";
FILE *fp = NULL;
errno_t err = fopen_s(&fp, strFile.c_str(), "w");
fprintf(fp, "%f,%f,%f", TopForTextDir[0], TopForTextDir[1], TopForTextDir[2]);
fclose(fp);

2.在initialize_cb回调中,从文本中读取,设置控件值

    string strFile = "D:\\haha\\temp\\k_cam_BoosCupFace_vector0.temp";
FILE *fp = NULL;
errno_t err = fopen_s(&fp, strFile.c_str(), "r");
if (fp != NULL)
{
char szLineContentTemp[501] = "";
fgets(szLineContentTemp, 500, fp);
if (strlen(szLineContentTemp) > 3)
{
if (szLineContentTemp[strlen(szLineContentTemp) - 1] == '\n') szLineContentTemp[strlen(szLineContentTemp) - 1] = '\0';
string strLineTemp = szLineContentTemp;
if (strLineTemp.find(",") != strLineTemp.npos)
{
vector<string> vecTemp;
splitString(strLineTemp, vecTemp, ",");
if (vecTemp.size() == 3)
{
double douDir[3] = { 0.0,0.0,0.0 };
douDir[0] = atof(vecTemp[0].c_str());
douDir[1] = atof(vecTemp[1].c_str());
douDir[2] = atof(vecTemp[2].c_str());
Vector3d vecDir(douDir[0], douDir[1], douDir[2]);
this->vector0->GetProperties()->SetVector("Vector", vecDir);
}
}
}
}
fclose(fp);

其他方法,先记录一下以后再说吧:

你把值读出来,写到部件属性里,在打开工具对话框去部件属性里读出来啊

除了这个方法还有方法,自己做个UDO把那个值 自定义数据管理起来

UDO 再次弹出对话框的时候,就把那个值 显示到 对话框里了

【NX二次开发】指定矢量控件,记住上次选择的方向的更多相关文章

  1. 【NX二次开发】Block UI 指定矢量

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  2. NX二次开发-Block UI C++界面Specify Point(指定点)控件的获取(持续补充)

    Specify Point(指定点)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_ui.h> UF_initialize(); / ...

  3. 【NX二次开发】Block UI 选项卡控件

    [NX二次开发]Block UI 选项卡控件

  4. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

  5. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...

  6. 【NX二次开发】获取指定矩阵标识的矩阵值

    函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...

  7. python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)

    在上一篇blog:python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐 中介绍了python中的tkinter的一些东西,你可能对tkinter有一定的了解了.这篇b ...

  8. 【NX二次开发】Block UI 目录

    Block UI 目录  基本   标签/位图   切换开关   枚举   字符串   多行字符串   操作按钮   列表框   分割线   对象颜色选择器   RGB颜色选择器   绘图区   图层 ...

  9. Android开发:文本控件详解——TextView(一)基本属性

    一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...

随机推荐

  1. ColyseusJS 轻量级多人游戏服务器开发框架 - 中文手册(中)

    快速上手多人游戏服务器开发.后续会基于 Google Agones,更新相关 K8S 运维.大规模快速扩展专用游戏服务器的文章.拥抱️原生 Cloud-Native! 系列 ColyseusJS 轻量 ...

  2. Day006 什么是方法

    什么是方法? ​ 方法是语句的集合,他们在一起执行一个功能. 方法是解决一类问题的步骤的有序集合. 方法包含于类和对象中. 方法在程序中被创建,在其他地方被引用. 设计方法的原则 方法的本意是功能块, ...

  3. PHP 上传文件至阿里云OSS对象存储

    简述 1.阿里云开通对象存储服务 OSS 并创建Bucket 2.下载PHP SDK至框架扩展目录,点我下载 3.码上code 阿里云操作 开通对象存储服务 OSS 创建 Bucket 配置Acces ...

  4. 【opencv】Java实现opencv 调用本地摄像头,实现人脸识别、人形识别、人眼识别

    本博客为老魏原创,如需转载请留言咨询. 效果预览:(没办法,为了效果只能上像了,丑别介意.哈哈..) 上代码: 1 package com.lw.test; 2 3 import java.awt.G ...

  5. 19.Quick QML-GroupBox自定义

    GroupBox用来将子类的部件显示在其边框内部,并且一般默认左上有一个标题.GroupBox不提供自己的布局.所以需要我们自己通过ColumnLayout或者其他布局方式来进行布局.GroupBox ...

  6. Day015 异常处理机制

    异常处理机制 抛出异常 捕获异常 异常处理的五个关键字 try:监控一个代码块,有异常就能通过catch捕获 catch(想要捕获的异常类型):捕获想要捕获的异常,catch代码块的代码只有在捕获到异 ...

  7. ZwQuerySystemInformation枚举内核模块

    在内核中通过调用此函数来枚举windows系统中已经加载的内核模块. NTSTATUS ZwQuerySystemInformation ( SYSTEM_INFORMATION_CLASS Syst ...

  8. Python数模笔记-NetworkX(2)最短路径

    1.最短路径问题的常用算法 最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径. 1.1 最短路径长度与最短加权路径长度 在日常生活中,最短路径长度与最短路径距离好像并 ...

  9. mysql基本命令(增,查,改,删)

    from oldboy egon

  10. log日志重复输出问题(没弄明白原因)

    在别的模块调用定义好的函数 输出的日志出现第一次输出输出一条,第二次输出输出两条...的情况 最后在定义函数处remove了句柄 引用了https://blog.csdn.net/huilan_sam ...