ふつうのコンボボックスを使えばいいのに
わざわざ使わないのには理由があるのサ
コンボボックスのイベントハンドラenteredで、エンターだっつってるにも関わらず
キーボードEnterでは呼び出されない
項目名の編集で即効性がイマイチだったり
この辺りをふつうのEditTextとListBoxで解決したのが
手作りコンボボックス
といっても大した事をした訳じゃない
●ロールアウト部
editText edt1 “” pos:[8,6] width:124 height:16
listBox lbx1 “” pos:[12,24] width:120 height:8 items:#(“a”,”b”,”c”)
注意点は、editTextの高さを16以上の値で設定しない事
16以上だとEnterを改行と受け取ってしまうようですね
●イベント部分
on lbx1 selected sel do edt1.text = lbx1.selected
on edt1 entered strTm do
(
if (str != “” and lbx1.items.count != 0) then
(
lbx1.selected = str
print edt1.text
);–if end
);–end
on edt1 changed strTm do
(
if (str != “” and lbx1.items.count != 0) then
(
lbx1.selected = str
lbx1.items = lbx1.items
lbx1.selection = lbx1.selection
edt1.text = str
);–if end
);–endon rol open do
(
try(edt1.text = lbx1.selected)catch()
)
空の時にテキストが入らないようにIfで叩く
そのあとは、こう、なんかごちゃごちゃテキストを入れたりする
これで、即効性のあるテキスト編集が出来る
ふつうのコンボボックスとの違いは、項目を選んでもテキストはハイライトされないのよ
でも、個人的にはこっちの方が好き