Forum Discussion

dbulli's avatar
dbulli
Visitor
14 years ago

roMessageDialog above roImageCanvas problem overhang

I am having an issue that I don't know if it's possible to get around. When I put a dialog above the canvas, it dims out all the image except what it thinks should be an Overhang graphic. Is there anyway to make it dim out entire screen?

canvas = CreateObject("roImageCanvas")
canvas.SetLayer( 0, [ this.background ] )
canvas.Show()

d = CreateObject("roMessageDialog")
dPort = CreateObject("roMessagePort")
d.SetMessagePort(dPort)
d.SetTitle("Code Expired")
d.SetText("This code has expired. Press OK to get a new one")
d.AddButton(1, "OK")
d.Show()


2 Replies

  • As best I can tell, this is a bug in the firmware that's a result of the old static overhang size, where it would dim the content area, but not the overhang. There are two possibilities to workaround it that I can think of...

    1. Use "EnableOverlay(True)" so nothing is dimmed (not available on roOneLineDialog).

    2. Use a combination of roImageCanvas and EnableOverlay(True) to draw your own dimmed overlay prior to displaying the message dialog (again, not available for roOneLineDialog, but you could potentially just draw the canvas over the undimmed area).
  • Thanks TheEndless ... not what I wanted to hear, but at least I know. Definitely complicates when there are buttons on screen.