|
本帖最后由 xieeyawen 于 2025-5-22 11:27 编辑
第一种方法是构建form函数
- defun( caishenlaile3 ()
- form_CAI = axlFormCreate( (gensym) CreatecaishenForm() '("C" "inner") '_CSLL_greeting t) ;创建窗口
- axlFormColorize( form_CAI "color_a" 'text 'black) ;定义面板显示的文字颜色
- axlFormColorize( form_CAI "color_b" 'text 'white)
- axlFormColorize( form_CAI "color_c" 'text 'red)
- axlFormColorize( form_CAI "color_d" 'background 'green)
- axlFormColorize( form_CAI "color_e" 'background 'yellow)
- axlFormColorize( form_CAI "color_f" 'text 'blue)
- axlFormDisplay(form_CAI) ;显示窗口
- )
- defun( CreatecaishenForm ()
- CSLL_FormFile=axlTempFile();临时文件夹
- p = outfile(CSLL_FormFile "w");打开临时文件夹,打开临时port
- caishenlailemain() ;调用财神主函数,获得函数里的变量值
- f_FormBegin(p 110,90,"Cai Shen Lai Le" "TOOLWINDOW")
- f_Bitmap(p "CSLL" "CSLL" 1 21 20 20)
- f_Bitmap(p "CSLL_1" "CSLL" 85 21 20 20)
- f_Bitmap(p "CSLL0" "CSLL0" 1 1 20 20)
- f_Bitmap(p "CSLL1" "CSLL1" 24 1 20 20)
- f_Bitmap(p "CSLL2" "CSLL2" 85 1 20 20)
- f_Bitmap(p "CSLL3" "CSLL3" 1 43 20 20)
- f_Bitmap(p "CSLL4" "CSLL4" 27 43 20 20)
- f_Bitmap(p "CSLL5" "CSLL5" 46 43 20 20)
- f_Bitmap(p "CSLL6" "CSLL6" 64 43 20 20)
- f_Bitmap(p "CSLL7" "CSLL7" 85 43 20 20)
- f_TextC(p greeting_Date "color_d" 40 20 30 4 "bold border center")
- f_TextC(p greeting1 "color_e" 40 26 30 4 "bold border center")
- f_TextC(p greeting_Time "color_f" 40 32 30 4 "bold border center")
- f_TextC(p greeting2 "color_c" 40 38 30 4 "bold underline border center")
- ;f_TextC(p greeting_Date "color_d" 40 20 30 4 "bold border center")
- ;f_TextC(p greeting1 "color_e" 40 26 30 4 "bold border center")
- ;f_TextC(p greeting_Time "color_f" 40 32 30 4 "bold border center")
- ;f_TextC(p greeting2 "color_c" 40 38 30 4 "bold underline border center")
- f_Button(p "WaBao","Wa_Bao",15,70,10,3)
- f_Button(p "LaiCai","Lai_Cai",45,70,10,3)
- f_Button(p "ByeBye","Bye_Bye",75,70,10,3)
- f_FormEnd(p "EdgeGravityOne")
- close(p)
- CSLL_FormFile;不加这一句虽然form能建立,但是form运行不了,因为form是个临时文件,不是个form文件。必须要返回CSLL_FormFile值。
- );func
- ;以下为构造的标准化form命令函数
- ;f_FormBegin(p w h title form_opt) TOOLWINDOW / AUTOGREYTEXT / FIXED_FONT / UNIXHGT
- defun( f_FormBegin (p w h @optional (form_title "by RichardL.") (form_opt "AUTOGREYTEXT"))
- sprintf(dest,"FILE_TYPE=FORM_DEFN VERSION=2\nFORM %s\nFIXED\nPORT %d %d\nHEADER "%s"\nTILE\n\n",form_opt,w,h,form_title)
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_FormEnd(p flexmode) StandButtons / EdgeGravity / EdgeGravityOne
- defun( f_FormEnd (p @optional flexmode)
- if(flexmode sprintf(dest,"FLEXMODE %s\nENDTILE\nENDFORM\n",flexmode)
- sprintf(dest,"ENDTILE\nENDFORM\n")
- )
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_CheckList(field x y name group)
- defun( f_CheckList (p field x y name @optional (group nil))
- if(group==nil
- sprintf(dest,"FIELD %s\nFLOC %d %d\nCHECKLIST "%s" \nENDFIELD\n\n",field,x,y,name)
- sprintf(dest,"FIELD %s\nFLOC %d %d\nCHECKLIST "%s" "%s"\nENDFIELD\n\n",field,x,y,name,group)
- )
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_Group(field x y w h)
- defun( f_Group (p field x y w h)
- sprintf(dest,"GROUP "%s"\nFLOC %d %d\nFSIZE %d %d\nENDGROUP\n\n",field,x,y,w,h)
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_Text(field text x y w h @optional opt)
- defun( f_Text (p text x y w h @optional (opt nil))
- if(opt==nil
- sprintf(dest,"TEXT "%s"\nTLOC %d %d\nFSIZE %d %d\nENDTEXT\n\n",text,x,y,w,h)
- sprintf(dest,"TEXT "%s"\nTLOC %d %d\nOPTIONS %s\nFSIZE %d %d\nENDTEXT\n\n",text,x,y,opt,w,h)
- )
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_Text(field text color x y w h @optional opt)
- defun( f_TextC (p text color x y w h @optional (opt nil))
- if(opt==nil
- sprintf(dest,"TEXT "%s" %s \nTLOC %d %d\nFSIZE %d %d\nENDTEXT\n\n",text,color,x,y,w,h)
- sprintf(dest,"TEXT "%s" %s \nTLOC %d %d\nOPTIONS %s\nFSIZE %d %d\nENDTEXT\n\n",text,color,x,y,opt,w,h)
- )
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_EditFloat(field x y iw dw dec) (iw-input width) (dw-data width)
- defun( f_EditFloat (p field x y iw dw dec)
- sprintf(dest,"FIELD %s\nFLOC %d %d\nREALFILLIN %d %d\nDECIMAL %d\nENDFIELD\n\n",field,x,y,iw,dw,dec)
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_Button(x y w h)
- defun( f_Button (p field name x y w h) ;close done/ok cancel help print
- sprintf(dest,"FIELD %s\nFLOC %d %d\nMENUBUTTON "%s" %d %d\nENDFIELD\n\n",field,x,y,name,w,h)
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_Bitmap(name x y w h @optional opt)
- defun( f_Bitmap (p field name x y w h @optional (opt nil)) ;[RIGHT | CENTER | BORDER | BOLD | UNDERLINE]
- if(opt==nil
- sprintf(dest,"FIELD %s\nthUMBNAIL %s\nFLOC %d %d\nFSIZE %d %d\nENDFIELD\n\n",field,name,x,y,w,h)
- sprintf(dest,"FIELD %s\nTHUMBNAIL %s\nOPTIONS %s\nFLOC %d %d\nFSIZE %d %d\nENDFIELD\n\n",field,name,opt,x,y,w,h)
- )
- if(p fprintf(p,"%s",dest))
- dest
- )
- ;f_TreeView(field x y w h)
- defun( f_TreeView (p field x y w h)
- sprintf(dest,"FIELD %s\nFLOC %d %d\nTREEVIEW %d %d\nENDFIELD\n\n",field,x,y,w,h)
- if(p fprintf(p,"%s",dest))
- dest
- )
-
- defun(_CSLL_greeting (form_CAI)
- case(form_CAI->curField
- ("WaBao" _WaBao());挖宝弹窗显示
- ("LaiCai" _laicai());来财弹窗显示
- ("ByeBye" axlFormClose(form_CAI));弹窗显示
- );case
- caishenlailemain ()
- )
-
- defun(_WaBao ()
- let((Bao wabao)
- (axlSetFindFilter ?enabled (list "noall" "invisible" "nets") ?onButtons (list "nets"))
- l_greeting_nets=axlGetSelSet(axlAddSelectAll())
- axlClearSelSet()
- Bao=0
- foreach(greeting_nets l_greeting_nets Bao=Bao+(greeting_nets~>unconnected))
- sprintf(wabao "^_^ \277\363\311\275\273\271\312\243\317\302 %d \277\351\275\360\327\251,\n\265\367\325\373\327\313\312\306\243\254\307\341\313\311\304\303\317\302!" Bao)
-
- axlUIConfirm(wabao);弹窗显示
- )
- );defun
复制代码
|
|