1.uc1601 单按钮模态对话框

1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 uc1601("单选模态对话框!", 1);
6 UF_terminate();
7 }

 

2.UF_UI_message_dialog 多按钮模态对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 int response = 0;
6 char title_string[] = "王牌飞行员_里海";
7 char *sMessages = "多按钮模态对话框";
8 UF_UI_MESSAGE_DIALOG_TYPE dialog_type = UF_UI_MESSAGE_QUESTION;//对话框类型 UF_UI_MESSAGE_ERROR,UF_UI_MESSAGE_WARNING,UF_UI_MESSAGE_INFORMATION,UF_UI_MESSAGE_QUESTION
9 UF_UI_message_buttons_s button;
10 button.button1 = true;//是否显示
11 button.button2 = true;
12 button.button3 = true;
13 button.label1 = "是";//按钮名
14 button.label2 = "否";
15 button.label3 = "取消";
16 button.response1 = 1;//返回值
17 button.response2 = 2;
18 button.response3 = 3;
19 UF_UI_message_dialog(title_string, dialog_type, &sMessages, 1, 0, &button, &response);
20 switch (response)
21 {
22 case 1:
23 uc1601(button.label1, 1); break;
24 case 2:
25 uc1601(button.label2, 1); break;
26 case 3:
27 uc1601(button.label3, 1); break;
28 default:
29 uc1601("未知按钮", 1); break;
30 }
31 UF_terminate();
32 }

3.文件选择对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 //文件选择对话框
6 char sPromptStr[] = "部件选择对话框"; //快捷信息(在提示栏显示)
7 char sTitleStr[] = "部件选择对话框"; //对话框标题(如图)
8 char sFilterStr[] = ".prt"; //文件过滤器,即只处理某一种类型文件(如图)
9 char sDefaultStr[] = "*.prt"; //默认文件名(如图)
10 char sFilePath[256] = ""; //用户选择的文件全路径
11 int iRespones = 0; //函数返回值
12 UF_UI_create_filebox(sPromptStr, sTitleStr, sFilterStr, sDefaultStr, sFilePath, &iRespones);
13 uc1601(sFilePath, 1);
14
15 UF_terminate();
16 }

 4.文件夹选择对话框

 1 #include "Text.h"
2 #include <Windows.h>
3 #include <ShlObj.h>
4 #include <tchar.h>
5 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
6 void OnBnClickedButton1();
7
8 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
9 {
10 UF_initialize();
11 OnBnClickedButton1();
12 UF_terminate();
13 }
14 extern int ufusr_ask_unload(void)
15 {
16 return (UF_UNLOAD_IMMEDIATELY);
17 }
18
19 int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
20 {
21 switch (uMsg)
22 {
23 case BFFM_INITIALIZED: //选择目录对话框初始化时 选中指定目录
24 //BFFM_INITIALIZED表示浏览对话框已经初化结束,参数lParam为NULL
25 //设置初始选项
26
27 ::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData);
28
29 //关于BFFM_SETSELECTION消息的说明
30 //wParam :标记lParam参数包含一个ITEMIDLIST结构(PIDL)还是一个目录路径名
31 // 如果为TRUE,lParam内容为路径名;否则lParam包含一个路径PIDL。
32 //lParam :内容为浏览对话框所选的路径。如果wParam为TRUE,lParam内容为一个
33 // 以NULL结尾的字符串的指针,否则为PIDL
34 break;
35 default:
36 break;
37 }
38 return 0;
39 }
40 void OnBnClickedButton1()
41 {
42 // TODO: 在此添加控件通知处理程序代码
43 BROWSEINFO bi;
44 char Buffer[MAX_PATH];
45 LPWSTR aaa = CA2W(Buffer);
46 //初始化入口参数bi开始
47 bi.hwndOwner = NULL;
48 bi.pidlRoot = NULL;//初始化制定的root目录很不容易
49 bi.pszDisplayName = aaa;//此参数如为NULL则不能显示对话框
50 bi.lpszTitle = _T("选择目标文件路径");
51 bi.ulFlags = BIF_EDITBOX | BIF_NEWDIALOGSTYLE;
52 //CString file_puch=_T("D:\\HYS_tool_code\\code\\tihuan_excel\\x64\\Release\\data");
53 CString file_puch = _T("D:\\");//
54 bi.lParam = (long)(file_puch.GetBuffer(file_puch.GetLength()));//初始化路径,形如(_T("c:\\Symbian"));
55 bi.lpfn = BrowseCallbackProc;
56
57 //初始化入口参数bi结束
58 LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
59
60 if (pIDList)
61
62 {
63 SHGetPathFromIDList(pIDList, aaa);
64 //取得文件夹路径到Buffer里
65 file_puch = aaa;//将路径保存在一个CString对象里
66
67 /*你的代码 */
68 char chArray[500];
69 CString2Char(file_puch, chArray); //CString转char
70 uc1601(chArray, 1);
71
72 }
73
74 // free memory used
75 IMalloc * imalloc = 0;
76
77 if (SUCCEEDED(SHGetMalloc(&imalloc)))
78 {
79 imalloc->Free(pIDList);
80 imalloc->Release();
81 }
82
83 }

