Windows CE プログラムとかとか
ようやく精神的疲労が消えてきました。やれやれ。。
こんにちは。
ここ最近は先日購入したCOWON V5上で動くプログラムを書こうといろいろやってます。
ちなみに、部屋の整理もしなきゃいけないのにそっちは全然進んでいない。
Win32 API のサブセットと、MFCのサブセットが使えるってことで割とwktkしてたんですが
そのサブセット具合が割と残念な出来栄え。。。
やろうとしたこと
- マルチドキュメントブラウザを作る
WindowsCEでは、MDIが使えないので、Doc/View切り替えをSDIでやらないといけないっていうところが多少めんどちぃ。
んでも、動的メニューだのプラグインだのの仕組みは、今の職場で開発した仕組みが多分応用できるからラクショーだじぇ!
って思ってたのですが、WinCEのAPIがそれなりに残念な感じの出来上がりで、かなり苦労することになったとか。
- GetProcAddressの第二パラメータの意味合い
- CMenu.GetMenuState()が役に立たない(常時0を返す?)
- GetSubMenu() で SubMenuのHANDLEが取ってこられたら、MF_POPUP属性
- SubMenu無し、かつメニュー文字が空ならセパレータ属性
- ひどい話だ
- メニューの動的変更が、WinCE APIの使用上無理
- SetWindowsHookExが実質使えない
- ツールバーメニュー
- ツールバーボタンを TBS_DROPDOWN にしたときの右端の▼マークが消せない。そもそも、▼マーク表示フラグ立ててないのになんで出てくるんだ(汗
- しょうが無いので、ツールバーボタンの属性は TBS_BUTTON にして、OnNotify(code == NM_LDOWN)を補足してメニューを出すことにする。
- NM_LDOWNが来ない、、、、てゆーかNM_CLICKすら来ない。。。。。。
- ボタン押された瞬間に、なぜか TBN_BEGINDRAGが飛んできてるし。。。。
- なので、それを捕まえてTrackPopupMenuすることにした。
- てゆか、ツールバーボタンをD&Dで移動可能にするフラグなんて立ててないんですが(汗
そんなわけで、かなり萎えましたがなんとかフレームワークの基礎部分完了。