※ ChatGPTを利用し、要約された質問です(原文:GetWindowRect()が正しくない。)
GetWindowRect()が正しくない
このQ&Aのポイント
WindowsMobileでのGetWindowRect()の使用について分からないことがあります
WM6.5の320x320Square画面のサイズが正しく得られません
ターゲットの画面サイズを知りたくて、GetWindowRect()を使用していますが、WM6.5の画面では正しい値が返ってきません
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となっているのが理解できません。
コーディングが間違っているのでしょうか?また、正しい値を得る別の方法があるのでしょうか?
よろしくお願いします。
補足
回答ありがとうございます。 私も、新規プロジェクトでやってみました。 その結果、確かに正しい値が得られました。 今回は、VNCのサーバーを動かしたくて、 古いオープンソースのこの辺:http://sourceforge.jp/projects/sfnet_pocketvnc/ をビルドしてみたのでした。 古い開発環境と、古いターゲット向けのプロジェクトを無理矢理ビルドしたので、 どこかで整合性がとれなくなっているのかもしれません。 新しいプロジェクトを作成した上で、移植するなどして、試してみたいと思います。