2012-07-05 22 views
1

我需要在我的應用程序中使用TextArea,因爲它支持TLF框架並允許用戶編輯文本。如何顯示Spark TextArea組件作爲MovieClip的子項

我的問題是,這個TextArea必須是一個MovieClip的孩子,但我不能讓它工作,TextArea不顯示。

這裏是我的代碼示例:

var mc:UIMovieClip = new UIMovieClip(); 
mc.graphics.clear(); 
mc.graphics.lineStyle(2, 0, 1); 
mc.graphics.drawRect(0, 0, 400, 300); 
mc.width = 400; 
mc.height = 300; 

var textArea:TextArea = new TextArea(); 
textArea.width = 350; 
textArea.height = 250; 
textArea.text = "Hello world!"; 
mc.addChild(textArea); 
myCanvas.rawChildren.addChild(mc); 

TextArea組件是正確的時候我直接添加文本區域作爲畫布,即一個孩子,當我更換線顯示

mc.addChild(textArea); 

以下內容

mainCanvas.addChild(mc); 

TextArea需要成爲MovieCl的子項的原因IP是我正在使用一個使用影片剪輯的外部庫。 如果我使用UIMovieClip而不是MovieClip,該技巧也不起作用。

有人可以解釋爲什麼TextArea不會在這種情況下顯示? 是否有任何解決方法來獲得所需的結果? (我嘗試使用UIComponent作爲中間的孩子,但沒有成功)

+0

假設您的意思是一個Flex mx.controls.TextArea,它不能被添加到UIMovieClip。也許你可以詳細闡述你的最終目標,包括如何使用'MovieClip'調用這個外部庫。另外,你使用的是什麼版本的Flex? Flex 3'mx:Canvas'可以被Flex 4的'SpriteVisualElement'替代。 –

+0

我正在談論一個Flex'spark.components.TextArea'組件,我正在使用Flex 4.5。這個問題與'Canvas'無關,因爲當'TextArea'被直接添加爲子節點時它工作正常。 使用的庫處理可以由用戶生成的形狀,只要它們是「MovieClip」的實例即可。在這種情況下,我想傳遞一個包含可編輯文本區域的形狀,並處理從右向左書寫的文本。這就是爲什麼我想用屬性'direction'使用Spark'TextArea'類的原因。希望它可以幫助! – duTr

+0

'spark.components.TextArea'不能添加到UIMovieClip。 UIMovieClip類實現了Flash組件像常規Flex組件一樣使用所需的接口。它不會將Flex組件添加爲UIMovieClip的子項。 Spark的'SpriteVisualElement'是Halo的'mx:Canvas'的不錯替代品。如果您試圖從Flash Pro合併控件,則可以使用'fl.controls.TextArea'。 –

回答

相關問題