コモンダイアログのテスト

とりあえず、仮アプリケーション名を「W-ZERO3 GPS」としてみた。
実際は、かなり精度の悪いGPSになりそうで、トラッキングツールとしてもまったく役に立たなさそうだが。
職場で「ちず丸 for Willcom」を使ってみたら、500mぐらい離れた位置になっていたし。
ちなみに、うちからだと250mぐらいずれている。
どういう計算をしているんだろうかなあ?
さて、今日は「コモンダイアログ」に関するテスト。
ログを保存する先を指定するところを先に作ってしまおうと。
ザウルスだと、その手のダイアログがなかったので、結局、手入力だったのだけれど、さすがWindowsというかMFCというか、コモンダイアログを呼ぶだけでファイルを書くところを指定できるようだ。開発者さん楽々。
しかし、やっぱりどうしたらいいのかわからないので、リファレンスとして、Windows CE Fanの開発者向け情報にあったサンプルコードを参考にしてみた。
http://www.wince.ne.jp/frame.asp?/review/kappy/tips4.htm
ここでは、「GetOpenFileName」という関数を使っていた。
これをそのまま使って作ってやると、エクスプローラのファイルダイアログが開いて、ファイルを選択できるようにはなるのだけれど、保存先を新しく作ることができない。
関数の名前からして、「GetSaveFileName」ってのもあるんじゃないの?と補完で検索してみたら、あっさりとあった。しかも、ほとんどそのまま使えた。
ただし、フィルタだけ修正する必要がある。
TCHAR型や、TEXTは不慣れなのだけれど、
filter[]=TEXT(“JPEG\0*.JPG\0\0”);
という表記からして、「\0」を区切り文字にして、前がダイアログボックスに現れる表記(「JPEGファイル」など)、後ろがワイルドカードの様子。GetSaveFileNameの場合は、後者の拡張子が反映される様子。
最後に、この得られた結果を表示するように、「Hello World」を表示している部分をそのままいただいて実装してみた。
GetSaveFileName
今日はもうひとつ、メニューボタンの非表示にも挑戦しようとした。
しかし、まったくわからない。
DISABLEとかENABLEとかを設定するところがどこかにあるとは思うのだが、あるのは、メニューのIDだけ。これだけでどうやって非表示とかにすればいいのやら?