找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: xdj86

[求助] opendcl中图形按钮 鼠标移到上面时如何变色

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-11-27 12:07:35 | 显示全部楼层
cie0588 发表于 2014-11-27 11:43
试了啊。可以变色了。
但是要使按钮点击可以执行命令,怎么办?难道不用Clicked事件?这个时候是用不了 ...

变色时变色,点击产生事件是另外的,两个无关的内容,不会因为你用变色了,事件CLICK就用不了了。
如何产生事件,去看看OPENDCL论坛里面那个 晓东工具箱菜单的例子,看看里面的代码。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 12:29:41 来自手机 | 显示全部楼层
cie0588 发表于 2014-11-27 11:43
试了啊。可以变色了。
但是要使按钮点击可以执行命令,怎么办?难道不用Clicked事件?这个时候是用不了 ...

enterin 和 clicked是两个事件,各干各的事
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2014-11-27 14:50:03 | 显示全部楼层
楼上两位,我还是理解不了,也许是我进入了一个死胡同。
不知道楼上有没有时间,把22楼的那个例子,再增加一个功能,就是三个图像按钮点击的时候,分别在CAD中使用test1、test2、test3命令。
谢谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 15:52:00 来自手机 | 显示全部楼层
cie0588 发表于 2014-11-27 14:50
楼上两位,我还是理解不了,也许是我进入了一个死胡同。
不知道楼上有没有时间,把22楼的那个例子,再增加 ...

增加clicked事件,单击事件函数就(dcl_sendstring "test1\n")一句
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 15:53:27 来自手机 | 显示全部楼层
cie0588 发表于 2014-11-27 14:50
楼上两位,我还是理解不了,也许是我进入了一个死胡同。
不知道楼上有没有时间,把22楼的那个例子,再增加 ...

增加clicked事件,单击事件函数就(dcl_sendstring "test1\n")一句

点评

晕。看来我还是走进死胡同了。 我以为引发事件为0的时候,点击的时候没有反应,原来是可以的。 谢谢了,可以了。 非常感谢!  详情 回复 发表于 2014-11-27 16:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2014-11-27 16:14:21 | 显示全部楼层
st788796 发表于 2014-11-27 15:53
增加clicked事件,单击事件函数就(dcl_sendstring "test1\n")一句

晕。看来我还是走进死胡同了。

我以为引发事件为0的时候,点击的时候没有反应,原来是可以的。

谢谢了,可以了。

非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2014-11-27 17:02:01 | 显示全部楼层
本帖最后由 牢固 于 2014-11-27 20:55 编辑

示例代码:
  1. (defun c:LayerOdcl/Form1/GraphicButton14#OnMouseMove       (Flags X Y / buttonPos)
  2.   (setq buttonPos (dcl-Control-GetPos LayerOdcl/Form1/GraphicButton14))
  3.   (if (or (< x 3)
  4.           (> x (- (caddr buttonPos) 3))
  5.           (< y 3)
  6.           (> y (- (cadddr buttonPos) 3))
  7.       )
  8.     (progn ;_ 出了按钮
  9.       (dcl-Control-SetBackColor
  10.         LayerOdcl/Form1/GraphicButton14
  11.         -16
  12.       )
  13.     )
  14.     (progn ;_ 进入按钮
  15.       (if
  16.         (/= 1
  17.             (dcl-Control-GetBackColor LayerOdcl/Form1/GraphicButton14)
  18.         )
  19.          (progn
  20.            ;;检测其他按钮的颜色是否没有恢复
  21.            (LayerOdcl/Form1/GraphicButtonReBackColor
  22.              LayerOdcl/Form1/GraphicButton14
  23.            )
  24.            (dcl-Control-SetBackColor LayerOdcl/Form1/GraphicButton14 1)
  25.          )
  26.       )
  27.     )
  28.   )
  29. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 17:18:03 来自手机 | 显示全部楼层
牢固 发表于 2014-11-27 17:02
示例代码:

flags是不是就是标志位?如果是就用这个判断即可,不用后面计算
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2014-11-27 18:25:00 来自手机 | 显示全部楼层
本帖最后由 牢固 于 2014-11-27 18:26 编辑

计算鼠标位置是为了判断鼠标何时离开按钮,所以必须每次都要计算,*Flag*是决定是否修改背景色
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 18:33:22 | 显示全部楼层
牢固 发表于 2014-11-27 18:25
计算鼠标位置是为了判断鼠标何时离开按钮,所以必须每次都要计算,*Flag*是决定是否修改背景色

个人认为,离开就是离开,管他鼠标在哪!
至于修改颜色可以用获取背景色比较以决定是否修改

点评

按钮是没有mouseoff事件的,只有mousemove事件,所以必须模拟出按钮的mouseoff事件来!不然你何时决定修改背景颜色,何时决定来恢复背景颜色?  详情 回复 发表于 2014-11-27 18:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2014-11-27 18:48:09 | 显示全部楼层
st788796 发表于 2014-11-27 18:33
个人认为,离开就是离开,管他鼠标在哪!
至于修改颜色可以用获取背景色比较以决定是否修改

按钮是没有mouseoff事件的,只有mousemove事件,所以必须模拟出按钮的mouseoff事件来!不然你何时决定修改背景颜色,何时决定来恢复背景颜色?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 19:25:50 来自手机 | 显示全部楼层
牢固 发表于 2014-11-27 18:48
按钮是没有mouseoff事件的,只有mousemove事件,所以必须模拟出按钮的mouseoff事件来!不然你何时决定修 ...

我用了个简单方法,只要进入就先全部重设背景色,然后判断当前按钮背景色是否需要修改
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2014-11-27 19:44:32 来自手机 | 显示全部楼层
那你什么时候来决定恢复按钮颜色呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2014-11-27 19:45:22 来自手机 | 显示全部楼层
那你什么时候来决定恢复按钮颜色呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-27 19:50:58 来自手机 | 显示全部楼层
牢固 发表于 2014-11-27 19:44
那你什么时候来决定恢复按钮颜色呢


恢复颜色单独一个函数,在mousemove事件中首先调用,在form界面的mouseenter 及mouseoff时调用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-23 21:30 , Processed in 0.441367 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表