¸®½À °Á - POPUP_LIST ¹Ú½º , ´ÙÀ̾ó·Î±× ¿¬µ¿°ü°è ¿¹Á¦
º» °Á´ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)¿¡ ÀÇÇØ ¸¸µé¾î Á³À¸¸ç ¾î¶°ÇÑ À¥»ó¿¡ ¾ÆÅ°¿ÀÇǽº(±èÈñÅÂ)ÀÇ µ¿ÀǾøÀÌ ¿Ã¸®´Â °ÍÀ» Çã¶ôÇÏÁö ¾Ê½À´Ï´Ù. |
POPUP_LIST ¹Ú½ºÀÇ ÀÛµ¿¹æ½Ä¹×,´ÙÀ̾ó·Î±×
°£¿¡ ¿¬µ¿°ü°è ¿¹Á¦ ÀÔ´Ï´Ù.
| ||
| ||
ÀÌ ¿¹Á¦¸¦ ½ÇÇàÇØº¸·Á¸é ÆÄÀÏÀ» ´Ù¿î¹Þ¾Æ ijµåÀÇ support µð·ºÅ丮¿¡
| ||
(defun c:exdialog (/ vimage vlist id listdata-product1 listdata-product2 listdata-product3 ok-actio ok ) (defun vimage (a key / ) (start_image key) (fill_image 0 0 (dimx_tile key) (dimy_tile key) -2) (slide_image 0 0 (dimx_tile key) (dimy_tile key) a) (end_image) ) (defun vlist (a key / ) (start_list key) (mapcar 'add_list a) (end_list) ) (defun ok-action() (alert (strcat "\n¼±ÅÃÇϽŠÁ¦Ç°Àº \"" (nth (atoi (get_tile "plist1")) (cadr ok)) "\" °ú \"" (nth (atoi (get_tile "plist2")) (caddr ok)) "\" ÀÔ´Ï´Ù! ÇÁ·Î±×·¥ ³¡~~!" ) ) ) (setq listdata-product1 '("Á¦Ç° 1 ÀÔ´Ï´Ù." ("±è" "¹Ì¿ª" "´Ù½Ã¸¶" "Á¶°³" "¿À¡¾î" "ÂÞ²Ù¹Ì")("¹è" "»ç°ú" "±Ö" "¿À·£Áö"))) (setq listdata-product2 '("Á¦Ç° 2 ÀÔ´Ï´Ù." ("³ª»ç" "º¼Æ®" "µå¶óÀ̹ö")("¼±¹Ý" "Àý»è" "±âŸµîµî"))) (setq listdata-product3 '("Á¦Ç° 3 ÀÔ´Ï´Ù." ("1" "2" "3" "4" "5" "6" "7" "8")("d" "c" "b" "a"))) (setq id (load_dialog "exdialog.dcl")) (new_dialog "exdialog" id) (vimage "ACAD(TRANS)" "image1") (vimage "ACAD(TRIANG)" "image2") (vimage "ACAD(STEEL)" "image3") (action_tile "image1" "(done_dialog 1)") (action_tile "image2" "(done_dialog 2)") (action_tile "image3" "(done_dialog 3)") (action_tile "accept" "(done_dialog 0)") (action_tile "cancel" "(done_dialog 0)") (setq ok (start_dialog)) (if (< 0 ok) (progn (new_dialog "popup_dialog" id) (setq ok (eval (read (strcat "listdata-product" (itoa ok))))) (set_tile "text" (car ok)) (vlist (cadr ok) "plist1") (vlist (caddr ok) "plist2") (action_tile "accept" "(ok-action)(done_dialog)") (action_tile "cancel" "(done_dialog)") (start_dialog) ) ) (unload_dialog id) (princ) ) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DCL Á¤ÀÇ ºÎºÐ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< exdialog : dialog { label = "¸®½ºÆ® - À̹ÌÁö ¿¹Á¦ ´ÙÀ̾ó·Î±×"; :row { :icon_image {key = "image1";width = 15;fixed_width = true;fixed_height = true; aspect_ratio = 1; } :icon_image {key = "image2";width = 15;fixed_width = true;fixed_height = true; aspect_ratio = 1; } :icon_image {key = "image3";width = 15;fixed_width = true;fixed_height = true; aspect_ratio = 1; } } ok_cancel; } popup_dialog : dialog { label = "¼±ÅÃÇϽÿÀ~!"; :text { key = "text";} :popup_list { key= "plist1"; } :popup_list { key = "plist2";} ok_cancel; }
(defun c:exdialog (/ vimage vlist id listdata-product1 listdata-product2 listdata-product3 ok-actio ok ) ;; image Ÿ¸®¿¡ À̹ÌÁö(½½¶óÀ̵å)¸¦ Ãâ·ÂÇÏ´Â ÇÔ¼ö´Ù. (defun vimage (a key / ) (start_image key) (fill_image 0 0 (dimx_tile key) (dimy_tile key) -2) (slide_image 0 0 (dimx_tile key) (dimy_tile key) a) (end_image) ) ;; popup_list ¶Ç´Â list_box ¿¡ ¸®½ºÆ®¸¦ Ãâ·ÂÇÏ´Â ÇÔ¼ö´Ù. (defun vlist (a key / ) (start_list key) (mapcar 'add_list a) (end_list) ) ;; »ç¿ëÀÚ°¡ ÃÖÁ¾¼±ÅÃÀ» ÇßÀ»¶§ ÇØ´ç ¸®½ºÆ®¹Ú½º¿¡ ÇØ´çÇÏ´Â °ªÀ» Ãâ·ÂÇÏ´Â ÇÔ¼ö´Ù. (defun ok-action() (alert (strcat "\n¼±ÅÃÇϽŠÁ¦Ç°Àº \"" ;; popup_list ´Â ´ÜÁö ¸î¹øÂ°¸¸À» ¸®ÅÏÇÑ´Ù. ±×·¯¹Ç·Î ;; µ¥ÀÌŸ¸®½ºÆ®¿¡¼ ÇØ´ç ¹øÂ°ÀÇ µ¥ÀÌŸ¸¦ Àоî¿Â´Ù. (nth (atoi (get_tile "plist1")) (cadr ok)) "\" °ú \"" (nth (atoi (get_tile "plist2")) (caddr ok)) "\" ÀÔ´Ï´Ù! ÇÁ·Î±×·¥ ³¡~~!" ) ) ) ;; °¢°¢ÀÇ µ¥ÀÌŸÀÌ´Ù. (setq listdata-product1 '("Á¦Ç° 1 ÀÔ´Ï´Ù." ("±è" "¹Ì¿ª" "´Ù½Ã¸¶" "Á¶°³" "¿À¡¾î" "ÂÞ²Ù¹Ì")("¹è" "»ç°ú" "±Ö" "¿À·£Áö"))) (setq listdata-product2 '("Á¦Ç° 2 ÀÔ´Ï´Ù." ("³ª»ç" "º¼Æ®" "µå¶óÀ̹ö")("¼±¹Ý" "Àý»è" "±âŸµîµî"))) (setq listdata-product3 '("Á¦Ç° 3 ÀÔ´Ï´Ù." ("1" "2" "3" "4" "5" "6" "7" "8")("d" "c" "b" "a"))) (setq id (load_dialog "exdialog.dcl")) (new_dialog "exdialog" id) (vimage "ACAD(TRANS)" "image1") (vimage "ACAD(TRIANG)" "image2") (vimage "ACAD(STEEL)" "image3") ;; °¢°¢ÀÇ À̹ÌÁö¸¦ Ŭ¸¯Çϸé ok º¯¼ö¿¡ ÇØ´ç¸®ÅϵǴ °ªÀÌ ÀԷµȴÙ. (action_tile "image1" "(done_dialog 1)") (action_tile "image2" "(done_dialog 2)") (action_tile "image3" "(done_dialog 3)") (action_tile "accept" "(done_dialog 0)") (action_tile "cancel" "(done_dialog 0)") ;; ¸®ÅϵǴ °ªÀ» ok º¯¼ö¿¡ ÀúÀåÇÑ´Ù. (setq ok (start_dialog)) ;; À̹ÌÁö¸¦ ¼±ÅÃÇß´Ù¸é.... (if (< 0 ok) (progn ;; µÎ¹øÂ° ´ÙÀ̾ó·Î±× "popup_dialog" ¸¦ ºÒ·¯¿Â´Ù. (new_dialog "popup_dialog" id) ;; ok º¯¼ö¿¡ ÀÌÀü ´ÙÀ̾ó·Î±×¿¡ ÇØ´çÇÏ´Â µ¥ÀÌŸ¸¦ ÀÔ·ÂÇÑ´Ù. (setq ok (eval (read (strcat "listdata-product" (itoa ok))))) ;; ŸÀ̵éÀ» Ãâ·ÂÇÏ°í ¸®½ºÆ®¹Ú½º(popup_list)¿¡ °ªÀ» Ãâ·ÂÇÑ´Ù. (set_tile "text" (car ok)) (vlist (cadr ok) "plist1") (vlist (caddr ok) "plist2") ;; »ç¿ëÀÚ°¡ "È®ÀÎ" À» ´©·ç¸é ¼±ÅÃµÈ ¾ÆÀÌÅÛÀ» Ãâ·ÂÇÑ´Ù. (action_tile "accept" "(ok-action)(done_dialog)") (action_tile "cancel" "(done_dialog)") (start_dialog) ) ) (unload_dialog id) (princ) )