老师好:
我现在想实现一个通过 用户确定一个数字,然后动态创建对应数量的编辑框控件,目前我考虑有两种方法实现
1、通过用户输入 ,真正实现动态创建。
2、提前根据业务 进行预判,设定一个最大合理数量的按钮,然后根据用户指定的数量 显示对应数量的控件。
但是目前都遇到一些问题,比如 1 的问题是 目前只了解R方式创建静态控件的方法,
2的问题是 没有找到可以 隐藏的属性。
辛苦老师 抽时间 解答一下!!!!!
方法2实现起来比较简单。在资源文件中如下所示设置ON|HIDDEN就能使一个控件初始状态为隐藏。
DialogBoxRsc DIALOGID_NewWidth = { DIALOGATTR_DEFAULT, 32*XC, 5*YC, NOHELP, MHELP, NOHOOK, DIALOGID_EditPanel, "New Width", { {{18*XC, YC, 12*XC, 0}, Text, TEXTID_NewGapWidth, ON|HIDDEN, 0, "", ""}, {{18*XC, YC, 12*XC, 0}, OptionButton,OPTIONID_NewWidth, ON|HIDDEN, 0, "", ""}, {{ 6*XC, 3*YC, 8*XC, 0}, PushButton, PUSHID_AcceptNewWidth, ON, 0, "", ""}, {{18*XC, 3*YC, 8*XC, 0}, PushButton, PUSHID_CancelNewWidth, ON, 0, "", ""}, } };
后期通过代码控制一个控件(item)的显示与隐藏可分别调用mdlDialog_itemShow和mdlDialog_itemHide即可。
Answer Verified By: 平凡人生
还可以参考:https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/132319/ms-v8i?ReplySortBy=CreatedDate&ReplySortOrder=Ascending 这个 链接的信息。
Bentley 二次开发小白一枚
老师好,像这种需要设置默认值的 怎么设置啊?比如:
{{14*XC+9,GENY(5),15*XC,0}, Text, EDITID_COUNT, ON, 0, "", ""},
编辑框资源声明如下:
//编辑框 柱子的数量 比如四柱承台 就可以填写4 DItem_TextRsc EDITID_COUNT = { NOCMD, LCMD, SYNONYMID_Basic, NOHELP, MHELP, NOHOOK, NOARG, 14, "%d", "%d", "", "", NOMASK, NOCONCAT, TXT_EDIT_COUNT, "g_uicode.zcount" };
最简单粗暴的方法就是在你的MdlMain函数中打开对话框之前对g_uicode.zcount赋值为4。不过比较优雅的方法应该是在.r中定义
老师,我想问的就是 怎么在R资源中定义?上面编辑框 中 我没有找到 可以填写默认值的地方!