スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ブログランキング・にほんブログ村へ

--.--.-- | スポンサー広告

Windows Mobileプログラミング #06 ダイアログ・メニュー

 やはりというか、WindowsMobileの特有の作法にて苦戦中。
 いろいろWebにて検索しつつ、頑張ってます。
 まぁ、いくつかはまった部分があるので、覚え書…
 


●ダイアログ系 - 他アプリとのウインドウの切り替え
 WindowsMobileでは他アプリ・today表示を行った場合、自アプリは後ろに隠れなければならない。
 VisualStudio2005にてダイアログベースのアプリを作成した場合、デフォルトではtoday表示を行っても、後ろに隠れない。
 解決方法としては、ダイアログのスタイルを[ポップアップ]から[オーバーラップ]に変更することで、Today表示時に後ろに隠れることができます。

 理由はうまく説明できません。疑問に思った方は、ポップアップ・オーバーラップで検索かけてみてください。

●ダイアログ系 - OKボタンと×ボタン
 WindowsMobileの作法にて、アプリは自分で終了しないというのがあります。要は右上のボタンを押下しても、ウインドウが最小化されるだけで終了しない。アプリの終了はOSがアプリの起動数・メモリの残量を考慮しして決める、ということです。
 で、右上のボタンですが、2種類あり、OKボタンはアプリ終了、×ボタンは最小化となっているようで、ダイアログベースでアプリを作成した場合、右上のボタンはOKボタンとなるようです。SDIアプリを作成してみたところ、×ボタンとなりアプリは最小化されました。

 ※1 解決方法はまだ見つけられませんでした。SDIにダイアログを張り付けるのが手っ取り早いのかもしれません。

 ※2 どうも、MicrosoftはWindowsMobileのアプリはSDIを基準としているようです。ダイアログはアプリ上のサブ画面などを想定していて、ポップアップ画面として表示、でOKボタンで閉じる、を想定しているような。やはり、素直にSDIにしたほうがいいのか…

 ※3 ちなみに、WkTaskなどのタスク管理アプリは、ダイアログを閉じる際にOKボタンを押下したさいに発生するメッセージを終了させたいアプリに投げています。ですので、ダイアログアプリがOKボタンで終了しないようにOKボタンのハンドラをいじると閉じなくなってしまいます。


●メニュー系
 なかなか、チェック状態にすることができなかったので、サンプルソースを。
 結局、メニューのハンドルを取得する方法がよくわからなく、GetSubMenu等を使用しても右メニューが取得できなかったよう(チェック状態にすることができなかった)

01: HWND hMenu = SHFindMenuBar( m_hWnd);
02: TBBUTTONINFO tbbi = {0};
03: tbbi.cbSize   = sizeof(tbbi);
04: tbbi.dwMask  = TBIF_LPARAM | TBIF_BYINDEX;
05: ::SendMessage( hMenu, TB_GETBUTTONINFO,
06:             [0:左メニュー/1:右メニュー], (LPARAM)&tbbi);
07: HMENU   hMenu2 = (HMENU)tbbi.lParam;
08: CheckMenuItem( (HMENU)hMenu2, [ID番号],
09:             [MF_BYCOMMAND|MF_CHECKED / MF_BYCOMMAND|MF_UNCHECKED]);


6行目でメニューを指定してハンドルを取得、8~9行目にてチェックをON/OFFする。
ちなみに、リソースエディタにてプロパティCheckedをTRUEにする必要はない。

テーマ:モバイル - ジャンル:コンピュータ

ブログランキング・にほんブログ村へ

2008.03.30 | Comments(0) | Trackback(0) | Mobile プログラミング

コメント

コメントの投稿


秘密にする

«  | HOME |  »

FC2Ad

08 | 2017/09 [GO]| 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最近の記事一覧 カテゴリ一覧 コメント一覧 トラックバック一覧 プロフィール リンク一覧
[カテゴリ]
WEBコンサルティング・ホームページ制作のバンブーウエイブ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

カスタム検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。