
@ITの
http://www.atmarkit.co.jp/fwcr/special/custom_br …
を参考にブラウザを作ろうと思っています.
上記記事中のソースコード
http://www.atmarkit.co.jp/fwcr/special/custom_br …
をコピペしてビルドしたところ,確かにブラウザになったのですが,ウインドウサイズの変更がうまくいきません.
ウインドウ縁をドラッグしたり,最大化ボタンをクリックしてサイズの変更をしても,描画領域は変更されないのです.
(例えば)
・アプリ起動時に300x300のウインドウが生成,yahoo.co.jpが表示される
・縁をドラッグして450x450にする
・ウインドウは大きくなるものの,300x300の範囲にしかyahooが表示されない(スクロールバーの位置も変わらない)
といった具合です.
どうすればウインドウサイズとともに描画領域も変化するようになるのでしょうか?
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) );』
・以上。おわり。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Chrome(クローム) 最近Win10にてブラウザが左にスッと隠れていく現象に悩まされてます 3 2023/07/22 23:11
- Chrome(クローム) Google Chromeのブラウザ(PC)ウインドウの移動について 3 2022/07/19 15:14
- その他(OS) Mac OSの操作について 2 2022/06/08 09:19
- 画像編集・動画編集・音楽編集 gomcamの起動にブロックがかかる 1 2023/07/28 23:34
- エッセイ・随筆 尋常小学校唱歌『さくら さくら』の解釈について以下のものは成立しますか?普通じゃおもろない? 7 2023/02/26 16:52
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- ノートパソコン ウインドウ11のビデオエディターで編集しようとアンドロイドスマホで動画をとり、ひとつは種類はJPGフ 3 2022/08/16 00:39
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- YouTube youtube 画像のサイズを少し小さくするには 1 2023/02/14 08:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Minecraft 統合版(PC)の描画距...
-
word
-
【VC++】コントロールの上に描画
-
VBAにGDI+を参照させる方法
-
[VB.net] DataGridViewの列ヘッ...
-
ウインドウサイズを変更しても...
-
GetGlyphOutline() ご利用経験...
-
c言語を使いダイアログにbmpを...
-
楕円を描くプログラミング
-
VB6,リストボックスの特定行の...
-
C# ラバーバンドの描画を快適に...
-
C言語(dxlib)のDrawboxについ...
-
3Dシミュレータの開発言語
-
デュアルディスプレイ下におい...
-
Spreadで表全体を選択した場合...
-
リストビューでのドラッグ&ド...
-
クライアント領域のコントロー...
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
-
エクセルで作った新しいウイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Minecraft 統合版(PC)の描画距...
-
[VB.net] DataGridViewの列ヘッ...
-
word
-
TextBoxに文字を書いても表示さ...
-
VB6,リストボックスの特定行の...
-
NVIDIAのシェーダーキャッシュ
-
panelのスクロール表示について
-
VC++プログラムをつかったBMP画...
-
VBAにGDI+を参照させる方法
-
google Colabでmatplotlibの描...
-
MFCでOnPaintのタイミング
-
MFCのタイマーのつかい方を教え...
-
UpdateData( FALSE); による文...
-
CStaticコントロールの静的イメ...
-
Form1 Load で実行されない。
-
InvalidateRectの使い方について
-
win32api 画面のちらつき
-
c++ ダブルバッファリング、以...
-
CDC(LineTo)で描画した線を透過...
-
BitBltでの表示での問題です。
おすすめ情報