5.单选菜单对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char sPrompStr[] = "单选菜单对话框";//显示在提示栏中的信息
6 int iDefault = 0;//0:确定灰显 1:确定激活
7 char asOptions[][38] = { "菜单选项1", "菜单选项2","菜单选项3"};
8 int iNumOfOptions = 3;//最多包含14个菜单选项
9 uc1603(sPrompStr, iDefault, asOptions, iNumOfOptions);
10 UF_terminate();
11 }

6.多选菜单对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char sPrompStr[] = "多选菜单对话框";//显示在提示栏中的信息
6 int iDefault = 0;//0:确定灰显 1:确定激活
7 char asOptions[][38] = { "菜单选项1", "菜单选项2","菜单选项3" };
8 int iRe = 0;
9 int iNumOfOptions = 3;//最多包含14个菜单选项
10 uc1605(sPrompStr, iDefault, asOptions, iNumOfOptions,&iRe);
11 UF_terminate();
12 }

7.单对象选择对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 int selectface();//选面
3 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
4 {
5 UF_initialize();
6 selectface();
7 UF_terminate();
8 }
9
10 extern int ufusr_ask_unload(void)
11 {
12 return (UF_UNLOAD_IMMEDIATELY);
13 }
14
15 int init_proc_face(UF_UI_selection_p_t select, void* user_data)//选面
16 {
17 int num_triples = 1;
18 UF_UI_mask_t mask_triples[] = { UF_solid_type,0,20 };
19
20 if (UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, num_triples, mask_triples) == 0) {
21 return (UF_UI_SEL_SUCCESS);
22 }
23
24 return (UF_UI_SEL_FAILURE);
25 }
26
27 int selectface()//选面
28 {
29 tag_t tagSeleceFaceOcc = 0;
30 int iReturn = 0;
31 int iSelResp = 0;
32 double pDblCursorPosTemp[3];
33 tag_t tagViewTemp;
34 tag_t pTagObjs;
35 iReturn = UF_UI_select_with_single_dialog("提示请选择面", "标题请选择面", UF_UI_SEL_SCOPE_NO_CHANGE,
36 init_proc_face, NULL, &iSelResp, &pTagObjs, pDblCursorPosTemp, &tagViewTemp);
37 if (!iReturn&&pTagObjs != NULL_TAG)
38 {
39 tagSeleceFaceOcc = pTagObjs;
40 UF_DISP_set_highlight(pTagObjs, false);
41 return 0;
42 }
43 else
44 {
45 return 1;
46 }
47 }

8.按类选择对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 int selectPartBody();//选择体;
3 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
4 {
5 UF_initialize();
6 selectPartBody();
7 UF_terminate();
8 }
9 extern int ufusr_ask_unload(void)
10 {
11 return (UF_UNLOAD_IMMEDIATELY);
12 }
13 static int face_sel_cb(int num_sel, tag_p_t sel_objects, int num_deselected, tag_p_t deselected_objs, void *user_data, UF_UI_selection_p_t select)
14 {
15 int i = 0;
16 tag_t tagObjTemp;
17 UF_OBJ_translucency_t TRANSLUCENCY = NULL;
18 for (i = 0; i < num_sel; i++)
19 {
20 if (UF_ASSEM_is_occurrence(sel_objects[i]))
21 {
22 tagObjTemp = UF_ASSEM_ask_prototype_of_occ(sel_objects[i]);
23 }
24 else
25 {
26 tagObjTemp = sel_objects[i];
27 }
28 UF_UI_remove_from_sel_list(select, 1, &sel_objects[i], true);
29 UF_OBJ_ask_translucency(tagObjTemp, &TRANSLUCENCY);
30 if (TRANSLUCENCY != 0)
31 {
32 (UF_OBJ_set_translucency(tagObjTemp, 0));
33 (UF_OBJ_set_translucency(sel_objects[i], 0));
34 }
35 else
36 {
37 (UF_OBJ_set_translucency(tagObjTemp, 50));
38 (UF_OBJ_set_translucency(sel_objects[i], 50));
39 }
40 }
41 return (UF_UI_CB_CONTINUE_DIALOG);
42 }
43 int init_proc_solid(UF_UI_selection_p_t select, void* user_data)
44 {
45 int iReturn = 0;
46 const int num_triples = 1;
47 UF_UI_mask_t mask_triples[num_triples];
48
49 mask_triples[0].object_type = UF_solid_type; //选择过滤
50 mask_triples[0].object_subtype = 0;
51 mask_triples[0].solid_type = 0;
52
53 iReturn = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, num_triples, mask_triples);
54 if (!iReturn) iReturn = (UF_UI_set_sel_procs(select, NULL, face_sel_cb, NULL));
55 if (iReturn == 0)
56 {
57 return (UF_UI_SEL_SUCCESS);
58 }
59 return (UF_UI_SEL_FAILURE);
60 }
61
62 int selectPartBody()//选择体
63 {
64 int iReturn = 0;
65 int iSelResp = 0;
66 int iCountTemp = 0;
67 double pDblCursorPosTemp[3];
68 tag_t *pTagObjs = NULL; //选择的对象
69 while (!iReturn)
70 {
71 iReturn = (UF_UI_select_with_class_dialog("提示选择体", "标题选择体", UF_UI_SEL_SCOPE_ANY_IN_ASSEMBLY, init_proc_solid, NULL, &iSelResp, &iCountTemp, &pTagObjs));
72 if (iSelResp == UF_UI_CANCEL) return 1;
73 }
74 return iReturn;
75 }

