hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

いまさらのWindowsCEプログラミング(11) - 作法

今回は、ユーザサイドから見たソフトウェアの振る舞いの作法についてです。

ダイアログのサイズ

WindowsCE/PocletPCは歴史が長いため、さまざまな解像度のデバイスが存在します。このため、全てのデバイスでダイアログボックスを正常に表示するためには、

  • もっとも小さい解像度のデバイスに合わせた大きさにする。すなわち横240*縦200。
  • バイスに合わせてダイアログボックスの大きさを動的に変更する。

のどちらかの対応が必要になります。

終了メニューをつける

PocketPCの正式な作法では、ユーザはアプリケーションを終了させなくてもよいことになっています。実際Microsoftの提供するアプリケーションは終了メニューがありません。右上のクローズボックスをタップしてもアプリケーションは非表示になるだけで、メモリに常駐したままです。
アプリケーションをたくさん立ち上げてメモリが少なくなると、PocketPCは自動的にアプリケーションを終了させます。このため、PocketPCのプログラムはWM_CLOSEイベントを受け取ると終了するようにしなければなりません。

ところがこれは実際は絵に書いた餅であり、使うにしたがってメモリが圧迫されて動作が遅くなり、最後はハングすることもあります。このため、GSPocketMagicのような「終了化ユーティリティ」を使って終了させるのがPocketPCユーザの常識になっています。

そこで、「アプリケーションには終了メニューをつけて、ユーザが終了できるようにする」のが、ユーザの視点に立った作法だと思います。
なお、オンラインソフトの中には、右上のクローズボックスを終了に割り当てているものがあります。この辺は作者さんの考え方次第なのですが、私はあまり好みません。(1)GSPocketMagic等でクローズボックスの動作を変更できる、(2)アプリケーションを常駐させたまま他のアプリケーションに切り替えたいときに困る、からです。

PocketPCでもキーボード入力を想定する

PocketPCは基本的にキーボードレスですが、W-ZERO3や海外のキーボード付モバイルフォンなどキーボードで操作される可能性があるので、ある程度キーボードだけで操作できるようにしておくと親切です。