Пользовательский курсор в приложении AIR отображается не полностью - PullRequest
1 голос
/ 04 октября 2010

Для приложения, которое я разрабатываю в AIR, я удалил хром через app.xml. Я управляю функциями минимизации, максимизации, закрытия, изменения размера и всех других функций из приложения. Я столкнулся с проблемой с функцией изменения размера. Я определил ручки для изменения размера, а также я могу отображать свой пользовательский курсор при наведении мыши на него. Проблема в том, что видна только та часть этого курсора, которая находится внутри границы приложения, остальная часть изображения курсора скрыта.

Для реализации пользовательского курсора я делаю следующее.

  1. Вставить изображение курсора.
    [Embed(source='/resources/images/resize_right.png')]
    public var resizeRight:Class;
  1. Добавьте прослушиватель событий на холст, который действует как ручка.
    rightResizeGrip.addEventListener(MouseEvent.MOUSE_OVER, function(e)
    {
      setResizeCursor(CURSOR_RIGHT);
    });
    rightResizeGrip.addEventListener(MouseEvent.MOUSE_OUT, function(e)
    {
      unsetResizeCursor();
    });
  1. В setResizeCursor
    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 голосов
/ 05 октября 2010

Я полагаю, что вы можете добавить поле размером в несколько пикселей в свой пользовательский хром сверху, слева, справа и снизу границ системного окна.

P.S: не забудьте убрать его в окне максимизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...