0
有沒有辦法將一個DropShadowFilter應用於Flex 3中TextInput組件中的文本而不影響組件本身?將DropShadowFilter應用於Flex 3中mx.controls.TextInput組件中的文本
有沒有辦法將一個DropShadowFilter應用於Flex 3中TextInput組件中的文本而不影響組件本身?將DropShadowFilter應用於Flex 3中mx.controls.TextInput組件中的文本
其實,你mx.controls.TextInput
確實有一個成員叫類型的IUITextField的textField
,但它是protected
,所以不能直接從其他類訪問。 您可以在您的Flex SDK中的/frameworks/projects/mx/src/mx/controls/TextInput.as
下查看它的源代碼。
爲了修改該會員,你仍然可以做兩件事情之一:
創建擴展mx.controls.TextInput
類。子類可以訪問受保護的成員,因此您應該可以通過覆蓋updateDisplayList
方法來添加DropShadowFilter。
使用顯示列表:
for (var i:int = 0; i < myTextInput.numChildren; i++) {
var child:DisplayObject = myTextInput.getChildAt(i);
if (child is IUITextField) doStuffToTextField(child);
}
我使用的TextInput從mx.controls包(而不是從fl.controls)。不幸的是,我的TextInput沒有textField屬性。 –
我已經更新了我的答案。順便說一句 - 將包信息添加到您的問題會讓這個問題更容易回答;) – weltraumpirat
您也可以在TextInput中偵聽ADDED_TO_STAGE,並以此方式獲取對TextInput的引用。 –