初期ウィンドウの systemChrome と transparent は変更できません。また、 表示ウィンドウカタログ(Adobeのヘルプ) で比較されている、Type も変更できません。 初期ウィンドウのタイプは必ず normal であるため、 ウィンドウは必ずタスクバーに表示されます。 まずは、2次ウインドウを作成せずにできる状態を確認していきます。 systemChrome : standard でウィンドウを透明にしない ( transparent="false" )![]() ![]() WindowedApplication で、title を設定すると、XML で設定した title が上書きされます 下の画像は、backgroundAlpha="0" を指定したものです ※ standard で、transparent を true には設定できません 01. <? xml version = "1.0" encoding = "utf-8" ?> 02. < application xmlns = "http://ns.adobe.com/air/application/1.0" > 03. 04. < id >airApplication</ id > 05. < version >1.0</ version > 06. < filename >airApplication</ filename > 07. 08. < initialWindow > 09. < title >AIR アプリケーション</ title > 10. < content >Mainw.swf</ content > 11. < x >300</ x > 12. < y >200</ y > 13. < width >600</ width > 14. < height >300</ height > 15. < systemChrome >standard</ systemChrome > 16. < transparent >false</ transparent > 17. < visible >false</ visible > 18. < minimizable >true</ minimizable > 19. < maximizable >true</ maximizable > 20. < resizable >true</ resizable > 21. </ initialWindow > 22. 23. </ application > systemChrome : none でウィンドウを透明にしない![]() ![]() 下の画像は、backgroundAlpha="0" を指定したものです systemChrome : none でウィンドウを透明にする![]() ![]() ![]() 上から順に、backgroundAlpha は、1、0(完全透過)、0.1 です。 完全透過にすると、背景のデスクトップの操作が可能になります 完全透過ウインドウの showFlexChrome を false にする![]() 完全透過で FlexChrome を使わない事によって、デスクトップに浮いたようなフォームになります。 当然、マウスで移動ができないのですが、タスクバーに表示されているので( メインウインドウなので ) 最小化したり、元に戻したり、終了する事は可能です。 しかしこのままでは実用にならないので、マウスまたはキーボードで移動可能にする必要があります。 また、この表示特性にあわせて、常に前面に表示(alwaysInFront="true")するようにすると良いでしょう キーボードによる移動処理
001. <?xml version= "1.0" encoding= "utf-8" ?> 002. <mx:WindowedApplication 003. xmlns:mx= "http://www.adobe.com/2006/mxml" 004. 005. showFlexChrome= "false" 006. 007. initialize= "initData();" 008. creationComplete= "initApp1()" 009. applicationComplete= "initApp2()" 010. 011. visible= "true" 012. usePreloader= "true" 013. 014. backgroundAlpha= "0" 015. 016. alwaysInFront= "true" 017. keyDown= "moveThisWindow(event)" 018. > 019. 020. <mx:Script> 021. <![CDATA[ 022. 023. // ***************************************************** 024. // 上下キーによる移動 025. // ***************************************************** 026. private function moveThisWindow(e:KeyboardEvent): void { 027. 028. var primaryScreen:Screen = Screen.mainScreen; 029. var rect:Rectangle = primaryScreen.bounds; 030. 031. var x: int = mx.core.Application.application.nativeWindow.x; 032. var y: int = mx.core.Application.application.nativeWindow.y; 033. var width: int = mx.core.Application.application.nativeWindow.width; 034. var height: int = mx.core.Application.application.nativeWindow.height; 035. 036. if ( e.keyCode == 37 ) { 037. x -= 10 ; 038. if ( x < 0 ) { 039. x = 0 ; 040. } 041. } 042. if ( e.keyCode == 38 ) { 043. y -= 10 ; 044. if ( y < 0 ) { 045. y = 0 ; 046. } 047. } 048. if ( e.keyCode == 39 ) { 049. x += 10 ; 050. if ( x > rect.width - width ) { 051. x = rect.width - width; 052. } 053. } 054. if ( e.keyCode == 40 ) { 055. y += 10 ; 056. if ( y > rect.height - height ) { 057. y = rect.height - height; 058. } 059. } 060. 061. mx.core.Application.application.nativeWindow.x = x; 062. mx.core.Application.application.nativeWindow.y = y; 063. 064. } 065. 066. // ********************************************************* 067. // initialize 068. // ********************************************************* 069. public function initData(): void { 070. 071. trace( "[App:beforeDisplay]" ); 072. 073. } 074. 075. // ********************************************************* 076. // creationComplete 077. // ********************************************************* 078. private function initApp1(): void { 079. 080. trace( "[App:afterDisplay]" ); 081. 082. } 083. 084. // ********************************************************* 085. // applicationComplete 086. // ********************************************************* 087. private function initApp2(): void { 088. 089. trace( "[App:start]" ); 090. 091. dr.setFocus(); 092. 093. } 094. ]]> 095. </mx:Script> 096. 097. <mx:Image id= "dr" source= "@Embed('dr.png')" /> 098. 099. <mx:HBox> 100. <mx:TextInput id= "data" width= "400" 101. /> 102. <mx:Button 103. id= "btn" 104. label= "参照" 105. styleName= "blackButton" 106. /> 107. </mx:HBox> 108. 109. </mx:WindowedApplication> |