Dostosowywanie składnika ComboBox

Składnik ComboBox można przekształcać w poziomie i w pionie podczas tworzenia i w czasie wykonywania. W tym celu podczas tworzenia należy wybrać na stole montażowym składnik i użyć narzędzia Przekształcenie swobodne lub dowolnego z poleceń Modyfikuj > Przekształć. W czasie wykonywania należy użyć metody setSize() lub odpowiednich właściwości klasy ComboBox takich, jak height , width , scaleX czy scaleY .

Rozmiar składnika ComboBox zostanie zmieniony w celu dopasowania do określonej szerokości i wysokości. Rozmiar listy zostanie zmieniony w celu dopasowania szerokości składnika, chyba że ustawiona została właściwość dropdownWidth .

Jeśli tekst jest zbyt długi, aby zostać dopasowanym w składniku ComboBox, tekst zostanie przycięty. Należy wówczas zmienić rozmiar składnika ComboBox i ustawić właściwość dropdownWidth , aby dopasować tekst.

Używanie stylów ze składnikiem ComboBox

Właściwości stylu można ustawiać w celu zmiany wyglądu składnika ComboBox. Style określają wartości dla karnacji składnika, mechanizmu renderującego komórki, wypełnienia i szerokości przycisku. W poniższym przykładzie ustawiane są style buttonWidth i textPadding . Styl buttonWidth ustawia szerokość obszaru uderzania przycisku i jego działanie odnosi skutek, jeśli pole ComboBox jest edytowalne — wówczas w celu otwarcia listy rozwijanej wystarczy nacisnąć przycisk. Styl textPadding określa wielkość odstępu między zewnętrzną krawędzią pola tekstowego a tekstem. Jest to użyteczne do pionowego wyśrodkowania tekstu w polu tekstowym, jeśli składnik ComboBox jest wydłużany. W przeciwnym wypadku tekst mógłby zostać wyświetlony u góry pola tekstowego.

  1. Utwórz nowy plik z dokumentem Flash (ActionScript 3.0).

  2. Przeciągnij składnik ComboBox na stół montażowy i nadaj instancji nazwę aCb .

  3. Otwórz panel Operacje, zaznacz klatkę nr 1 na głównej osi czasu i wprowadź następujący kod:

    import fl.data.DataProvider; 
     
    aCb.setSize(150, 35); 
    aCb.setStyle("textPadding", 10); 
    aCb.setStyle("buttonWidth", 10); 
    aCb.editable = true; 
     
    var items:Array = [ 
    {label:"San Francisco", data:"601 Townsend St."}, 
    {label:"San Jose", data:"345 Park Ave."}, 
    {label:"San Diego", data:"10590 West Ocean Air Drive, Suite 100"}, 
    {label:"Santa Rosa", data:"2235 Mercury Way, Suite 105"}, 
    {label:"San Luis Obispo", data:"3220 South Higuera Street, Suite 311"} 
    ]; 
    aCb.dataProvider = new DataProvider(items);
  4. Wybierz polecenie Sterowanie > Testuj film.

    Należy zauważyć, że obszar przycisku, który można kliknąć w celu otwarcia listy rozwijanej, stanowi jedynie wąski obszar po prawej stronie. Należy zwrócić również uwagę na to, że tekst w polu jest wyśrodkowany w pionie. Przykład można uruchomić z wyłączeniem dwóch instrukcji setStyle() , aby zobaczyć ich efekt.

Używanie karnacji ze składnikiem ComboBox

Składnik ComboBox używa poniższych karnacji w celu zaprezentowania swoich graficznych stanów:

Karnacje składnika ComboBox

Aby zmienić na stole montażowym kolor składnika w stanie nieaktywnym, można zmienić kolor karnacji Up.

  1. Utwórz nowy plik z dokumentem Flash (ActionScript 3.0).

  2. Przeciągnij składnik ComboBox na stół montażowy.

  3. Kliknij go dwukrotnie, aby otworzyć jego paletę karnacji.

  4. Klikaj dwukrotnie karnację Up do momentu jej zaznaczenia i otwarcia do edycji.

  5. Ustaw element sterujący powiększenia na wartość 400%.

  6. Klikaj na środku obszaru karnacji do momentu pojawienia się jej koloru w wybieraku Koloru wypełnienia w Inspektorze właściwości.

  7. Wybierz kolor #33FF99 za pomocą wybieraka Koloru wypełnienia w celu zastosowania go w karnacji Up.

  8. Kliknij przycisk Wstecz po lewej stronie paska edycji nad stołem montażowym, aby powrócić do trybu edycji dokumentu.

  9. Wybierz polecenie Sterowanie > Testuj film.

    Składnik ComboBox powinien zostać wyświetlony na stole montażowym tak, jak zostało to przedstawione na poniższej ilustracji.

    Składnik ComboBox z niestandardowym kolorem dla karnacji Background
    Składnik ComboBox z niestandardowym kolorem dla karnacji Background