한 화면에 위에는 입력필드(A1)가 있고..
밑에는 텍스트 에디터인 컨테이너(B2)가 있습니다.
그리고
LOOP AT SCREEN.
IF SCREEN-NAME = 'A1'.
SCREEN-INVISIBLE = '1'.
SCREEN-INPUT = '0'.
ENDIF.
IF SCREEN-NAME = 'B1'.
SCREEN-INVISIBLE = '1'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
이런식으로 하면 A1입력필드는 사라집니다.
SCREEN 을 루프돌면서 SCREEN-NAME에서 'A1'은 걸리거든요..
그런데 컨테이너(B1)은 SCREEN 루프에서 걸리지를 않네요..
컨테이너는 그룹도 지정이 안되던데요..
컨테이너는 MODIFY SCREEN. 안되나요?
방법좀 알려주세요..ㅜㅜ
댓글 4
-
activeman
2009.07.13 23:01
-
피크민
2009.07.14 01:14
답변감사합니다.
그런데 제가 하려는건 텍스트 에디터 입력을 막는게 아니라..
리스트박스의 선택에 따라서..
텍스트 에디터가 사라지기도 하고 나타나타나기도하면서
스크린크기도 줄었다 커졌다 하는걸 하려고 합니다..
입력필드나 텍스트같은 것들은 쉽게 되게되는 기능이지만..
컨테이너가 들어가서 그런지 쉽게 안되네요..ㅜㅜ
-
남군
2009.07.14 01:21
입력 parameter에 따른 스크린 action 같은 경우는 PBO단에서 처리 하시면 될 것 같은데요.
IF PA_TEXT IS INITIAL.
FREE G_CONTAINER.
ENDIF.
...
이런식으로 한번 해 보세요~
-
피크민
2009.07.14 02:57
답변감사합니다...
서브스크린방식으로 해결했습니다..
하나는 빈 서브스크린..
또 다른 하나는 텍스트에디터가 있는 서브스크린으로요..^^ 나왔다 안나왔다 되네요...ㅎ
컨테이너는 screen으로 입력을 하지 못하게 하거나 할수는 없습니다...
text edit일 경우는 SET_READONLY_MODE 메소드를 이용하시면 수정을 막거나 입력을 할 수가 있습니다..
즐밥하세요..