AIR应用程序中的自定义光标未完全显示

时间:2010-10-04 16:45:54

标签: flex actionscript-3

对于我在AIR中开发的应用程序,我已经通过app.xml删除了chrome。我正在管理应用程序内最小化,最大化,关闭,调整大小和所有其他功能的功能。我正面临调整大小功能的问题。我已经定义了用于调整大小的夹点,并且当鼠标移过它时我能够显示我的自定义光标。问题是只有光标部分位于应用程序边界内的光标图像的其余部分才会被隐藏。

为了实现自定义光标,我执行以下操作。

  1. 嵌入光标图像。
  2.     [Embed(source='/resources/images/resize_right.png')]
        public var resizeRight:Class;
    
    1. 将事件侦听器添加到充当控件的画布。
    2.     rightResizeGrip.addEventListener(MouseEvent.MOUSE_OVER, function(e)
          {
            setResizeCursor(CURSOR_RIGHT);
          });
          rightResizeGrip.addEventListener(MouseEvent.MOUSE_OUT, function(e)
          {
            unsetResizeCursor();
          });
      
      1. 在setResizeCursor
      2.     private function setResizeCursor(type:String)
        {
            var cursorClass;
            var xOffset;
            var yOffset;
        
            switch(type)
            {
                case CURSOR_RIGHT:
                    cursorClass = resizeRight;
                    xOffset = -14;
                    yOffset = -10;
                    break;
                case CURSOR_LEFT:
                    cursorClass = resizeLeft;
                    xOffset = 0;
                    yOffset = -10;
                    break;
                case CURSOR_RIGHT_TOP:
                    cursorClass = resizeRightTop;
                    xOffset = -20;
                    yOffset = 0;
                    break;
                case CURSOR_RIGHT_BOTTOM:
                    cursorClass = resizeRightBottom;
                    xOffset = -20;
                    yOffset = -20;
                    break;
                case CURSOR_BOTTOM:
                    cursorClass = resizeBottom;
                    xOffset = -10;
                    yOffset = -14;
                    break;
                case CURSOR_LEFT_BOTTOM:
                    cursorClass = resizeLeftBottom;
                    xOffset = 0;
                    yOffset = -20;
                    break;
                case CURSOR_LEFT_TOP:
                    cursorClass = resizeleftTop;
                    xOffset = 0;
                    yOffset = 0;
                    break;
            }
        
            if(cursorClass)
                CursorManager.setCursor(cursorClass, CursorManagerPriority.HIGH, xOffset, yOffset);
        }
        

        是否可以显示光标的完整图像,尽管它位于应用程序边界之外?

1 个答案:

答案 0 :(得分:0)

我相信您可以从系统窗口边框的顶部,左侧,右侧和底部为自定义镶边添加几个像素的边距。

P.S:别忘了在窗口最大化时删除它。