1

RichTextEditor のツールバーのボタンのフォント特性を変更したいのですが、アプリケーションの他のボタンとは異なるものにしたいと考えています。CSSだけでこれを行う方法はありますか?必要に応じてsetStyleでできることは知っています...

4

2 に答える 2

1

これを行う 1 つの方法は、RichTextEditor のサブコンポーネントが MXML で宣言されているため、パブリックにアクセスできるため、styleName実行時にプロパティを個別に割り当てることです (コンテナーのcreationCompleteイベントが発生した後、エディターとそのすべての子が作成されていることを確認します)。 、 そのようです:

<mx:Style>

    .myRTECombo
    {
        color: #FF0000;
    }

</mx:Style>

<mx:Script>
    <![CDATA[

        private function creationCompleteHandler(event:Event):void
        {
            rte.fontFamilyCombo.styleName = "myRTECombo";
            rte.fontSizeCombo.styleName = "myRTECombo";
        }

    ]]>
</mx:Script>

<mx:RichTextEditor id="rte" />

Flex のドキュメントでは、サブコンポーネント (「boldButton」、「fontSizeCombo」など) を ID で呼び出していませんが、コンポーネントのソースを表示できるので、ソース コードから必要なすべての情報を取得できるはずです。自体。私は FlexBuilder を使用しているので、通常は Eclipse の Ctrl+クリック ショートカットをタグ/クラス名で使用して、関連するクラス定義ファイルにジャンプしますが、[installDir]/sdks/[version] にあるソース ファイルを直接開くこともできます。 ]/frameworks/src/mx/RichTextEditor.mxml を参照してください。

他のアプローチがあると確信しています(setStyleパフォーマンス上の理由から、明示的な使用は一般的に推奨されていませんが、1つです)が、これはうまくいくはずです。ただし、コンポーネントのソースを掘り下げるとわかるように、デフォルトのボタン セットのボタンの多くは、実際にicon_style_bold.pngはテキストではなく PNG (例: ) を使用していることに注意してください。これが、私の例に参照が含まれている理由です。代わりに ComboBox に変更すると、色の変更がどのように適用されるかがわかります。ボタンの外観を変更したい場合は、iconフォント スタイルの設定ではなく、styleable プロパティを使用して外観を調整していることに注意してください。

それが役に立てば幸い!

于 2009-02-01T20:58:10.307 に答える
0

ありがとう@Christian Nunciato!これは、RichTextEditor (拡張) である私のコンポーネントの最終的なコードです。作成完了では、これを呼び出します

private function setUpStyleNames():void {
    setUpStyleNamesInner(toolbar.getChildren());
    setUpStyleNamesInner(toolBar2.getChildren());
}

private function setUpStyleNamesInner(children:Array):void {
    for each (var child:DisplayObject in children) {
        if (child is UIComponent) {
            UIComponent(child).styleName = "rteInnards";
        }
    }
}

そして私のスタイルシートには、これがあります

.rteInnards {
    color: #FF0000;
    fontSize: 25px;
}

素晴らしい。再度、感謝します!

于 2009-02-01T21:54:26.607 に答える