none
VistaでのCComboboxExの動作について RRS feed

  • 質問

  • CComboboxExを使って、ダイアログを作成しています。

    XPでは問題なく動作していたのですが、同じプログラムをVistaで動作させてみるとDisableした時に、テキストがグレー表示されずに、Enable時と同様に黒で表示されていました。

    動作的にはドロップダウンできないのできちんとDisableにはなっているのですが、パッと見ではEnableのように見えてしまうので、気になります。

    CComboboxならば従来どおり、テキストもグレーになった状態でDisableができています。

    (なら、CComboboxを使えって気がすると思いますが、機能的に足りないためCComboBoxExの使用が必要なのです)

    XPのコモンコントロールのバグなのでしょうか?仕様というには違和感がある表示形式です。

    それとも、CComboboxExはCComboboxとは違うコーディングのお作法があるのでしょうか?

    何か情報をお持ちでしたらご教授いただければ幸いです。

    よろしくお願いいたします。

    2007年1月19日 11:14

すべての返信

  • そうですねえ。Vistaの不具合(互換性が低い)んだと思えますね。

    もし、どうしても対応しないといけないんだとすると、ComboBoxExの
    エディット部分のHWNDを取得してDisableにするといいと思います。
    2007年1月19日 11:55
  • ありがとうございます。

    個人的には、コモンコントロールの動作はOSで互換性が無くてもいいの(良い仕様へと改善するなら)と思っています。
    ただ、ユーザが標準動作と認識している(?)MSOfficeなどは自前でコントロールしていることが多くて、これと差が出てしまうのが困りどころです。かといって、UIの細かな表示をプログラムするほど工数に余裕はありませんし。

    #CComboBoxとCComboBoxExとで動作が違うのは不具合だと思いますが…

     

     

    2007年2月5日 1:01