2011-10-28 2 views
0

Flexのmx:HTMLコントロールの表示可能領域外に表示されるPDFに問題があります。アプリケーションが起動すると、mx:HTMLは特定のサイズに設定されますが、アプリケーションが最大化されている場合は拡大できます。これらは、それを複製するには、次の条件である:Flex mxで正しく表示されるPDFに関する問題:Windows/Reader XでのHTMLコントロール

    • 問題だけで(ないMac上で、Windows 7の)Windowsで起こる
    • リーダーXがインストールされている問題のみ(いない以前のバージョンで)起こる問題にのみ発生しますFlashBuilderのデバッグ/開発モードでは発生しません。

    ここに問題を再現するためのコードがあります。これは、グループ内のグループと少し厄介に見えますが、私はちょうど問題を再現するために小さなテストアプリを持っているために取り除かきた我々のアプリケーション内の他のものがあります:

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
            xmlns:s="library://ns.adobe.com/flex/spark" 
            xmlns:mx="library://ns.adobe.com/flex/mx" 
            width="1004" height="510" backgroundColor="#000000" > 
    <fx:Script> 
        <![CDATA[ 
         import mx.events.FlexEvent; 
         protected function press_clickHandler():void 
         { 
          htmlContent.location = "vt1_04_using_flash_builder.pdf"; 
         } 
        ]]> 
    </fx:Script> 
    <fx:DesignLayer> 
        <mx:HDividedBox id="myDividedBox" left="10" right="5" top="39" bottom="61" liveDragging="false"> 
         <mx:Panel id="pnlTreeCtrl" width="250" height="100%" headerHeight="0"> 
          <s:Button id="press" buttonMode="true" click="press_clickHandler()" 
             right="84" top="8" label="Press"/> 
         </mx:Panel> 
         <s:Group id="groupCourseMain" height="100%" > 
          <s:Group id="groupCourseHTML" right="0" top="30" bottom="0" width="100%"> 
           <mx:HTML id="htmlContent" top="0" bottom="0" width="100%" />  
          </s:Group> 
         </s:Group> 
        </mx:HDividedBox> 
    </fx:DesignLayer> 
    </s:WindowedApplication> 
    

    編集:赤い矢印が示しますリーダーXにおける浮動灰色のバーが表示可能領域外に表示される場所:

    enter image description here

    答えて

    2

    これは無修正で知らbugのようです。

    回避策は、ドキュメントが読み込まれた後、親グループのサイズが変更されるたびにブラウザの幅を変更することです。トリックは、再描画を強制するために1ピクセルをサイズ変更することです。次のコードは動作するようです。それが私ができる最善の方法です。もっと良い解決法があるかもしれません。

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
             xmlns:s="library://ns.adobe.com/flex/spark" 
             xmlns:mx="library://ns.adobe.com/flex/mx" 
             width="1004" height="510" backgroundColor="#000000" > 
        <fx:Script> 
         <![CDATA[ 
         import mx.events.FlexEvent; 
         import mx.events.ResizeEvent; 
         protected function press_clickHandler():void 
         { 
          htmlContent.location = "test.pdf"; 
         } 
    
         protected function htmlContent_completeHandler(event:Event):void 
         { 
          this.htmlContent.width = this.groupCourseHTML.width - 1; 
         } 
    
         protected function groupCourseHTML_resizeHandler(event:ResizeEvent):void 
         { 
          this.htmlContent.percentWidth = 100; 
         } 
         ]]> 
        </fx:Script> 
        <fx:DesignLayer> 
         <mx:HDividedBox id="myDividedBox" left="10" right="5" top="39" bottom="61" liveDragging="false"> 
         <mx:Panel id="pnlTreeCtrl" width="250" height="100%" headerHeight="0"> 
          <s:Button id="press" buttonMode="true" click="press_clickHandler()" 
             right="84" top="8" label="Press"/> 
         </mx:Panel> 
         <s:Group id="groupCourseMain" height="100%" > 
          <s:Group id="groupCourseHTML" right="0" top="30" bottom="0" width="100%" resize="groupCourseHTML_resizeHandler(event)"> 
           <mx:HTML id="htmlContent" top="0" bottom="0" width="100%" complete="htmlContent_completeHandler(event)"/>  
          </s:Group> 
         </s:Group> 
         </mx:HDividedBox> 
        </fx:DesignLayer> 
    </s:WindowedApplication> 
    
    関連する問題