フルスクリーン化でまたもや問題発生。

PocketPC 2003からOSの機能として画面の縦長・横長を切り替えられる(回転する)ようになっているわけですが、縦長向けにデザインしたダイアログを横長画面で表示したときに、ダイアログ下部のコントロールが見えなくなることを防ぐために、OSが場合によって縦スクロールバーを出すみたいなんです。

http://msdn.microsoft.com/ja-jp/library/cc825750.aspx
レガシ アプリケーションの動作

そうした機能自体は良いと思うのですが、これがフルスクリーンアプリで横画面モード時、画面の一番下の方に何かウィンドウがあると(画面からはみだしていないのにも関わらず)縦スクロールバーが出てしまうという副作用があるのです(OSはアプリがフルスクリーンか否かに関係なく、特定の座標以下にウィンドウがあったらスクロールバーを出す仕組みになっているぽい)。

最初の内はスクロールバーが表示されたのを感知してShowScrollBar(SB_BOTH, FALSE);を呼び出していたのですが、一瞬スクロールバーが見えるので美しくないんです。

なんとかならないかといろいろ実験しているうちに、ダイアログにタブコントロールを置いておくと、縦スクロールバーが何故か出ないことを偶然にも発見(^ー^;;

非表示・無効状態でも大丈夫みたいなので、とりあえずこれで回避していますorz




記事検索

アーカイブ