2004-09-05 [長年日記]

ツールバーやステータスバーの位置調節

Pocket PCでツールバーをサポートするなら位置としてはメニューバーとステータスバーの間に入れるのが良いだろうと思ってそのあたりに配置してみたところ、ツールバーは勝手に上の方に、ステータスバーは勝手に下の方に移動してしまいます。色々悩んでしまったのですが、コントロールのスタイルにCCS_NOPARENTALIGNを付けないと勝手に配置されてしまうのが原因でした。ところが、WindowsではこれをつけなくてもWM_SIZEのハンドラで自分で配置すれば意図した場所に移動します(自分で処理した後でデフォルトの処理を行っています)。

おそらくWindowsではこのあたりの処理をWM_NCCALCSIZEあたりで行い、Windows CEではWM_SIZEで行っているので動作が変わってくるのでしょう。

もっとも自分で配置するならば、CCS_NOPARENTALIGNはいずれにしてもつけておいた方が良さそうです。

[]