1. Hua Yan
  2. PowerBuilder
  3. Wednesday, 25 March 2020 20:13 PM UTC

I have a MDI application with Appeon Powerbuilder 2019 R2 beta. When I click one of the RibbonMenuItem (drop list) of a button (small or large) on the Ribbonbar my active sheet becomes deactivated and triggers the activate event when the clicking is done. This is not the same behavior like when I click on a button or on the regular menu, which does not change the active status of the current sheet.

Any way to solve this? Thanks ahead.

Henry

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 25 March 2020 20:16 PM UTC
  2. PowerBuilder
  3. # 1

Hi Hua;

   FWIW:  The PB 2019 R2 GA release code is now "frozen" and in QA. I would suggest waiting for the GA release to come out shortly and then re-test before opening a support ticket on this issue.

Regards ... Chris

Comment
There are no comments made yet.
Michael Kramer Accepted Answer Pending Moderation
  1. Thursday, 26 March 2020 04:25 AM UTC
  2. PowerBuilder
  3. # 2

I would argue that what you see is "correct" behavior albeit different than for menus in MDI context. Hence, requires redesign of some "active-window" dependent code.

Menu is not a window control although it belongs to a window. For MDI you have special circumstance that MDI sheet's menu displays inside the MDI frame. Hence, sheet menu hides the frame menu until you close the sheet. Some sheets may have no menu. For such sheet the frame menu remains visible.

Note for menus: No GetFocus/LoseFocus events in PowerScript. So focus doesn't move - and sheet remains active despite menu item's selected/clicked events.

RibbonBar control is regular control so click on enabled RibbonBar will move focus to that control and therefore activate the "container" window. That gets confusing when using MDI because the "active" sheet takes back focus/activation "immediately afterwards".

My current opinion is that RibbonBar is ill-suited for placement on MDI frame - because MDI requires a menu on the frame. Looking at Microsoft's apps using ribbon controls they place the ribbon inside each "document" window = inside each sheet. And they don't use MDI anymore. Instead they have all transitioned from MDI into multi-SDI for lack of better term.

HTH /Michael

Comment
There are no comments made yet.
Hua Yan Accepted Answer Pending Moderation
  1. Thursday, 26 March 2020 13:06 PM UTC
  2. PowerBuilder
  3. # 3

Hi, Chris

Good to know this. Thanks

 

Our application requires MDI because we need to show more info in a page flexibly. And we like to use the Ribbonbar to show the app is modernized. We did a lot of changes for this with the Appeon Powerbuilder 2019R2B and I think we will be there.

 

Regards

 

Henry

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.