コンボボックスのドロップダウンを無効にする

解決


我輩  2004-12-25 19:44:20  No: 87592  IP: [192.*.*.*]

Windows2000、VB6(SP6)の環境です。
標準コンボのドロップダウンを無効にする方法は無いのでしょうか?

やりたいことは、

1)画面展開に応じて、そのコンボのロックをかける・かけないを制御する
2)ロックをかけた際、▼をクリックしてもプルダウンしない。つまり、クリックを無効にしたい

なにか、良い方法はないものでしょうか?

編集 削除
takeq  URL  2004-12-25 20:17:04  No: 87593  IP: [192.*.*.*]

無効、有効にするだけなら、
Combo1.Enabled=false   無効
Combo1.Enabled=true    有効
を切り換えて使うのは、だめでしょうか?

編集 削除
じゃんぬねっと  URL  2004-12-25 21:02:33  No: 87594  IP: [192.*.*.*]

普段は ComboBox だけど、
ある機会だけ、ComboBox の役割を果たしたくないのなら、
その時だけ、ComboBox を非表示にして、TextBox に変えてみるとか。

編集 削除
我輩  2004-12-25 22:22:17  No: 87595  IP: [192.*.*.*]

早速のレス、有難うございます。

Enabledは、項目が薄くなるので駄目なのです。
TextBoxの切り替えは、見た目が変わるので駄目です。
システムの仕様上、こればっかりはどうしようもないのです。
やっぱり、無理なのでしょうか?

編集 削除
魔界の仮面弁士  2004-12-26 00:53:21  No: 87596  IP: [192.*.*.*]

枠無しのPictureBoxの上に載せておいて、
コンテナ側のPictureBoxのEnabledを変更するとか。

編集 削除
魔界の仮面弁士  2004-12-26 01:04:36  No: 87597  IP: [192.*.*.*]

> 1)画面展開に応じて、そのコンボのロックをかける・かけないを制御する
これだけなら、Lockedプロパティで十分ですね。

> 2)ロックをかけた際、▼をクリックしてもプルダウンしない。つまり、クリックを無効にしたい
これは、上に書いた「コンテナを使用不可にする」事で実装できますが、
「使えない」という事が、ユーザーにわかりにくくなってしまうので、
ユーザーインターフェイスとしては、不親切な物になってしまいますね。

淡色表示が見にくいというなら、せめて、ComboBoxのBackColorを、
vbButtonFace / vbWindowBackground に切り替えるなど、
「変更不可である事」を伝える工夫をした方が良いかも。

# まぁ、余計なお世話かも知れませんが。(^_^;)

編集 削除
我輩  2004-12-26 14:40:46  No: 87598  IP: [192.*.*.*]

魔界の仮面弁士さん、ご回答有難うございます。
変更不可の時は、もともと背景色の変更をしているので問題ないです。
コンテナコントロールを使えばできました。
有難うございます。

takeqさん、じゃんぬねっとさん、魔界の仮面弁士さんお忙しい中ご親切に有難うございました。

編集 削除