重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Yahoo知恵袋に質問したのでですが回答がつかなかったので、こちらで再度質問します。

WindowsMobileでのGetWindowRect()の使用について分からないことがあります。
WindowsMobileもWindowsの開発も初心者の者です。
上記関数で、WM6.5の320x320Square画面のサイズが正しく得られません。

WindowsXP SP3に
・VisualStudio 2005
・Windows MobileSDK 6
・Windows Mobile 6.5 Professional Developer Tool Kit (JPN).msi 等をインストールした環境で、

ターゲットの画面のサイズを知りたくて、以下のように記述しました。

RECT rect_win;
GetWindowRect(GetDesktopWindow(), &rect_win);

通常は正しいデータが得られるのですが、
WM6.5の320x320ドットのSquare画面の時だけ、
top:26
bottom:240
left:0
right:240
という値が返ってきます。
エミュレータでも、実機(ドコモSC-01B)でも同じ結果です。
topの26はメニューバーの分かと想像はつくのですが、bottomとrightが240となっているのが理解できません。

コーディングが間違っているのでしょうか?また、正しい値を得る別の方法があるのでしょうか?
よろしくお願いします。

A 回答 (1件)

とりあえず…そのGetWindowRect()はドコに書いていますか?



WM6SDKでプロジェクトを作成して…
IDM_HELP_ABOUTの辺りで実行した場合は問題なく取得できているようですが…。

この回答への補足

回答ありがとうございます。

私も、新規プロジェクトでやってみました。
その結果、確かに正しい値が得られました。

今回は、VNCのサーバーを動かしたくて、
古いオープンソースのこの辺:http://sourceforge.jp/projects/sfnet_pocketvnc/ をビルドしてみたのでした。
古い開発環境と、古いターゲット向けのプロジェクトを無理矢理ビルドしたので、
どこかで整合性がとれなくなっているのかもしれません。
新しいプロジェクトを作成した上で、移植するなどして、試してみたいと思います。

補足日時:2011/08/10 09:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!