‘さまれぼ!’新版リリース直前Vistaに悩まされる
先日‘さまれぼ!’の新バージョンをリリースしましたが、その直前、Windows Vistaで最終確認を行っている最中に問題が発生しました。フローター上のリストボックスの挙動がおかしいのです。ナビシステムがVista上で正常に動作しなかった件は既に記事にしましたが(‘さまれぼ!’ Vista対応 & ‘さまれぼ!’のナビシステム実装変更)、今回もDesktop Windows Manager(DWM)が影響しているような感じです。
フローターとは顧客カルテなどのウィンドウを親とした子ウィンドウで、親ウィンドウの入力を許可したままポップアップしたものを言います。例えば作業工程フローターの場合、親ウィンドウにある作業工程一覧の行をクリックするとポップアップ表示されます。親子とも入力可能なため、フローターで情報編集が行えますし、フローターを表示したまま作業工程一覧をクリックして別の工程表示に表示内容を切り替えることもできます。ディスプレイの制約から一つの画面に表示できる情報には限界がありますが、フローターにより多くの情報表示/編集が行えます。フローターの詳細は、‘さまれぼ!’専用サイトのこちらのページをご覧ください。
それでVistaでの問題です。本来なら顧客カルテの部位現象一覧をクリックするとフローターが表示されてリストボックスから部位現象が選択できるのですが、Vistaではフローター上のリストボックスをクリックしても行が選択されないのです。どうもマウスボタンを離したのが認識されていないようで、ちょうどドラッグしている感じになります。クリック時にボタンを押したまま一呼吸待ってから離すと正常に動作します。この問題はキーボードフォーカスが親ウィンドウにある場合に発生し、フローターにフォーカスがある場合は正常に動作します。
こういったことから、ボタンを押した後のキーボードフォーカス移動に紛れて、ボタンを離したというメッセージが消えてしまったのかもしれないと想像しています。リリース直前にエンジン部分に手を加えるのは避けたかったので実際にメッセージが消えているのか確認はしていませんが。
もしかすると最近の高性能マシンなら問題は発生しないのかもしれませんが、発生すれば問題なので、試行錯誤して何とか対応しました。しかし、DWMにしろProgram Files保護にしろマイクロソフトのやることはどうにも中途半端で、苦労させられます。


















