MFC は、スクロールするビューと、表示するフレーム ウィンドウのサイズに自動的にスケーリングされるビューをサポートします。 クラス CScrollView
では、両方の種類のビューがサポートされています。
スクロールとスケーリングの詳細については、MFC リファレンスの CScrollView クラスを 参照してください。 スクロールの例については、 Scribble サンプルを参照してください。
詳しく知りたいこと
ビューのスクロール
ビューの拡大縮小
ビューのスクロール
多くの場合、ドキュメントのサイズは、そのビューで表示できるサイズより大きくなります。 これは、ドキュメントのデータが増加するか、ビューをフレームに含めるウィンドウがユーザーによって縮小されるために発生する可能性があります。 このような場合、ビューはスクロールをサポートする必要があります。
どのビューでも、 OnHScroll
および OnVScroll
メンバー関数のスクロール バー メッセージを処理できます。 これらの関数でスクロール バー メッセージ処理を実装し、すべての作業を自分で実行するか、 CScrollView
クラスを使用してスクロールを処理できます。
CScrollView
は次の処理を行います。
ウィンドウとビューポートのサイズとマッピング モードを管理します
スクロール バーメッセージに応答して自動的にスクロールする
"ページ" (ユーザーがスクロール バー シャフト内をクリックしたとき) と "線" (ユーザーがスクロール矢印をクリックしたときの) のスクロール量を指定できます。 ビューの性質に合わせてこれらの値を計画します。 たとえば、グラフィックス ビューでは 1 ピクセル単位でスクロールし、テキスト ドキュメントの行の高さに基づいて増分する場合があります。
ビューの拡大縮小
ビューをフレーム ウィンドウのサイズに自動的に合わせる場合は、スクロールするのではなく、 CScrollView
を使用して拡大縮小できます。 論理ビューは、ウィンドウのクライアント領域に正確に合わせて拡大または縮小されます。 拡大/縮小されたビューにはスクロール バーがありません。