内部に子ウィンドウがあるウィンドウがあります。子ウィンドウは、約 1000 ピクセルの垂直方向のスペースを占有します。ただし、ユーザーは常に 1000 ピクセルの垂直方向のスペースを利用できるとは限りません。500 ピクセルまたは 600 ピクセルしかない場合があります。
このウィンドウを高さ 500 ピクセルのサイズで表示し、ユーザーがウィンドウを上下に「スクロール」してコンテンツ全体を表示できるようにしたいと考えています。ウィンドウの高さは常に 500 ピクセルにする必要がありますが、ウィンドウ内のビューは変更する必要があります。
ユーザーがウィンドウのどの部分を見たいかを選択できるように、どこかにスクロールバーを追加できるとします。Windows は通常、ウィンドウの内容を高さ 0 から高さ 500 まで描画します。たとえば、代わりに「高さ 250 から高さ 750 までペイントする」ように指示するにはどうすればよいですか?
などの関数でビューポートを設定できることは知っていますSetViewportOrgEx
が、それらの関数にはデバイス コンテキストが必要です。Windows から WM_PAINT メッセージを受け取ったときにそれらを呼び出す必要がありますか? それとも別の時に?そして、そのファミリのどの機能を使用したいですか?
編集して追加:子ウィンドウの位置を実際に変更したくありません。子ウィンドウは同じ位置にとどまる必要があり、変更する必要があるのはウィンドウへのビューだけです。
ありがとう。