프로그램
캐드 분류

리습 명령 버튼 관련한 문의입니다.

컨텐츠 정보

  • 188 조회
  • 3 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

(defun c:layButton ()
  (setq id (load_dialog "c:/Button.dcl"))
  (new_dialog "button" id)
  (action_tile "lyon" "(setq cmd "layon")  (done_dialog 1)")
  (action_tile "lyoff" "(setq cmd "layoff")(done_dialog 1)")
  (setq ok (start_dialog))
  (if (= ok 1)
    (progn
       (if (= cmd "layoff")
 (command "layer" "off" "Guide" "" "")
      )
      (if (= cmd "layon")
 (command "layer" "on" "Guide" "")
      )
    )
    )
  (unload_dialog id)
)
위와 같이 Guide레이어 on,off 할수 있는 리습을 만들었습니다.
다만 버튼을 누르면 창이 없어지는데 없어지지 않고 확인 버튼을 누를때까지 다른 버튼을 누를 수 있게 하고 싶습니다.
어떻게 해야 하나요?

관련자료

댓글 3

운의사나이님의 댓글

아 감사합니다. ok 버튼 눌렀을때 시작하라는 것이지요!!

조용!!님의 댓글

운의사나이님 노력이 보입니다.. 몇줄 안되지만.. 엄청힘드시죠. 질문에 대한 답변만 하겠습니다. 대화상자가 활성화되어있을경우 command 를 하면 멈춤현상이 일어납니다. 그래서.. done 한 후..  command 하시고.. 다시 대화상자를 띄우시는 순서로 가셔야 합니다. 이해 힘드시겠죠… 잴 앞에. new_dia…  앞에 while 문과 조건문이 있어야 합니다. done_ 하더라도.. 1 일 경우 다시 while 문으로 갈수 있게.. 대신.. 무한 while 될수 있으니 확인 및 취소 일 경우.. while 문을 빠져 나와야 겠죠..

답변은 드렸고.. 미래를 말씀 드리겠습니다. 대화상자를 자주 이용하실꺼면… opendcl, VBA, dotNet(닷넷) 을  알아보세요… DCL의 한계에 금방 따를껍니다…..

자유천지님의 댓글

  (action_tile "lyon" "(setq cmd "layon")  (done_dialog 1)")

  (action_tile "lyoff" "(setq cmd "layoff")(done_dialog 1)")
여분필드1 여분필드2 여분필드3
전체 7,152 / 1 페이지
번호
제목
이름
알림 0