コンボボックスでキー入力を禁止するには。


ネコ鍋  2007-12-13 23:26:45  No: 28940  IP: 192.*.*.*

コンボボックスで、styleを「csDropDown」にしたときに、キー入力で値が変更や削除されるのを防ぐにはどうすればよいのでしょうか。

keypressでキー入力を#0にする方法ではうまくいきませんでした。
また、csDropDownListだと初期値の設定ができないので不都合です。

逆に言えば、csDropDownListで初期値の設定ができればいいのですが

Delphi5です。

編集 削除
うんと  2007-12-13 23:55:16  No: 28941  IP: 192.*.*.*

Text 部分をユーザに変更されたくない、ってことはすでにあるリストから
選ばせたい、ってことですよね?

初期値っていうのが意味不明ですが、csDropDownList にして、ItemIndex を
セットするだけなのでは?

編集 削除
ネコ鍋  2007-12-22 01:15:01  No: 28942  IP: 192.*.*.*

ありがとうございます。

ItemIndexではItemの添字?を算出しなければならないですよね?
ListBoxにあるようなItemsIndexOfを組合わせて直接アクセスできる方法がないのか、と探しているのですけど。

つまり、Itemが10、20、30、40で初期値を30にしたいときはItemIndex:=2じゃなくてItemIndex:=ItemsIndexOf(30)みたいな形です。

うまく説明できずにすみません。

編集 削除
なんで?  2007-12-22 01:38:53  No: 28943  IP: 192.*.*.*

>ItemIndex:=ItemsIndexOf(30)みたいな形です。

ItemIndex := Items.IndexOf('30'); でイケルでしょ?

編集 削除