04-10-2014, 09:49 AM
ComboBox使って
値リストを「右寄せ」に表示したいのですが
ComboBoxにはhalignプロパティの提供がありません。
実現可能でしょうか。
以下、試した事項です。(2件)
① ui-objectにアクセスして、SkinnableComboBoxUIのhalignプロパティに"right"を設定する。
<結果>
「選択肢」「選択した値」ともに右寄せされず。
<ソース>
def ui = test-cbb.ui-object asa SkinnableComboBoxUI
ui.halign = "right"
② labelプロパティにVBoxを設定し、VBoxのhalignプロパティに"right"を設定する。
<結果>
「選択肢」は右寄せされた。
「選択した値」は右寄せされず。
<ソース>
{let modelefaultListModel =
{DefaultListModel
"red", "green", "blue",
"-",
"teal", "purple", "orange"
}
}
{def cmbx-length=5cm}
{def cmbx=
{ComboBox
width = cmbx-length,
control-appearance-changeable? = true,
data-model = model,
list-item-creation-proc =
{proc {val:any}:ListItem
{if val == "-" then
{return
{ListSeparator}
}
else
{return
{ListValueItem
val,
label = {VBox halign="right", width = cmbx-length - 0.5cm, color = val,
{value val}}
}
}
}
}
}
}
{Frame
color = "black",
cmbx
}
値リストを「右寄せ」に表示したいのですが
ComboBoxにはhalignプロパティの提供がありません。
実現可能でしょうか。
以下、試した事項です。(2件)
① ui-objectにアクセスして、SkinnableComboBoxUIのhalignプロパティに"right"を設定する。
<結果>
「選択肢」「選択した値」ともに右寄せされず。
<ソース>
def ui = test-cbb.ui-object asa SkinnableComboBoxUI
ui.halign = "right"
② labelプロパティにVBoxを設定し、VBoxのhalignプロパティに"right"を設定する。
<結果>
「選択肢」は右寄せされた。
「選択した値」は右寄せされず。
<ソース>
{let modelefaultListModel =
{DefaultListModel
"red", "green", "blue",
"-",
"teal", "purple", "orange"
}
}
{def cmbx-length=5cm}
{def cmbx=
{ComboBox
width = cmbx-length,
control-appearance-changeable? = true,
data-model = model,
list-item-creation-proc =
{proc {val:any}:ListItem
{if val == "-" then
{return
{ListSeparator}
}
else
{return
{ListValueItem
val,
label = {VBox halign="right", width = cmbx-length - 0.5cm, color = val,
{value val}}
}
}
}
}
}
}
{Frame
color = "black",
cmbx
}