Ribbon Control and Progress OpenEdge 10.1A |
Post Reply |
Author | ||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
Posted: 18 November 2008 at 3:47am |
|
Dear Support Team,
i try to get a RibbonBar with yout CommandBar OCX with Progress Open Edge 10.1A. Everything seems to work (I have to use the commandbarframe control) only the TitleBar does not change like in the example with Visual Basic (No extra Buttons like Min/Max/Close in Vista Style). Is there a possibility to kind of Bind the OCX to the Progress window so that it will hide the Standard (e.g. WindowsXP) and show the Vista Style Buttons. Can anyone Help ?
Kind Regards.
Normen Teuber
|
||
rdhaan
Newbie Joined: 11 December 2008 Location: Netherlands Status: Offline Points: 7 |
Post Options
Thanks(0)
|
|
Hi Normen,
Progress/Openedge create another Window in the 'Windows window'.
So, you will have to ask the parent of your Progress window for its handle:
ch_TBar:EnableOffice2007FrameHandle( i_hWnd ). ch_TBar:EnableOffice2007Frame( TRUE ). Then it works...
Rene.
|
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Hi,
thanks i tried this already with the Skins and it works but only with poor performance....
Sorry but it doesn't work because EnableOffice2007FrameHandle is not available for the commandbarframe control i use or is there a trick ?
Thanks for this hint.
KdRgds.
Normen
|
||
adwild2
Groupie Joined: 17 December 2008 Location: Netherlands Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
The solution above misses the GetParent procedure: PROCEDURE GetParent EXTERNAL "user32.dll" :
DEFINE INPUT PARAMETER ch_Window AS LONG. DEFINE RETURN PARAMETER ch_Parent AS LONG. END PROCEDURE. This will change the title bar style to the Office2007 theme.
But it still will NOT solve the initial problem. Because the Ribbonbar is placed in the 'Progress window' instead of the 'MS Windows window' the method EnableFrameTheme() tries to remove the titlebar from the incorrect window. The result is that the ribbonbar doesn't show the window title, the window buttons (minimize, maximize, close), and dragging the Ribbonbar moves the Progress window INSIDE the MS Windows-window.
To be able to use the Ribbonbar in a Progress application there should be a way to place the Ribbonbar in the Progress window, but bind it to a different window handle eg. with a property.
My question to the support team is if there already is a solution to this problem or if there is going to be.
Kind regards,
Arie
|
||
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP SP3 (32bit) Language: Progress OpenEdge 10.2A |
||
adwild2
Groupie Joined: 17 December 2008 Location: Netherlands Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Here an example of the problem when the ribbonbar is attached to the "Progress window". The window still contains a titlebar (which should be removed when using a ribbon) and when dragging the ribbon the "Progress window" inside the "Windows window" is moved which result in the following situation:
If the ribbonbar is attached to the "Windows window" the titlebar is correctly removed. But then the "Progress window" is drawn over the ribbon so it isn't visible anymore:
How should the Codejock Ribbonbar be used in an OpenEdge Progress environment?
|
||
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP SP3 (32bit) Language: Progress OpenEdge 10.2A |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Do you use the CommandBarsFrame Control or the CommanBars ? (I did not manage to get the ControlBars working only the ComandBarsFrame)Rgds
Normen
|
||
adwild2
Groupie Joined: 17 December 2008 Location: Netherlands Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
I managed to add the Ribbonbar to a Progress window. I do this by attaching the Ribbon to the Windows-window and moving the Progress-window 142 pixels down using the SetWindowPos API. Here an example, I hope this will fix it for you too :
|
||
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP SP3 (32bit) Language: Progress OpenEdge 10.2A |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
That doesn't work for me (OpenEdge 10.1A?) with 10.1A i have to youse the CommandBarsFrame control not the CommandBars contrrol. I tried everything but only recieve a "white stripe". Does anybody get things going with the CommandBars control not withe the CommandBarsFrame control ? (I think there might bei a difference )
Normen
|
||
rdhaan
Newbie Joined: 11 December 2008 Location: Netherlands Status: Offline Points: 7 |
Post Options
Thanks(0)
|
|
Normen,
We use the CommandBars, not the CommandBarsFrame.
With a CONTROL-FRAME of 1 by 1 pixels and then using the AttachToWindow function is docks to the Windows window.
This works for the RibbonBar and also the CommandBar used as a Toolbar (wit then lowering the Progress windows 26 pixels).
Even when using the statusbar, is still works.
The only weird thing we had was that the Close and Maximize buttons didn't work with the SkinFrameWork
(before we docked the Toolbars to the 'Progress' window).
But after moving it to the Windows window the buttons work.
CREATE CONTROL-FRAME ocx_Toolbar
ASSIGN FRAME = h_Frame ROW = 1 COLUMN = 1 HEIGHT = 1 WIDTH = 1 HIDDEN = TRUE SENSITIVE = TRUE. ASSIGN ocx_Toolbar:NAME = "ocx_Toolbar":U.
ASSIGN cg_Tmp = SEARCH( "s-tbar10.wrx":U ). IF cg_Tmp = ? THEN RETURN "ERROR":U. ASSIGN chocx_Toolbar = ocx_Toolbar:COM-HANDLE
lg_Tmp = chocx_Toolbar:LoadControls(cg_Tmp,"ocx_CommandBars":U) NO-ERROR. ASSIGN ch_TBar = chocx_Toolbar:CommandBars NO-ERROR.
IF l_Ribbon THEN
RUN SetWindowPos( h_Window:HWND, 0, 0, 142, 0, 0, {&SWP_NOSIZE} + {&SWP_NOZORDER}, OUTPUT ig_Tmp). OR RUN SetWindowPos( h_Window:HWND, 0, 0, 26, 0, 0, {&SWP_NOSIZE} + {&SWP_NOZORDER}, OUTPUT ig_Tmp). ch_TBar:AttachToWindow( i_hWnd ).
This is all in Progress 10.2A (but in 10.1A it should work as well).
|
||
Product: Xtreme SuitePro (ActiveX) version 16.2.4.
Testing v18.0.060117 Platform: Windows 10 x64 Language: Progress OpenEdge 11.7 x64 |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Hi rdhaan,
everything is fine - but, the ribbon is not visible...uploads/20090226_030353_sample.zip
I attached a small sample - where you can see what i mean. (hope so)
The Main code is in the Proecedure programminit.
Or do you have a working small exaple ? (it should contain the LoadDesignerBars method)
Regars
Normen
|
||
Oleg
Admin Group Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
|
|
Hi,
Try to increase size of form.
|
||
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
I have already tried to increase the size of the form, but it has no result. (i added a screen, where you can see the results)
|
||
adwild2
Groupie Joined: 17 December 2008 Location: Netherlands Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Changed your code a bit (the procedure "programminit"), and now it works for me. The ribbonbar is now created AFTER it is attached to the window. I disabled the xcb file from the commandbars designer because for some reason it removes the minimize, maximize and close buttons on the ribbon. I you want to use a status bar you also should decrease the height of the progress window. In the code there is a comment which describes this. If this code doesn't work for you there is probably something wrong with your .wrx file.
|
||
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP SP3 (32bit) Language: Progress OpenEdge 10.2A |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Hi,
maybe i am to inexperienced. Everything works fine (loadDesignBars works fine ?!) but the Statusbar is not working.
Can you send me a example code for this ? (resize the window doesn't work)
KdRgds.
Normen
|
||
adwild2
Groupie Joined: 17 December 2008 Location: Netherlands Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
I see the above code is not working with a statusbar. This is because progress tries to resize the progress window to the size of the windows window. You have to overrule this in the resize event of the commandbars.
First an updated version of the code i wrote you first. This will correctly set the statusbar.
Now you have to add a procedure for the commanbars resize event:
Good luck.
Grtz Arie
|
||
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP SP3 (32bit) Language: Progress OpenEdge 10.2A |
||
NormenT
Groupie Joined: 12 November 2008 Location: Germany Status: Offline Points: 16 |
Post Options
Thanks(0)
|
|
Hi Arie,
thanks for your help.
Do you have a skype or messenger Account where i can contact you ? (i hope it is allowed to ask for)
I git some little very progress - specific Question maybe you can help ?
(Skype: Normen_T)
KdRgds and a nice Weekend
Normen
|
||
Product: Xtreme SuitePro ActiveX v12.1.0
Language: Progress OpenEdge 10.1A & 10.2A Platform: Windows XP (32 Bit) - SP 3 |
||
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |