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