Hello Jurgen,
Thank you for writing back.
1. In this case, you need to use reflection to get the service in ABL. Here is the code (in order this to work you need Open Edge 11.6.2):
define variable fi AS System.Reflection.FieldInfo.
define variable flags As System.Reflection.BindingFlags.
flags = System.Reflection.BindingFlags:NonPublic OR System.Reflection.BindingFlags:Instance.
fi = this-object:radDock1:GetType():GetField("sevices", flags).
define variable services as class "Dictionary<
Integer
,RadDockService>".
define variable so as System.Object.
so = fi:GetValue(this-object:radDock1).
services = cast(so,"System.Collections.Generic.Dictionary<
Integer
,Telerik.WinControls.UI.Docking.RadDockService>").
define variable serviceC as ContextMenuService.
define variable i as integer.
define variable j as integer.
define variable s as RadDockService.
do i = 1 to services:count:
j = i - 1.
s = services:item[i].
serviceC = cast(s,ContextMenuService) no-error.
if valid-object(serviceC) then
do:
serviceC:ContextMenuDisplaying:Subscribe(menuService_ContextMenuDisplaying).
end.
end.
2. The following snippet shows how this can be achieved in ABL:
4. We do not have build in function for the hidden (closed) documents. You have to manually handle this.
Please let me know if there is something else I can help you with.
Regards,
Dimitar
Telerik
Check out the Windows Forms project converter, which aids the conversion process from standard Windows Forms applications written in C# or VB to Telerik UI for WinForms.For more information check out this
blog post and share your thoughts.