要允许双击操作:
[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:ll [b][color=RED]([/color][/b] [b][color=BLUE]/[/color][/b] [color=black]*error*[/color] _WriteDialogDefinition _GetSavePath DCLPath DCLFile DCLFlag DCLHandle lst ptr [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; © Lee Mac 2010[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] [color=black]*error*[/color] [b][color=RED]([/color][/b] msg [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] DCLHandle [b][color=RED]([/color][/b][b][color=BLUE]unload_dialog[/color][/b] DCLHandle[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] openfile [b][color=RED]([/color][/b][b][color=BLUE]close[/color][/b] openfile[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]wcmatch[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b] msg[b][color=RED])[/color][/b] [b][color=#a52a2a]"*BREAK,*CANCEL*,*EXIT*"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\n** Error: "[/color][/b] msg [b][color=#a52a2a]" **"[/color][/b][b][color=RED])))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] _WriteDialogDefinition [b][color=RED]([/color][/b] filename [b][color=BLUE]/[/color][/b] openfile [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]findfile[/color][/b] filename[b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] openfile [b][color=RED]([/color][/b][b][color=BLUE]open[/color][/b] filename [b][color=#a52a2a]"w"[/color][/b][b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] l [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#a52a2a]"ll : dialog { label = "Select Layout to Make Current"; spacer;"[/color][/b] [b][color=#a52a2a]": list_box { key = "lay"; allow_accept = true; alignment = centered; } ok_cancel; }"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]write-line[/color][/b] l openfile[b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] openfile [b][color=RED]([/color][/b][b][color=BLUE]close[/color][/b] openfile[b][color=RED]))[/color][/b] [b][color=BLUE]T[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] _GetSavePath [b][color=RED]([/color][/b] [b][color=BLUE]/[/color][/b] tmp [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]ROAMABLEROOTPREFIX[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#a52a2a]"\"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]substr[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]strlen[/color][/b] tmp[b][color=RED])))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] tmp [b][color=#a52a2a]"\"[/color][/b][b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] tmp [b][color=#a52a2a]"Support"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]findfile[/color][/b] [b][color=#a52a2a]"ACAD.pat"[/color][/b][b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]vl-filename-directory[/color][/b] tmp[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#a52a2a]"\"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]substr[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]strlen[/color][/b] tmp[b][color=RED])))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]substr[/color][/b] tmp [b][color=RED]([/color][/b][b][color=BLUE]1-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strlen[/color][/b] tmp[b][color=RED]))))[/color][/b] [b][color=RED])[/color][/b] tmp [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-file-directory-p[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] DCLPath [b][color=RED]([/color][/b]_GetSavePath[b][color=RED]))))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#a52a2a]"\n** Cannot Locate Save Path **"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b]_WriteDialogDefinition [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] DCLFile [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] DCLPath [b][color=#a52a2a]"\\LMAC_SelectLayout.dcl"[/color][/b][b][color=RED]))))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#a52a2a]"\n** Cannot Write Dialog Definition **"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]<=[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] DCLHandle [b][color=RED]([/color][/b][b][color=BLUE]load_dialog[/color][/b] DCLFile[b][color=RED]))[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#a52a2a]"\n** Cannot Find Dialog File **"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]new_dialog[/color][/b] [b][color=#a52a2a]"ll"[/color][/b] DCLHandle[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#a52a2a]"\n** Cannot Load Layout Select Dialog **"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]t[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]start_list[/color][/b] [b][color=#a52a2a]"lay"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]add_list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] lst [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#a52a2a]"Model"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]layoutlist[/color][/b][b][color=RED]))))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]end_list[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]set_tile[/color][/b] [b][color=#a52a2a]"lay"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ptr [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-position[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]CTAB[b][color=RED])[/color][/b] lst[b][color=RED]))))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]action_tile[/color][/b] [b][color=#a52a2a]"lay"[/color][/b] [b][color=#a52a2a]"(setq ptr $value)"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] DCLFlag [b][color=RED]([/color][/b][b][color=BLUE]start_dialog[/color][/b][b][color=RED])[/color][/b] DCLHandle [b][color=RED]([/color][/b][b][color=BLUE]unload_dialog[/color][/b] DCLHandle[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]=[/color][/b] [b][color=#009900]1[/color][/b] DCLFlag[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setvar[/color][/b] [b][color=DARKRED]'[/color][/b]CTAB [b][color=RED]([/color][/b][b][color=BLUE]nth[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]atoi[/color][/b] ptr[b][color=RED])[/color][/b] lst[b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#a52a2a]"\n*Cancel*"[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]