EDA365电子论坛网

标题: 請問skill如何使用雙擊滑鼠左鍵? [打印本页]

作者: jet2001    时间: 2022-5-27 14:36
标题: 請問skill如何使用雙擊滑鼠左鍵?
本帖最后由 jet2001 于 2022-5-27 14:37 编辑

如圖 我需先選左邊的list ,然後按move ,再靠"art_move"移到右邊的list去
可不可以直接在左邊list 快按滑鼠左鍵2下 就靠skill 移到右邊的list 去
在case(Form_status->curField 部份 要如何抓滑鼠左鍵快按2下?
謝謝
以下是我寫1半的skill
procedure(art_miscset()
if(axlDesignType(t)=="BOARD" then
  (read_unit_mil1)   wbox=axlGetParam("paramDesign")->bBox
  etchlyr=(axlGetParam "paramLayerGroup:ETCH")->groupMembers
  etchlyr_no=length(etchlyr)
  axlWindowFit()  art_drcFormFile="c:/pcbenv/skill/_art.form"
  (axlFormCreate 'art_drcForm art_drcFormFile '("east" "outer") '_artBack t)
  brd_films=sort(axlGetParam("artwork") ->groupMembers, nil)
  number_arts=length(brd_films)   cam_arts=nil misc_arts=nil
  _cam=nil _misc=nil move_2r=nil
  foreach(_art brd_films cam_arts=cons(upperCase(_art) cam_arts) ) ;foreach(_art brd_films
  cam_arts=reverse(cam_arts)  
  (foreach item cam_arts (axlFormSetField art_drcForm "art_cam" item))
  axlFormSetFieldEditable(art_drcForm "cam" 0)
  axlFormSetFieldEditable(art_drcForm "misc" 0)
  axlFormSetFieldEditable(art_drcForm "etch" 0)
  axlFormSetFieldEditable(art_drcForm "arts" 0)
  (axlFormSetField art_drcForm "cam"  length(cam_arts))
  (axlFormSetField art_drcForm "misc" length(misc_arts))
  (axlFormSetField art_drcForm "etch" etchlyr_no)
  (axlFormSetField art_drcForm "arts" number_arts)
  (axlFormDisplay art_drcForm)
)
);

procedure(_artBack(Form_status)
case(Form_status->curField
  ("art_cam"  _cam=(Form_status->curValue)  move_2r=t)
  ("art_misc" _misc=(Form_status->curValue) move_2r=nil)
  ("art_move" ;
    if(move_2r then
     if(_cam then
      misc_arts=cons(_cam misc_arts)
      (axlFormSetField art_drcForm "art_misc" _cam)
      axlFormListDeleteItem(art_drcForm "art_cam" _cam)
      cam_arts=remd(_cam cam_arts)       _cam=nil
     ); if(_cam
     else
      if(_misc then  
       cam_arts=cons(_misc cam_arts)
       (axlFormSetField art_drcForm "art_cam" _misc)
       axlFormListDeleteItem(art_drcForm "art_misc" _misc)
       misc_arts=remd(_misc misc_arts)    _misc=nil
      ); if(_misc
    );if(move_2r
   (axlFormSetField art_drcForm "cam"  length(cam_arts))
   (axlFormSetField art_drcForm "misc" length(misc_arts))
  )
  ("exit" (axlFormClose art_drcForm))
  ("art_save"  t)
);case
);
axlCmdRegister( "artmisc" `art_miscset ?cmdType "general")

art.png (18.39 KB, 下载次数: 12)

art.png

作者: qian211111    时间: 2022-5-27 17:33
按住shift在按move
作者: leilei4908    时间: 2022-6-1 09:14
axlFormListOptions
https://eda365.com/forum.php?mod ... list%2B%CB%AB%BB%F7

作者: jet2001    时间: 2022-6-2 09:31
本帖最后由 jet2001 于 2022-6-2 13:09 编辑
leilei4908 发表于 2022-6-1 09:14
axlFormListOptions
https://eda365.com/forum.php?mod=viewthread&tid=134525&highlight=list%2B%CB%AB%B ...

謝謝 doubleClick 可以用了;主程式加上
axlFormListOptions(art_drcForm "art_cam" 'doubleClick)  

case(Form_status->curField
  ("art_cam" ...
   if(Form_status->doubleClick then
     printf(" now is doubleClick \n")
    else printf(" now is singleClick \n"))
  )










欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2