更改显示名称对象MOO图表

2020-09-19 19:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

在MOO中,我们有一些"抽象"的类和操作(对象属性)。 我们希望在图表中轻松识别此信息,为此,我们想更改显示对象(名称)。 因此,如果类是抽象类,我们希望她的名字看起来像"草书",对于类操作也是如此。

示例:

课程:

非抽象类:IDbCommand

抽象类: IdbCommand


操作:

非抽象操作:获取_command文本():字符串

摘要操作: 获取_command文本():字符串


您有什么建议吗? 我们要创建文件扩展名吗?

谢谢

(75.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

在MOO中,我们有一些"抽象"的类和操作(对象属性)。 我们希望在图表中轻松识别此信息,为此,我们想更改显示对象(名称)。 因此,如果类是抽象类,我们希望她的名字看起来像"草书",对于类操作也是如此。

示例:

课程:

非抽象类:IDbCommand

抽象类: IdbCommand


操作:

非抽象操作:获取_command文本():字符串

摘要操作: 获取_command文本():字符串


您有什么建议吗? 我们要创建文件扩展名吗?

谢谢

(75.7 kB)
付费偷看设置
发送
4条回答
My梦
1楼 · 2020-09-19 20:36.采纳回答

这是用于重置喜欢的颜色的代码示例。

'创建一个名为Table_1的表的PDM。 添加一些列。 将其中之一设置为主键。

显式选项

Dim tbl,TabSymbol,col,TabFonts,ColumnFonts,PrimaryKeyFonts

'---------------------------------------------- ---------------------------
'为表名设置字体
'为表中的列设置字体。 颜色设置为250,50,150
'--------------------------------------- ---------------------------------
TabFonts =" DISPNAME" + CStr(RGB(250,0, 0))+" Arial,12 N"
ColumnFonts =" Arial,8,B,250,50,150"
PrimaryKeyFonts =" Harrington,8,B,250,250,150"

'---------------------------------------------- -------------------------
'遍历整个PDM图。 设置每个表的字体
'遍历每个表的符号设置
'初始化每个表的SubObject(列字体)。
对于Activemodel中的每个tbl。对于每个TabSymbol,表
中的tbl.symbols中的每个TabSymbol
TabSymbol.SubObjects =""
'设置每个表的字体和颜色。
'如果tbl.name =" Table_1"然后
'TabSymbol.FillColor = Cstr(RGB(20,120,100))
'TabSymbol.FontList = TabFonts
'其他
'TabSymol.FillColor = Cstr(RGB(200,100,20))
'如果结束

'表格背景颜色
TabSymbol.FillColor = Cstr(RGB(0,100,0))
TabSymbol.FontList = TabFonts

'在tbl.Columns中为每个列设置列字体
'再次初始化子对象。只需给它命名
如果TabSymbol.SubObjects =""然后
TabSymbol.Subobjects =" 列字体"
如果结束

'如果列是主键,则设置为不同的字体
如果col.Primary = True然后
TabSymbol.SubObjects = TabSymbol.SubObjects和vbCrLf&col.ObjectID&PrimaryKeyFonts
其他
> TabSymbol.SubObjects = TabSymbol.SubObjects和vbCrLf&col.ObjectID和ColumnFonts
如果
下一个
下一个
下一个

结束

ActiveDiagram.RedrawAllViews()

shere_lin
2楼-- · 2020-09-19 20:41

感谢Phillip!

Nan4612
3楼-- · 2020-09-19 20:37

嗨,

恐怕您将不得不创建自己的脚本,该脚本将修改类符号的适当属性。 如果需要修改类名的格式(例如,基于Abstract属性),则必须修改类的classSymbol对象的FontList属性。 请参阅我的输出窗口中的QDNM行。 该行的末尾有" I",表示该对象的合格名称以斜体显示。 坏消息是FontList属性包含非结构化文本,所以最好的方法是恕我直言,使用正则表达式在FontList属性中查找适当的行并根据您的需要进行修改。

关于类属性(操作等),情况甚至更加复杂。 从屏幕快照中可以看到,该类中有4个属性,但是在输出窗口中仅显示其中3个。 这意味着,当在类符号中将属性的格式设置为默认格式时,它根本就不会出现在SubObjects属性中! 因此,脚本必须首先确定是否修改了属性的格式(=其对象ID将出现在SubObjects属性中),然后可以使用正则表达式对其进行修改。 如果属性格式为默认格式,则必须手动将其添加到SubObjects属性。 这是实现目标的一种非常讨厌的方法,但恐怕这是唯一的方法。


完成后,可以将此算法放入类事件处理程序中,以确保每次对对象进行更改时,格式都会自动更改。 请从下面的屏幕快照中查看代码,以便更好地获取所需的属性。

HTH,

Ondrej

对于activemodel.classes中的每个c
   输出c.name
   对于c.attributes中的每个ca
     输出名称
   下一个
   输出" ----"
   对于c.Symbols中的每个cs
     输出cs.FontList
     输出" ----"
     输出cs.SubObjects
   下一个
 下一个

 
当学会了学习
4楼-- · 2020-09-19 20:35

对象ID出现在"版本信息"选项卡中,因为Ondřej已打开调试模式-嗯,必须跟踪我的注释,这告诉我如何打开调试模式:)

一周热门 更多>