ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Closing Window详解

Closing Window详解

原创 Linux操作系统 作者:kawontony 时间:2013-02-22 09:13:57 0 删除 编辑

Remember that you must move the cursor out of the window before
closing it, otherwise the window reopens automatically.

Example:

In a form. with windows ”Header,” ”Lines,” and ”Shipments,” where
Lines is a detail of Header, and Shipments is a detail of Lines, the logic
to close the windows is as follows:
PROCEDURE close_window (wnd VARCHAR2) IS
IF wnd = ’HEADER’ THEN
––
–– Exit the form
––
app_window.close_first_window;
ELSIF wnd = ’LINES’ THEN
––
–– Close detail windows (Shipments)
––
app_custom.close_window(’SHIPMENTS’);
––
–– If cursor is in this window,

–– move it to the HEADER block
––
IF (wnd = GET_VIEW_PROPERTY(GET_ITEM_PROPERTY(
:SYSTEM.CURSOR_ITEM,ITEM_CANVAS),
WINDOW_NAME)) THEN
GO_BLOCK(’HEADER’);
END IF;
ELSIF wnd = ’SHIPMENTS’ THEN
––
–– If cursor is in this window,
–– move it to the LINES block
––
IF (wnd = GET_VIEW_PROPERTY(GET_ITEM_PROPERTY(
:SYSTEM.CURSOR_ITEM, ITEM_CANVAS),
WINDOW_NAME)) THEN
GO_BLOCK(’LINES’);
END IF;
END IF;
––
–– THIS CODE MUST REMAIN HERE. It ensures
–– the cursor is not in the window that will
–– be closed by moving it to the previous block.
––
IF (wnd = GET_VIEW_PROPERTY(GET_ITEM_PROPERTY(
:SYSTEM.CURSOR_ITEM, ITEM_CANVAS),
WINDOW_NAME)) THEN
DO_KEY(’PREVIOUS_BLOCK’);
END IF;
––
–– Now actually close the designated window
––
HIDE_WINDOW(wnd);
END close_window;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24627116/viewspace-754487/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-17

  • 博文量
    183
  • 访问量
    433677