开发环境:flex3.2
如图:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
- <mx:Script>
- <![CDATA[
- import mx.controls.*;
- import mx.core.*;
- import mx.effects.*;
- import mx.effects.Move;
- private var sprite:Sprite=new Sprite();
- private function onMouseMoveHandleByMyChartCanvas(e : MouseEvent) : void {
- var cmouseX:Number=myChartCanvas.mouseX;
- var cmouseY:Number=myChartCanvas.mouseY;
- var lineWidth:uint=1;
- var ccolor:uint=0xC0C0C0;
- sprite.graphics.clear(); //清空绘制的所有线条
- sprite.graphics.lineStyle(lineWidth,ccolor); //设置线条的宽度和颜色
- //1.绘制左侧边缘到 鼠标当前点-2像素的线条
- sprite.graphics.moveTo(cmouseX-2, cmouseY);
- sprite.graphics.lineTo(0,cmouseY);
- //2.绘制 鼠标当前点-2像素到顶端的线条
- sprite.graphics.moveTo(cmouseX, cmouseY-2);
- sprite.graphics.lineTo(cmouseX,0);
- //3.绘制 鼠标当前点+2像素到右侧边缘的线条
- sprite.graphics.moveTo(cmouseX+2, cmouseY);
- sprite.graphics.lineTo(myChartCanvas.width,cmouseY);
- //4.绘制 鼠标当前点+2像素到底端边缘的线条
- sprite.graphics.moveTo(cmouseX, cmouseY+2);
- sprite.graphics.lineTo(cmouseX,myChartCanvas.height);
- var uic:UIComponent = new UIComponent();
- uic.addChild(sprite);
- myChartCanvas.addChild(uic);
- }
- ]]>
- </mx:Script>
- <mx:VBox width="100%" height="100%">
- <mx:Canvas width="100%" height="315" id="myChartCanvas" mouseMove="onMouseMoveHandleByMyChartCanvas(event)" backgroundColor="#006699">
- <mx:Button click="Alert.show('测试按钮事件不会被覆盖');" label="测试按钮事件不会被覆盖"/>
- </mx:Canvas>
- <mx:Button click="Alert.show('ooo');" label="ooo"/>
- </mx:VBox>
- </mx:Application>
转载于:https://blog.51cto.com/programmer/1117844