0

フレックス3で、チェックボックスラベルの一部を太字にする方法は?チェックボックスのラベルは「データグリッドの値を記憶する」と言います。「datagrid」というテキストだけを太字にする必要があります。誰かがこれを手伝ってくれませんか。前もって感謝します。

4

1 に答える 1

0

これは完璧な解決策ではありませんが、始めることができます。CheckBoxクラスを拡張すると、updateDisplayList()メソッドをオーバーライドし、そのプロパティを使用してチェックボックスのラベルを設定できますhtmlText

次に、このカスタムチェックボックスを使用して、HTMLでラベルを渡します。

このソリューションの問題:

  • measure()スーパークラスはHTML形式のテキストを測定していません( Flexライフサイクルメソッドを実装できます)
  • super.updateDisplayList()がすべての作業を行った後、 htmlTextプロパティを使用して元に戻します

HTMLTextCheckBox.as:

package
{
    import mx.controls.CheckBox;

    public class HtmlTextCheckBox extends CheckBox
    {
        public function HtmlTextCheckBox()
        {
            super();
        }

        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
        {
            super.updateDisplayList(unscaledWidth, unscaledHeight);
            textField.htmlText = label;
        }
    }
}

MXMLを使用します。

<local:HtmlTextCheckBox label="this is the &lt;b&gt;bold part&lt;/b&gt;"/>

またはAS3の場合:

var cb:HtmlTextCheckBox = new HtmlTextCheckBox();
cb.text = "this is the <b>bold part</b>";
于 2012-09-03T16:06:07.370 に答える