コンボボックスの個々のリスト項目のDisable

解決


Egg Plant  2006-03-29 20:14:20  No: 94824

VB6.0のコンボボックスをStyle=0で使用しています。
AddItemで項目を追加して複数のリスト項目がPullDownメニュー内にあります。
この状態で、任意のリスト項目をDisableの状態にすることは可能でしょうか?

RemoveItemで削除してリスト項目から消すしか方法はないんでしょうか?

環境
OS:Win2000 Visual Basic6.0(SP6)


ガッ  2006-03-29 20:30:10  No: 94825

DISABLEの意味
  disable A:Aを無力にする

ここでリストの項目に「効力」を付加しているのは、
プログラマであるEgg Plantさんですよね。
よって、そのリストの項目が効力を失っているかを管理し、
失効していれば無視すればいいのではないでしょうか?


Egg Plant  2006-03-29 22:08:42  No: 94826

DISABLEの意味はグレーアウトになるという意味で使用しております。
つまり灰色になって表示はされるが、選択はできないという意味です。

項目的には、存在するということを示したいんです。
けれど、ある状況では選択できない方が、そのソフトを使う人には余計な混乱を与えずに親切かと思います。

必要なものだけをリストに追加することも考えましたが、状況によってリスト項目の数や内容が変わると、そのソフトを使う人には混乱の元になりやすいと思ってパスしています。


魔界の仮面弁士  2006-03-29 23:03:59  No: 94827

VB6の ComboBox では、項目の色を変更できません。

代案としては、
  (1) ImageCombo で代用する。(テキストを描画した画像を使う)
  (2) ComboBox にオーナードローする。(APIの呼び出しが必要)
  (3) WebBrowser + <select>要素で代用。
などが考えられます。


Egg Plant  2006-03-30 02:02:35  No: 94828

魔界の仮面弁士様、ありがとうございます。
時間と労力、その後のサポートを考慮して(1)案で検討して見ようと思います。
どうにもならないときは、また新レスを立てるかもしれませんが、宜しくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加