2009-10-01 198 views
1

我正在使用Flex 3.4 SDK。更改標題窗口關閉按鈕

我需要更改TitleWindow的默認關閉按鈕圖像。所以我在做什麼是定義一個CSS選擇器,像這樣:


TitleWindow{ 
    close-button-skin: Embed('assets/close.png'); 
    border-color: #FFFFFF; 
    corner-radius: 10; 
    closeButtonDisabledSkin: ClassReference(null); 
    closeButtonDownSkin: ClassReference(null); 
    closeButtonOverSkin: ClassReference(null); 
    closeButtonUpSkin: ClassReference(null); 
} 

的問題是:結果圖像完全擠壓得面目全非。可能是因爲圖像尺寸是55x10像素(比默認的近似方形尺寸寬得多)並且彎曲使其適合該尺寸。

有人會知道如何去解決這個問題嗎?

回答

3

這似乎是寬度和高度都設置爲16個像素的面板類的createChildren()方法:

closeButton.explicitWidth = closeButton.explicitHeight = 16; 

你可以嘗試設置explicitWidth和explicitHeight設置爲你在窗口所需要的值。不要忘記將closeButton作用於mx_internal,並導入並使用該名稱空間。

import mx.core.mx_internal; 

use namespace mx_internal; 

// in creationComplete for instance 
mx_internal::closeButton.explicitWidth = ...; 
mx_internal::closeButton.explicitHeight = ...; 
+0

也非常完美,非常感謝! 我選擇做的是重寫createChildren()並更改closeButton.explicitWidth closeButton.explicitHeight。 – camurgo

+0

謝謝!這是一個問題,我的團隊中有一個以上的人遇到了麻煩!它工作得很好。 –

1

如果你想讓它更簡單,做到這一點,

導入類

import mx.core.mx_internal; 

把這些三線在creationComplete處理函數

use namespace mx_internal; 

closeButton.$width = 24; //Change the button width to 24 pixels 
closeButton.$height = 24; //Change the button height to 24 pixels 
+0

謝謝!我正在拼命掙扎,導致以前的答案對我來說不適用於sdk 3.5>。< –

+0

對於Flex4.5.1,代碼應該簡單地使用'width'和'height'。 – Chris