9.点构造器

 

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char sCA[] = "点构造器";
6 UF_UI_POINT_base_method_t base_method = UF_UI_POINT_INFERRED;
7 tag_t tagPoint = NULL_TAG;
8 double douBasePoint[] = {0.0, 0.0, 0.0};
9 int iRes;
10 UF_UI_point_construct(sCA, &base_method, &tagPoint, douBasePoint, &iRes);
11 UF_terminate();
12 }

10.拾取向量对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 double douVec[3], pnt[3];
6 int iMode = UF_UI_INFERRED;
7 int iDispFlag = UF_UI_DISP_TEMP_VECTOR;
8 int iRes = 0;
9 UF_UI_specify_vector("选择一个矢量", &iMode, iDispFlag, douVec, pnt, &iRes);
10 UF_terminate();
11 }

11.点收集器

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char cMessage[] = "点收集器";
6 bool boolCoincidentPoints = true;
7 UF_UI_chained_points_p_t chainedPoints;
8 int iCount;
9 int iRes;
10 UF_UI_select_point_collection(cMessage, boolCoincidentPoints, &chainedPoints, &iCount, &iRes);
11 UF_terminate();
12 }

12.拾取屏幕位置

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char cMessage[] = "拾取屏幕位置";
6 double dOrigin[] = { 0.0, 0.0, 0.0 };
7 tag_t tagView;
8 int iRes;
9 UF_UI_specify_screen_position(cMessage, NULL, NULL, dOrigin, &tagView, &iRes);
10 //dOrigin为选择的屏幕位置
11 UF_terminate();
12 }

13.特征选择对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char cMessage[] = "提示:特征选择对话框";
6 int iCount;
7 tag_t* tagFeature;
8 int iRes;
9 UF_UI_select_feature(cMessage, NULL, &iCount, &tagFeature, &iRes);
10 UF_terminate();
11 }

14.参数选择对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 UF_FEATURE_SIGN sign = UF_NULLSIGN;
6 double douBlockOrig[3] = { 0.0, 0.0, 0.0 };
7 char* cBlockLengh[3] = { "6", "66", "666" };
8 tag_t tagBlockObj;
9 char cMessage[] = "提示:参数选择对话框";
10 int iCount;
11 tag_t* tagExp;
12 int iRes;
13 UF_MODL_create_block1(sign, douBlockOrig, cBlockLengh, &tagBlockObj);
14 UF_UI_select_parameters(cMessage, tagBlockObj, &iCount, &tagExp, &iRes);
15 UF_free(tagExp);
16 UF_terminate();
17 }

15.拾取平面对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 double douOrientation[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
6 double douOrigin[3] = { 0, 0, 0 };
7 double douPts[6] = { 0, 0, 0, 0, 0, 0 };
8 int iMode = 1, display = 0, response;
9 tag_t tagPlaneEid = NULL_TAG;
10 UF_UI_specify_plane("指定平面", &iMode, display, &response, douOrientation, douOrigin, &tagPlaneEid);
11 UF_terminate();
12 }

16.选择草图对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char cMessage[] = "提示:选择草图对话框";
6 tag_t tagSketch;
7 int iRe;
8 UF_UI_select_sketch(cMessage, NULL, &tagSketch, &iRe);
9 UF_terminate();
10 }

17.拾取草图尺寸对话框

 1 //来自“王牌飞行员_里海”的测试源码(qq群753801561)
2 extern DllExport void ufusr(char *param, int *returnCode, int rlen)
3 {
4 UF_initialize();
5 char cMessage[] = "提示:拾取草图尺寸对话框";
6 tag_t tagSketch;
7 int iCount;
8 tag_t* tagExps = NULL;
9 int iRes;
10 UF_SKET_ask_active_sketch(&tagSketch);
11 UF_UI_select_sketch_dimensions(cMessage, tagSketch, &iCount, &tagExps, &iRes);
12 UF_free(tagExps);
13 UF_terminate();
14 }

