在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 38|回复: 0

[原创] align vertical/horizonta 分别设置快捷键l

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
align vertical / horizonta 分别设置快捷键l,保持 vertical 或 horizonta 尺寸最大的位置不变。





  1. hiSetBindKeys( "Layout" list(list("<Key>[" "AlignXY(1)")))
  2. hiSetBindKeys( "Layout" list(list("<Key>]" "AlignXY(2)")))


  3. procedure(AlignXY(num)
  4. let((cv objs MaxbBox Maxobj NewMaxbBox dxy)
  5. cv = geGetEditCellView()
  6. cw =hiGetCurrentWindow()
  7. scw=hiGetSessionWindow(cw)
  8. println(scw)
  9. scw1=printself(scw)
  10. scw2=parseString(scw1 ":")
  11. i1=cadr(scw2)
  12. Tgt1=strcat("swindow(" i1 ")" "->hiToolbars->leAlignToolbar_" i1 "->lebEnableAlignLayer->checked=nil")
  13. Tgt2=strcat("swindow(" i1 ")" "->hiToolbars->leAlignToolbar_" i1 "->leAlignToolbarAlignSpacing->checked=nil")
  14. hiEnqueueCmd(Tgt1)
  15. hiEnqueueCmd(Tgt2)


  16. objs=geGetSelSet()
  17. MaxbBox=car(objs)~>bBox
  18. Maxobj=car(objs)
  19. if(num==1 then
  20.         foreach(obj objs
  21.                 objbBox=obj~>bBox
  22.                 when((rightEdge(objbBox)-leftEdge(objbBox)) > (rightEdge(MaxbBox)-leftEdge(MaxbBox))       
  23.                         MaxbBox=obj~>bBox
  24.                         Maxobj=obj
  25.                         );when
  26.                 ); foreach
  27.         leAlign("vertical" )
  28.         NewMaxbBox=Maxobj~>bBox
  29.         dxy=list(leftEdge(MaxbBox)-leftEdge(NewMaxbBox):0 "R0")
  30.         foreach(obj objs       
  31.                 when(obj~>parent == nil
  32.                         dbMoveFig(obj nil dxy)       
  33.                         );when
  34.                 );foreach
  35. else
  36.         foreach(obj objs
  37.                 objbBox=obj~>bBox
  38.                 when((topEdge(objbBox)-bottomEdge(objbBox)) > (topEdge(MaxbBox)-bottomEdge(MaxbBox))
  39.                         MaxbBox=obj~>bBox
  40.                         Maxobj=obj
  41.                         );when
  42.                 );foreach
  43.         leAlign("horizontal")
  44.         NewMaxbBox=Maxobj~>bBox
  45.         dxy=list(0:topEdge(MaxbBox)-topEdge(NewMaxbBox) "R0")
  46.         foreach(obj objs
  47.                 when(obj~>parent == nil
  48.                 dbMoveFig(obj nil dxy)       
  49.                         );when
  50.                 );foreach
  51.         );if
  52. );let
  53. );pro



复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-12 19:20 , Processed in 0.012178 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表