Flex 自定義列印控制項編寫

2021-08-25 07:49:42 字數 3845 閱讀 6123

列印歷來是web

應用乙個比較棘手的問題,幸好flex web

應用是執行在flash player

上的,flash player

可以訪問印表機,所以flex

應用可以實現比較強大的列印功能。flex

自身提供的printjob

、flexprintjob

相對來說用起來不是很方便,對於有嚴格紙張設定、翻頁等列印需求,略顯功能不足,因此需要基於printjob

或flexprintjob

來完善flex

的列印功能,及自定義列印控制項。

本控制項核心為: 1

)printmanager,列印控制核心類

2)iprintabledocument,列印文件設定,列印文件有3部分組成,分別是:printableheader、printablebody

、printablefooter。

因此,開發人員只要設計好printabledocument,重點排版好header、body、footer,然後呼叫printmanager的列印即可列印printabledocument了。

printablebody="

" printablefooter="

" printableheader="

">

width="

100%

" id="

p_header

" x="

0" y="

0" height="

81"

>

id="

pageheader

" text="

sample accounts

" stylename="

printtitle

" width="

100%

" textalign="

center

"/>

id="

cityheader

" text="

city of somewheretown

" width="

100%

" textalign="

center

" />

id="

entityheader

" text="

general accounts

" width="

100%

" textalign="

center

"/>

id="

p_body

" width="

100%

" bottom = "

28" x="

0" top="81"

>

id="

accountsdatagrid

" designviewdatatype="

flat

" dataprovider="

" horizontalgridlines="

false

" verticalgridlines="

false

" width="

100%

" height="

100%

" borderstyle="

none

" sortexpertmode="

true

" headerheight="0"

rowheight="30"

>

headertext="

account number

" datafield="

account

" textalign="

center

" width="

100"

/>

headertext="

control account

" datafield="

control

" textalign="

center

" width="

100"

/>

headertext="

description

" datafield="

description

" width="

300"

/>

id="

p_footer

" width="

100%

" height="

28" bottom="

0" left="

0" printtype="

perpage

">

text="

prepared by: authorname

" width="

33%" textalign="

center

"/>

text="

page of

" width="

34%" textalign="

right

"/>

id="

pagefooter

" text="

sample accounts

" width="

33%"

/>

1、printmanager

publicclassprintmanager

publicfunctionprint(document:iprintabledocument, parent:uicomponent =null):boolean

privatefunctionunscaledocument(document:iprintabledocument):void

/*** adjust print orientation

* scale the printdocument

*/privatefunctionrotatedocumentfor*****orientation(document:iprintabledocument, printjob:printjob):void

privatefunctionprintpage(document:iprintabledocument, printjob:printjob):void

publicfunctionprintinternal(document:iprintabledocument, printjob:printjob):boolean

document.movetofirstpage();

unscaledocument(document);

//adjust ***** orientation

rotatedocumentfor*****orientation(document, printjob);

//add first print page

printpage(document, printjob);

while(document.validnextpage)

printjob.send();

Flex自定義日曆控制項

在使用flex做日程安排的時候需要乙個日曆功能,在日曆中顯示日程資訊,flex自帶的日曆中沒有自定義功能,因此自己寫了乙個日曆控制項,效果如下 製作方法 建立乙個module,在其中放置乙個grid,將其分為7x7個單元格 介面 事件 itemclick 單擊事件 引數 e.result.data ...

flex 自定義元件的編寫

使用flex也很久了,也改過別人寫的flex自定義元件,但是就是沒有系統的研究下flex元件的編寫步驟,和要注意的東西,在這裡我參照一本書中的例子,好好的理解下,也為了鞏固下自己對flex的理解!1,重寫乙個元件系統依次呼叫constructor 構造方法 createchildren commit...

flex 自定義元件的編寫

使用flex也很久了,也改過別人寫的flex自定義元件,但是就是沒有系統的研究下flex元件的編寫步驟,和要注意的東西,在這裡我參照一本書中的例子,好好的理解下,也為了鞏固下自己對flex的理解!1,重寫乙個元件系統依次呼叫constructor 構造方法 createchildren commit...