Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

コンボボックスとかドロップダウンリストとかプルダウンリストとか

コンボボックスとかドロップダウンリストとかプルダウンリストとか言われるものが何を指しているか、ドキュメントごとに違うように見えるので調べてみた。

ドロップダウンリストの例

Windows User Experience Interaction Guidelines *1

"standard list box", "drop-down list", "combo box"という語が出てくる。

  • "standard list box"は選択肢が常に表示状態のリスト
  • "drop-down list"は"drop-down button"の押下時のみ選択肢が表示されるリスト
  • "drop-down list"はテキスト入力不可
  • "standard list box"とテキスト入力可能な"text box"を組み合わせたものを"editable list box"と呼ぶ
  • "drop-down list"とテキスト入力可能な"text box"を組み合わせたものを"editable drop-down list"と呼ぶ
  • "editable list box"と"editable drop-down list"をまとめて"combo box"と呼ぶ
  • 図の(1)は"text box"、(2)は"drop-down button"、(3)は"drop-down list"と呼ぶ。これはWindows 7向けのデザインガイド*2でも変わっていない。

.NET API Reference *3

ComboBoxクラスとListBoxクラスがある。

  • ComboBoxはテキストボックスとListBoxを組み合わせたもの
  • ComboBoxに対し、選択肢を常に表示状態にするかドロップダウンとして表示するかをComboBoxStyleで選択できる
    • DropDownの場合、選択肢はドロップダウン表示、テキスト入力可能
    • DropDownListの場合、選択肢はドロップダウン表示、テキスト入力不可
    • Simpleの場合、選択肢は常に表示、テキスト入力可能
    • 選択肢が常に表示で、テキストボックスが編集不可能な設定は行えない(代わりにListBoxを使う)
  • ComboBoxStyleの説明で、図の(1)は"text portion"、(2)は"down arrow"、(3)は単に"list"と呼ぶ

MFC API Reference *4

CComboBoxクラスとCListBoxクラスがある。

  • コンボボックスは"static control"または"edit control"と、"list box"を組み合わせたもの
  • 編集可否等はコンボボックスのスタイルとして表現されている。
    • "Simple"の場合、選択肢は常に表示、テキスト入力可能
    • "Drop-down"の場合、選択肢はドロップダウン表示、テキスト入力可能
    • "Drop-down list"の場合、選択肢はドロップダウン表示、テキスト入力不可
  • 図の(1)はテキスト入力可能な場合は"edit control"、テキスト入力不可な場合は"static control"と呼ぶ。(2)は"drop-down arrow"、(3)は"list-box portion"と呼ぶ

Build desktop apps for Windows *5

UWPにおける"combo box"と"list box"の違いや動きについて説明している。

  • "combo box"と"drop-down list"は同義(combo box (also known as a drop-down list)
  • 閉じたり(compact state)開いたり(expand)するものを"combo box"、開きっぱなしのものを"list box"と呼ぶ
  • "combo box"はデフォルトではテキスト入力不可で、XAMLisEditable属性でテキスト入力可否を設定できる
  • 図の(1)(2)を個別に説明している語はない(drop-down listを閉じている状態に表示されている(1)(2)を合わせて"header"と呼んでいる)。(3)は単に"list"と呼ぶ。

Creating a GUI With Swing *6

JComboBoxクラスとJListクラスがある。

  • 閉じたり開いたりするものを"combo box"、開きっぱなしのものを"list"と呼ぶ
  • テキスト入力不可な"uneditable text box"(デフォルト)と、テキスト入力可能な"editable combo box"を合わせて"combo box(es)"と呼ぶ
  • 図の(1)はテキスト入力可能な場合"text field"と呼ぶが、テキスト入力不可な場合は呼び名がない。(2)は"arrow button"、(3)は"drop-down list"と呼ぶ

考察

  • テキスト編集可能なものを"combo box"、編集不可のものを"drop down list"と呼ぶという説明が良く見られる*7が、lMicrosoftの中でも統一されていない。Windows User Experience Interaction Guidelinesの説明はその通りだが、.NET APIMFCもUWPもそのような説明にはなっていない。
  • "pull-down list"という語はlearn.microsoft.comにあるMicrosoftのドキュメントにはほとんど出てこない。見つかったのはXamarin.Macの説明*8くらい。