NX二次开发-BlockUI选择面控件设置选择规格face_select0->SetFaceRules(1)及设置单选多选

经常会看到别人在QQ群里问选择面控件的选择规则如何更改,默认的总是相切面,想默认就变成单个面要怎么做。

一开始这个问题我也不知道,因为工作中还没遇到过这种需求。

后来QQ群里,有群友发了解决方法,我就记录了下来,方便以后查找。

方法1:在代码上设置

NX9+VS2012

//在dialogShown_cb()里加上这段代码
face_select0->SetSelectModeAsString("Single");//设置控件单选
//face_select0->SetSelectModeAsString("Multiple");//设置控件多选
face_select0->SetFaceRules(1);//设置面的选择规则

Caesar卢尚宇
2020年11月20日

方法2:在blockUI上设置

 

API帮助说明

帮助中这个方法输入的是一个int类型,到底int值应该输入多少对应哪个规则类型,我在帮助上没有找到。

但是我找到了一个变通的方法,去blockui对话框上面找值。

 输入0x1就是单选面

face_select0->SetFaceRules(0x1);

输入0x41就是单选+相邻面

face_select0->SetFaceRules(0x41);

 输入0x5就是单选+相切面

 附加

 
  是16进制转换的  0x1就是1

这也就解释的通  你们之前为什么单选面输入的是1了,而输入0x1也是单选面

有网友张找到这些宏定义

 

 使用方法

        //方法1
        int i = FaceRules_SingleFace;
        face_select0->SetFaceRules(i);


        //方法2
        face_select0->SetFaceRules(1 << 0);

解释

Caesar卢尚宇

2020年11月20日

原文地址:https://www.cnblogs.com/nxopen2018/p/14012592.html