Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.

SRP EditTable Redraw within OI9.4 Groupboxes

Hi,

We're just testing application after upgrading it from OI 8.0.8 to 9.4. One of the first things we notice is that SRP EditTables within an OI Groupbox on an MDI Child window do not get redrawn when un-obscured by another MDI child window, or if brought back into the MDI client area after moving it outside. They get redrawn if the mouse cursor floats on top of them.

See this video for an example.

Also (on XP only), the underlying cell (whose contents does not fit) is not redrawn after its tooltip has disappeared.

I presume something in the way groupboxes are stacked in the Z order has changed in OI? Is there something I can do to fix this?

Cheers, M@

Comments

  • Hi Matt,

    I don't have a qualified answer but have you tried re-saving the form in the new version?
    I can't remember the details but I know this has worked for me in the past.

    Another alternative, admittedly far more time consuming, but in many places I've replaced the OI group boxes with SRP picture controls. Obviously, that won't work if you're relying on group boxes for enabling/disabling controls or something but if you're not then I find it a generally nicer way of dividing up parts of a window.

    Just my two cents.
  • Matt,

    I do not believe this is a problem with the SRP EditTable control. I tried to replicate but was unsuccessful. I suspect Mark is getting to the heart of the issue. Z-order (or tab order) can make a difference, especially if you are leap frogging this many versions of OI. I do not think a simple re-save will help as that won't change the order of your controls. Try cutting all of your group boxes to the clipboard and then paste them back onto the form. You can do all of the group boxes at once. Then save the form and test again.

    Side note, I am not sure how Mark is using the SRP Picture control in lieu of a group box, but I do support the idea if he is implementing the solution we documented in our Advanced Support for Images blog article.
  • I said I couldn't remember the details. :-P

    Yes, removing and then re-adding the controls before re-saving the form made the difference.

    On your side note, yes, just like in the article by using the control part property.

    I think its about the only OLE property that I actually set in the form designer rather than on a window create event.
  • Mark,

    I confess, I set this in the Form Designer as well....contrary to company policy. ;-)
  • Ssshhh! I won't tell if you don't. :-D
  • Thanks for the hints, Don and Mark!

    I did try recreating groupboxes and/or edittables on the form and resaving - to no avail. Then I remembered that we don't actually have SRP EditTable controls explicitly painted on the form using Form Designer - they are instead created dynamically during a promoted CREATE event, based on their shadow OI edittables. So something about the way OI handles the Z ordering of controls created dynamically seems to have changed, or at least the way it handles groupboxes affects dynamic controls placed within them.

    So I've explicitly included an SRP.edittable.1 OLE placeholder control for these cases, and changed the promoted CREATE event code to manipulate these, if they exist, instead of creating a control. And that seems to work fine.
  • Matt,

    Thanks for the update. I think that explains a lot, although I am not sure why things changed. Not that I am asking you to do this but I wonder what would happen if you dynamically created the group box controls as well.
  • what would happen if you dynamically created the group box controls as well
    Brilliant!! That's even better - thanks. The more the promoted CREATE event can do itself, the better.
    I've just tried a simple test of DESTROYing the groupbox and reCREATEing it, after the SRP edittables have been created - and that seems to work.

    Cheers, M@
  • Actually, even better than destroying and recreating the groupboxes is to just
    Send_Message( SRPedittable, "SET_ZORDER", groupbox)
  • Matt,

    Very nice. I take it that you have tested it and it works?
  • Yeap, seems to work well. I couldn't just SET_ZORDER for all the groupboxes for every SRP edittable created - I had to specifically work out which groupboxes contained which edittables and only do it for those.
  • Martin,

    Would you mind making a new post? Your question is a good one, but no one searching the discussion forum would guess that it is appended to the end of an older thread relating to redraw issues.

    Also, I just have to ask...where does "doco" come from? You are the only person I know who uses that to mean "documentation". I see "docs" quite frequently.
  • Its an Aussie thing. We shorten and append "o" to everything.

    My mates Robbo, Johnno and Dicko will attest to that.

    Doesn't help with the redraw or delete but it might answer your last question Donno.
  • That's pretty funny. It also reminds me of the Marx Brothers: Groucho, Chico, Harpo, Zeppo, and Gummo.
  • Actually I was talking to Davo this arvo during smoko and he was telling me bout this yobbo trying to start his barbie with kero that he got from the servo.
    I said "Fair Go! What a drongo!"
    Davo said he wasn't going to do it at first but his mates said "Avago" so he did.

    Anyway after they called the Ambos, they told him he was Goodo but the barbie had to be put out the front for the Garbos to pick up in the morning.
  • have table with 10 columns across
    how do I 'DEL' a row in one keystroke

    I've looked thru the doco and blogs and must be missing the trick
Sign In or Register to comment.