0

我束手无策,经过几天的搜索,我只是找不到在对话框中显示属性(使用 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
4

1 回答 1

0

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

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。这将允许您看到它在一个特定的对象上工作。

祝你好运!

于 2015-03-13T11:55:39.200 回答