2016-10-13 00:16:48 点击量:10 标签: 收藏本文
在学习C# WPF时,内有介绍一些控件内置的ToolTip功能时;
想起之前的页游制作时,的ToolTip功能;
1)、每个需要ToolTip都加个Over,Out事件,并指定数据,构造并显示到ToolTip;
2)、每个需要需要ToolTip的组件,都由一个ToolTip管理器去注册,与注销ToolTip处理(也就是,Over,Out事件处理)
今天看到的这种,也随手写一下;
也有他存在的意义,一般比较适用于:不变动的ToolTip内容使用,比较适合;
毕竟目前无法实现,与WPF中的ToolTip那样强大;
可以直接在.xaml中,写自己想要的可视元素都可以(里面的,布局,数据,都可以自定),非常方便;
大概实现底层封装:
- //WPF中的ToolTip功能,在以往的游戏中,可以使用这种封装结构;
- //方便、灵活;
- //如as3 code:随手写的伪代码
- public class GameDspObj : DisplayObject{
- private var _toolTip:DisplayObject;
- public function get toolTip():void{
- return _toolTip;
- }
- public function set toolTip(value:Object):void{
- var result:Object;
- if(value is DisplayObject){
- // control show or hide
- result = value;
- }else{
- valuevalue = value.toString();
- // default toolTip dspObj show or hide
- result = new DefualtToolTip(value);
- }
- _toolTip = result;
- }
- public GameDspObj(){
- addEventListener(MouseEvent.HOVER, onHover);
- addEventListener(MouseEvent.OUT, onOut);
- }
- protected function onHover(e:MouseEvent):void{
- // show toolTip dspObj
- LayerMgr.getL(EnumLayer.ToolTip).addChild(toolTip);
- }
- protected function onOut(e:MouseEvent):void{
- // hide toolTip dspObj
- if(toolTip && toolTip.parent){
- toolTip.parent.removeChild(toolTip);
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室