有没有办法在DXL的对话框中显示对象属性?

时间:2015-03-13 08:56:08

标签: ibm-doors

我在我的智慧结束,经过几天的搜索后,我找不到在我的对话框中显示属性(使用OLE)的方法我找到了以下代码片段但无效,但没有显示任何内容。我真的不知道这段代码是否会起作用(或者它是否用于此目的),但它是我发现的最接近我的要求。

DB dtbox  = create "Test Window"
Module m = current Module
Object obj
void repaint(DBE canv) {}
expectedResults = canvas(dtbox,600,250,repaint)
for obj in m do {
    if (obj."Object Heading" "" != "")
    {
        if (!null getCanvas) font(getCanvas, level(obj), HeadingsFont)
        displayRich(number(obj) " " obj."Object Heading" "")
    }

    if (obj."Object Text" "" != "")
    {
        if (!null getCanvas) font(getCanvas, level(obj), TextFont)
        displayRich(richTextWithOle(obj."Object Text"))
    }
    ...
    //block until user clicks the next button

}
show dtbox

1 个答案:

答案 0 :(得分:0)

画布用于绘制图形或加载位图,它不会显示您的OLE。您需要使用richText框。

DB dtbox  = create "Test Window"
Module m = current Module
Object obj
DBE expectedResults = richText(dtbox, "My OLE BOX", "", 600, 250, true) 
for obj in m do {
  if (obj."Object Heading" "" != "")
  {
    set(expectedResults, number(obj) " " obj."Object Heading" "")
  }

  if (obj."Object Text" "" != "")
  {
    set(expectedResults, richTextWithOle(obj."Object Text"))
  }
  ...
  //block until user clicks the next button

}
show dtbox

如果你想测试它,只需注释掉for循环并设置obj = current。这将允许您看到它在一个特定的对象上工作。

祝你好运!