• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ウインドウサイズを変更しても描画領域が変わらない(Win32API))

ウインドウサイズを変更しても描画領域が変わらない(Win32API)

このQ&Aのポイント
  • ウインドウサイズの変更がうまくいかない問題について
  • ブラウザウインドウのサイズ変更に関して問題が発生している
  • ウインドウサイズと描画領域の関連性について解説

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★『WM_SIZE』メッセージ(ハンドラ)などを処理すること ・ウインドウのサイズを変更したときに、ブラウザ画面をウインドウサイズに合わせて  いないためです。スクロールバーの位置が変わらないのはその為です。  ぱっと見た限りでは『WM_SIZE』メッセージを処理していないようです。 ・『WM_SIZE』メッセージでウインドウのサイズが変化したときに、ブラウザ画面をその  サイズに合うように再設定する必要があります。→『MoveWindow』や『SetWindowPos』  API関数でサイズを変更できます。 ・もう一度、ソースを良く見直してから『WM_SIZE』メッセージ(ハンドラなど)の処理が  記述されていないときは、『WM_SIZE』メッセージでサイズの変更を処理して下さい。 最後に: ・なお、再描画はされていると思います。  ですのでウインドウ縁をドラッグしたり、最大化ボタンをクリックしてサイズの変更が  発生したときに、『WM_SIZE』メッセージ内で描画領域のサイズを自分で変更させる必要が  あるのです。 ・『MoveWindow( hWnd, 横位置, 縦位置, 横サイズ, 縦サイズ, TRUE );』 ・『SetWindowPos( hWnd, NULL, 0, 0, 横サイズ, 縦サイズ, (SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW) );』 ・以上。おわり。

shapeshifter
質問者

お礼

回答ありがとうございます。 おっしゃる通り、問題はウインドウプロージャにありました。 おかげさまで解決できました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • noro6677
  • ベストアンサー率21% (34/158)
回答No.1

ソース途中で読むのがめんどくさくなったので ソース以前の問題。 Windowサイズ変更した後、再描画の処理されている?

shapeshifter
質問者

お礼

お礼を投稿したつもりが、できていなかったようです。 申し訳ありません。 問題はウインドウプロージャにありました。 回答してくださってありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A