[stackoverflow] [progress Openedge Abl] Focus Back Issue In Openedge Application When...

Status
Not open for further replies.
S

Saroj

Guest
Issue is related to not getting back the focus to the progress application after closing the dialog screen using .cls programs and last accessed application is sitting on top. As I have tried all the option like , getting the frame handle, processid of application and browser handle for make the progress app on top after closing the child window.

I have tried the below methods for this issue:

Senerio 1 Used handle of the selected program and apply entry to window. Steps used to achive this senerio as follows: 1.) Define CheckMainFrame as PUBLIC STATIC PROPERTY for get and set in EmbeddedWindowTabFolder.cls. 2.) Setting the program handle in oplauncher.p after calling the selected program . EmbeddedWindowTabFolderForm:CheckMainFrame = hLaunchProc. 3.) Getting the handle in method CheckWindowClose after closing the dialog and apply entry to window container.

Senerio 2 Used handle of the viewer and apply entry to browser. Steps used to achive this senerio as follows: 1.) Define CheckBrowser as PUBLIC STATIC PROPERTY for get and set in EmbeddedWindowTabFolder.cls. 2.) Setting the browser handle in CreateRenderedBrowsers where its looping throught the folder pages and when its find the browser and getting the bowser handle. EmbeddedWindowTabFolderForm:CheckBrowser = hColumn. 3.) Getting the browser handle in method CheckWindowClose after closing the dialog and apply entry to browser.

Senerio 3 Used viewer widget handle and applying entry to first field, cursor is getting the focus. Steps used to achive this senerio as follows: 1.) Define CheckViewer as PUBLIC STATIC PROPERTY for get and set in EmbeddedWindowTabFolder.cls. 2.) Setting the viewer handle in CreateRenderedBrowsers where its looping through the folder pages for viewer widgets and when its find viewer and getting the first widget handle of viewer and setting the handle to public property of viewer. EmbeddedWindowTabFolderForm:CheckViewer = hViewerWidget. 3.) Getting the Viewer handle in method CheckWindowClose after closing the dialog and apply entry to Viewer.

Senerio 4 Used process id of the application and apply back focus to the application. Steps used to achive this senerio as follows: 1.) Defined a method GetCurrentProcessId in Win32.cls program to ge the process id of application . 2.) Consultingwerk.Windows.API.Win32:GetCurrentProcessId(OUTPUT ProcessId). Getting the processid in method CheckWindowClose after closing the dialog and called the method THIS-OBJECT:MouseClick(ProcessId).
Forcing Mouse click events as some example below: Consultingwerk.Windows.API.Win32:postMessage(hWidget, Consultingwerk.Windows.API.WinUser:WM_SETFOCUS, 0, 0) . Consultingwerk.Windows.API.Win32:postMessage(hWidget, Consultingwerk.Windows.API.WinUser:WM_SETCURSOR, 0, 0) . Consultingwerk.Windows.API.Win32:postMessage(hWidget, Consultingwerk.Windows.API.WinUser:WM_MDIRESTORE, 0, 0) .

Can anyone suggest me on this?

Continue reading...
 
Status
Not open for further replies.
Top