To my knowledge, you cannot exit using right-click whilst the -insert command takes focus, since your program cannot detect the user input issued to the -insert command.
However, here is an alternative method to exit using Esc:
- ([color=BLUE]defun[/color] c:test ( [color=BLUE]/[/color] c e i ) ([color=BLUE]setq[/color] c ([color=BLUE]getvar[/color] 'cmdecho)) ([color=BLUE]setvar[/color] 'cmdecho 0) ([color=BLUE]if[/color] ([color=BLUE]setq[/color] i ([color=BLUE]getint[/color] [color=MAROON]"\nSpecify Start Number: "[/color])) ([color=BLUE]progn[/color] ([color=BLUE]while[/color] ([color=BLUE]progn[/color] ([color=BLUE]entmake[/color] '((0 . [color=MAROON]"BLOCK"[/color]) (2 . [color=MAROON]"TT"[/color]) (70 . 0) (10 0.0 0.0 0.0))) ([color=BLUE]entmake[/color] ([color=BLUE]list[/color] '(0 . [color=MAROON]"TEXT"[/color]) ([color=BLUE]cons[/color] 8 ([color=BLUE]getvar[/color] 'clayer)) ([color=BLUE]cons[/color] 7 ([color=BLUE]getvar[/color] 'textstyle)) '(10 0.0 0.0 0.0) ([color=BLUE]cons[/color] 40 ([color=BLUE]getvar[/color] 'textsize)) ([color=BLUE]cons[/color] 1 ([color=BLUE]itoa[/color] i)) ) ) ([color=BLUE]entmake[/color] '((0 . [color=MAROON]"ENDBLK"[/color]))) ([color=BLUE]princ[/color] [color=MAROON]"\nInsertion Point [Esc to Exit]: "[/color]) ([color=BLUE]setq[/color] e ([color=BLUE]entlast[/color])) ([color=BLUE]if[/color] ([color=BLUE]and[/color] ([color=BLUE]vl-cmdf[/color] [color=MAROON]"_.-insert"[/color] [color=MAROON]"TT"[/color] [color=BLUE]pause[/color] 1.0 1.0 0.0) ([color=BLUE]not[/color] ([color=BLUE]eq[/color] e ([color=BLUE]setq[/color] e ([color=BLUE]entlast[/color])))) ) ([color=BLUE]progn[/color] ([color=BLUE]command[/color] [color=MAROON]"_.explode"[/color] e) ([color=BLUE]setq[/color] i ([color=BLUE]1+[/color] i)) ) ) ) ) ([color=BLUE]princ[/color] [color=MAROON]"\nExit Program."[/color]) [color=GREEN];; To show program has not errored[/color] ) ) ([color=BLUE]setvar[/color] 'cmdecho c) ([color=BLUE]princ[/color]))
Note that this method will not cause the program to error, as demonstrated by the message printed on exit. |