List 7-39 FormPrintPreviewフォームのForm_Resizeプロシージャ


  1: Private Sub Form_Resize()
  2:     ' ウィンドウサイズが変更されたときの処理
  3:     On Error Resume Next
  4:     
  5:     ' VScrollスクロールバーを右上に寄せる
  6:     VScroll.Top = 0
  7:     VScroll.Left = FormPrintPreview.ScaleWidth - VScroll.Width
  8:     
  9:     ' PicPreviewピクチャボックスを左上に寄せる
 10:     PicPreview.Top = 0
 11:     PicPreview.Left = 0
 12:     ' PicPrewviewピクチャボックスの横幅は
 13:     ' フォーム幅からVScrollスクロールバーの幅を引いた大きさにする
 14:     PicPreview.Width = VScroll.Left
 15:     
 16:     ' FrameNaviフレームの位置をフォームの左下に寄せる
 17:     FrameNavi.Top = FormPrintPreview.ScaleHeight - FrameNavi.Height
 18:     FrameNavi.Left = 0
 19:     ' FrameNaviフレームの横幅は
 20:     ' フォーム幅からVScrollスクロールバーの幅を引いた大きさにする
 21:     FrameNavi.Width = FormPrintPreview.ScaleWidth
 22:     
 23:     ' HScrollスクロールバーをFrameNaviフレームの上に配置する
 24:     HScroll.Top = FrameNavi.Top - HScroll.Height
 25:     HScroll.Left = 0
 26:     ' HScrollスクロールバーの横幅は
 27:     ' フォーム幅からVScrollスクロールバーの幅を引いた大きさにする
 28:     HScroll.Width = VScroll.Left
 29:     
 30:     ' PicPreviewピクチャボックスと
 31:     ' VScrollスクロールバーの高さを
 32:     ' HScrollスクロールバーの上に接するように広げる
 33:     PicPreview.Height = HScroll.Top
 34:     VScroll.Height = HScroll.Top
 35:     
 36:     ' スクロールバーの最大値の再設定
 37:     VScroll.Max = PicDoc.Height - PicPreview.Height
 38:     HScroll.Max = PicDoc.Width - PicPreview.Width
 39: 
 40:     If VScroll.Max <= 0 Then
 41:         VScroll.Enabled = False
 42:     Else
 43:         VScroll.Enabled = True
 44:     End If
 45:     
 46:     If HScroll.Max <= 0 Then
 47:         HScroll.Enabled = False
 48:     Else
 49:         HScroll.Enabled = True
 50:     End If
 51: End Sub