EDA365电子工程师网

标题: 我想自己创建一个简单color dialgo,请教一些用的是哪些函数? [打印本页]

作者: ghfghyb    时间: 2012-8-8 08:52
标题: 我想自己创建一个简单color dialgo,请教一些用的是哪些函数?
如下图中所示:
作者: deargds    时间: 2012-8-8 09:39
提供一个完整示例,可以在此基础上面扩展。
[attach]56694[/attach]

代码如下:
  1. axlCmdRegister( "ViewLayer" 'ViewLayer ?cmdType "general")
  2. defun( ViewLayer ()
  3. let((f h)
  4.         f = axlTempFile()
  5.         h = outfile(f "w")
  6.         fprintf(h "FILE_TYPE=FORM_DEFN VERSION=2\n")
  7.         fprintf(h "FORM\n")
  8.         fprintf(h "FIXED\n")
  9.         fprintf(h "PORT 41 15\n")
  10.         fprintf(h "HEADER \"EDA365 Skill\"\n")
  11.         fprintf(h "TILE\n")
  12.        
  13.         fprintf(h "FIELD outline_color\n")
  14.         fprintf(h "FLOC 2 1\n")
  15.         fprintf(h "COLOR 2 1\n")
  16.         fprintf(h "ENDFIELD\n")
  17.        
  18.         fprintf(h "FIELD outline_check\n")
  19.         fprintf(h "FLOC 4 1\n")
  20.         fprintf(h "CHECKLIST \"Board Geometry/Outline\"\n")
  21.         fprintf(h "ENDFIELD\n")
  22.        
  23.         fprintf(h "ENDTILE\n")
  24.         fprintf(h "ENDFORM\n")
  25.         close(h)
  26.        
  27.         w = axlFormCreate(gensym() f nil 'ViewLayer_Callback t)
  28.         axlFormSetField(w,"outline_color",axlLayerGet("BOARD GEOMETRY/OUTLINE")->color)
  29.         axlFormSetField(w,"outline_check",axlLayerGet("BOARD GEOMETRY/OUTLINE")->visible)
  30.         axlFormDisplay(w)
  31. ))

  32. defun( ViewLayer_Callback (h)
  33.         case( h -> curField
  34.                 ("outline_check"
  35.                         axlVisibleLayer("Board Geometry/Outline" ,h->curValue)
  36.                         axlVisibleUpdate(t)
  37.                 )
  38.         )
  39. )
复制代码

作者: ghfghyb    时间: 2012-8-8 21:56
deargds
提供一个完整示例,可以在此基础上面扩展。

谢谢,,学习中~
作者: yneda    时间: 2012-8-9 10:20
请教下deargds ,我在使用,axlVisibleUpdate(t)这个函数的时候,屏幕会一闪闪的,虽然很短,但还是感觉的到,特别是当打开很多层,然后在刷新的时候,最明显,但是系统的自己带的那个Visibility却不会闪,请问这是什么原因呢?


作者: betamelody    时间: 2012-8-9 10:28
yneda 发表于 2012-8-9 10:20
请教下deargds ,我在使用,axlVisibleUpdate(t)这个函数的时候,屏幕会一闪闪的,虽然很短,但还是感觉的到 ...

axlUIWUpdate(nil)
这个不会闪




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2