Maxscript) editText의 Enter 처리방식[팁]
Maxscript의 editText는 싱글라인과 멀티라인으로 글을 쓸 수 있는데요.
싱글라인 설정과 멀티라인 설정을 다른 옵션이 아닌 height값으로 결정이 됩니다.
editText를 처음쓰는게 아닌 자주 쓰던 분들은 editText관련 레퍼런스를 정독까진 안 하기도...
(정독 하신다면 ^^;)
-- Enter 후 messageBox 가 출력됨
try (destroyDialog testRollout) catch()
rollout testRollout "Enter"
(
editText etxt_Enter "Enter :"
on etxt_Enter entered txt do
(
messageBox txt
)
)
createDialog testRollout
-- Enter 후 messageBox 가 출력되지 않음
-- 다른 곳을 클릭하면 messageBox가 출력됨
try (destroyDialog testRollout) catch()
rollout testRollout "Enter"
(
editText etxt_Enter "Enter :" height:18
on etxt_Enter entered txt do
(
messageBox txt
)
)
createDialog testRollout
두 스크립트를 각각 실행해 보면 잼 있는 현상을 보실 수 있는데요.
아래쪽 코드의 경우 엔터를 치면 글이 사라지는 것처럼 보입니다.
그러다 다른 화면을 선택하면 여러줄의 messageBox 를 확인 할 수 있습니다.
이를 버그라고 생각할 수도 있는데요.
사실 아래쪽 스크립트는 멀티라인으로 적용되어서 그렇습니다.
엔터를 치면 라인이 추가되며, entered 이벤트가 정상작동하지 않습니다.
이렇게 싱글라인과 멀티라인의 경계는 height 값 17과 18의 차이에서 오게 됩니다.
(멀티라인을 조금 더 확실하게 확인 하려면 height값을 한 100정도로 올려보세요.)
height 17 이하 : 기본설정17, 싱글라인, entered 이벤트 정상 작동
height 18 이상 : 멀티라인, entered 이벤트 비 정상 작동
editText의 height 값을 변경할 때는 주의 하세요.
'Max' 카테고리의 다른 글
Maxscript) Matrix3 연산자 비교? (0) | 2016.04.05 |
---|---|
Maxscript) Time Config 기능 추가 (프레임 단위로 화면 확인하는 기능) (0) | 2016.03.30 |
Maxscript 메인 툴바에 메뉴 등록하기 (0) | 2015.02.06 |
Maxscript) Animation Range 쉽게 조절하기 (0) | 2015.01.26 |
Autocomplete Maxscript Editor(자동완성) (1) | 2014.10.29 |