从调用程序

时间:2016-07-05 09:58:16

标签: openedge

问题与在使用.cls程序关闭对话框屏幕后没有将焦点恢复到进度应用程序有关,并且上次访问的应用程序位于顶部。正如我尝试了所有选项一样,获取框架句柄,应用程序的processid和浏览器句柄,以便在关闭子窗口后将进度应用程序置于顶部。

我已针对此问题尝试了以下方法:

Senerio 1   使用所选程序的句柄并将条目应用于窗口。   用于实现此senerio的步骤如下:   1.)将CheckMainFrame定义为PUBLIC STATIC PROPERTY,用于在TabFolder.cls中获取和设置。   2.)在调用所选程序后在oplauncher.p中设置程序句柄。         FolderForm:CheckMainFrame = hLaunchProc。   3.)在关闭对话框后获取方法CheckWindowClose并将条目应用于窗口容器。

Senerio 2   使用查看器的句柄并将条目应用于浏览器。   用于实现此senerio的步骤如下:   1.)将CheckBrowser定义为PUBLIC STATIC PROPERTY,用于在TabFolder.cls中获取和设置。   2.)在CreateRenderedBrowsers中设置浏览器句柄,在其中循环浏览文件夹页面以及查找时       浏览器并获得bowser句柄。         TabFolderForm:CheckBrowser = hColumn。   3.)关闭对话框后,在方法CheckWindowClose中获取浏览器句柄并将条目应用于浏览器。

Senerio 3   使用查看器窗口小部件句柄并将条目应用于第一个字段,光标正在获得焦点。    用于实现此senerio的步骤如下:    1.)将CheckViewer定义为PUBLIC STATIC PROPERTY,用于在TabFolder.cls中获取和设置。    2.)在CreateRenderedBrowsers中设置查看器句柄,其中循环浏览器的文件夹页面        小部件,当它找到查看器并获取查看器的第一个窗口小部件句柄并设置句柄        观众的公共财产。         TabFolderForm:CheckViewer = hViewerWidget。    3.)关闭对话框后,在方法CheckWindowClose中获取Viewer句柄并将条目应用于Viewer。

Senerio 4    使用应用程序的进程ID并将后焦点应用于应用程序。    用于实现此senerio的步骤如下:    1.)在Win32.cls程序中定义了一个GetCurrentProcessId方法,用于ge应用程序的进程id。    2.)Windows.API.Win32:GetCurrentProcessId(OUTPUT ProcessId)。       关闭对话框并调用方法后,在方法CheckWindowClose中获取processid        THIS-OBJECT:鼠标点击(的ProcessID)
。       强制鼠标单击事件如下例所示:        Windows.API.Win32:PostMessage的(hWidget,                                                Windows.API.WinUser:WM_SETFOCUS,                                                0,                                                0)。        Windows.API.Win32:PostMessage的(hWidget,                                                Windows.API.WinUser:WM_SETCURSOR,                                                0,                                                0)。        Windows.API.Win32:PostMessage的(hWidget,                                                .Windows.API.WinUser:WM_MDIRESTORE,                                                0,                                                0)。

有人能建议我吗?

0 个答案:

没有答案