用rectangle代替button的方法

  当 使用的图形库缺少button控件(如:EazyX) 或者 大量的button导致内存占用过高 时可以考虑用rectangle代替button。以下为个人思路,在各种GUI绘图中都可以进行参考。

分析button的功能:

一.鼠标移入改变颜色

二.点击事件

实现:

获取鼠标位置,当鼠标在 "button"内 则改变颜色 否则为原色

当 "button" 颜色在该GUI中唯一时 判断鼠标所在像素点是否匹配 是?改变颜色:原色

以上两者结合

当鼠标位于 "buttons" 那块儿时,才进行颜色判断

即:将界面分割成块,再进行判断(例如将颜色相同的"button"分隔开,适用于大多数情况)

注意:rectangle上有文字时,需要将文字"击穿"(鼠标位于文字上时,触发背后的rectangle的相关事件)

以上需要的方法:获取鼠标坐标,获取像素点颜色

点击事件,在以上方法的基础上增加 鼠标事件 ,其它事件实现方法同理。

当然,你可以用其它的控件来代替button

上一篇:C#基础语法


下一篇:《JavaScript 面向对象精要》第 5 章 继承