【NX二次开发】常用的标准对话框的更多相关文章

  1. NX二次开发-基于MFC界面对话框与NX交互的开发

    打开VS2013 点击新建,选择MFC DLL 点击确定 点下一步 什么都不改,直接点完成 进来之后先编译一下,看是否编译成功 打开项目属性,更改这几处 $(UGII_BASE_DIR)\ugopen ...

  2. 【NX二次开发】修改dlx对话框标题的方法

    修改dlx名称, 修改对话框标题的方法: theDialog->TopBlock()->FindBlock("Dialog")->GetProperties()- ...

  3. NX二次开发-UFUN单对象选择对话框UF_UI_select_with_single_dialog

    #include <uf.h> #include <uf_ui.h> ], void* user_data, UF_UI_selection_p_t select) { if ...

  4. NX二次开发-UFUN文件选择对话框UF_UI_create_filebox

    NX11+VS2013 #include <uf.h> #include <uf_ui.h> UF_initialize(); //文件选择对话框 char sPromptSt ...

  5. NX二次开发-UFUN单选菜单对话框uc1603

    NX11+VS2013 #include <uf.h> #include <uf_ui.h> UF_initialize(); //单选菜单对话框 char sPromptSt ...

  6. NX二次开发-UFUN参数选择对话框UF_UI_select_parameters

    #include <uf.h> #include <uf_ui.h> #include <uf_modl.h> UF_initialize(); //参数选择对话框 ...

  7. NX二次开发-UFUN选择草图对话框UF_UI_select_sketch

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //选择草图对话框 char sMessage[] = "选择 ...

  8. NX二次开发-UFUN拾取平面对话框UF_UI_specify_plane

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //拾取平面对话框 ] = { , , , , , , , , }; ] ...

  9. NX二次开发-UFUN拾取向量对话框UF_UI_specify_vector

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //拾取向量对话框 ], pnt[]; int mode = UF_UI ...

  10. NX二次开发-常用lib库文件

    在项目属性->配置属性->链接器->输入->附加依赖项: libufun.lib UFUNC API 函数库 libugopenint.lib UFUNC 对话框 API 函数 ...

随机推荐

  1. vscode插件(摸鱼神器-小霸王游戏机

    vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...

  2. 【opencv】VideoCapture打不开本地视频文件或者网络IP摄像头

    1.前提:成功打开本地USB摄像头 // 创建VideoCapture对象 VideoCapture vc = new VideoCapture(); // 可以成功打开本地USB摄像头 // 参数可 ...

  3. Linux Limit相关内容设置大全(值得收藏)

    目录 一. /etc/security/limits.conf 详解 /etc/security/limits.conf 配置解析 /etc/security/limits.d/目录 二. ulimi ...

  4. XAML一些控件的使用

    这节来讲一些XAML中常用控件的使用. Window Window控件是一个基础,它是其它控件的容器,我们可以通过修改其中的一些属性来设置窗体的显示效果,下面说一些最常用的属性: WindowStar ...

  5. react+antd 使用脚手架动态修改主题色

    最近做了一个需求,后台管理系统添加一个可以动态修改ant-design主题色.查询了大多数的文章,发现基本都是抄来抄去,而且文章记录的也一点也不详细.刚刚把这个功能做完了,顺便记录一下如何去修改主题色 ...

  6. 使用find_if算法搜寻map的value

    // // main.cpp // map_find // // Created by PKU on 14-9-8. // Copyright (c) 2014年 PKU. All rights re ...

  7. oo第四单元作业总结

    一.本单元两次作业的架构: 本单元两次作业的架构基本是一致的,所以两次作业的架构就一起说了. 为了避免查询时出现同一个结果反复计算的情况(连续两次查询一个类的顶级父类,如果我们在查询的指令中来计算其父 ...

  8. (原创)高DPI适配经验系列:(三)字体与字号、缩放锚点

    一.前言 程序最基本的元素,就是文本,也就是字体.如果程序未进行高DPI的适配,最直观的感受便是字体的模糊.所以本篇便来说一下高DPI适配中的字体问题. 高DPI的适配,简单来说便是便是根据不同的DP ...

  9. [bug] HMaster启动后几秒消失

    参考 https://blog.csdn.net/weixin_44896798/article/details/97800045 https://blog.csdn.net/liudi1993/ar ...

  10. [DB] 数据库的连接

    概述 集合运算:交,差,并,笛卡尔积 关系运算:选择,投影,连接,除 集合运算是关系运算的基础,关系运算可以用SQL语句表达 连接(join):从两个关系(表)的笛卡儿积中选取属性(列)间满足一定条件 ...