Показать сообщение отдельно
Старый 07.06.2008, 20:36
mitado вне форума Посмотреть профиль Отправить личное сообщение для mitado Найти все сообщения от mitado
  № 1  
Ответить с цитированием
mitado

Регистрация: Dec 2007
Сообщений: 52
По умолчанию проблема с текстовыми полями при печати

Делаю версию для печати. Возник затык с текстовым полем:
тектсовые поля, облаченные в какой-либо Бокс, при выводе на печать теряют последнюю строчку.
Пример:
Код:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
    <mx:Script><![CDATA[
    	import mx.printing.*;
             public function doPrint():void {
                var printJob:FlexPrintJob = new FlexPrintJob();
                if(printJob.start()) {
                    printJob.addObject(prinntArea);
                    printJob.send();
                }
            }
    ]]></mx:Script>
    <mx:VBox id="prinntArea" >
    	<mx:Text height="100%">
    		<mx:htmlText> <![CDATA[в рот
 мне 
 ноги!]]></mx:htmlText>
   		</mx:Text> 
    </mx:VBox>
    <mx:Button label="PRINT"  click="doPrint();" />
</mx:Application>
Нашел несколько вариантов обхода проблемы:
1. можно добавлять пустую строку в конце каждого поля - просто, но не очень красиво,
2. можно после инициализации, или перед отправкой на принтер увеличивать высоту текстового поля: txt.height= txt.textHeight+6; - лучше, но тоже не всегда универсально
3... есть ли лучше варианты?