Visual Basic Tips


画像の出力


 ここの例では、フォームがクリックされた時にピクチャーボックスの内容をフォームのど真ん中に出力します。
 Form_LoadでScaleModeをピクセルにしているのは、BitBlt関数にはピクセル値を設定しなければいけないためです。

Private Sub Form_Click()
  
Dim lRet As Long
  
Dim X As Integer
  
Dim Y As Integer

  X = (Form1.ScaleWidth - Picture1.ScaleWidth) / 2
  Y = (Form1.ScaleHeight - Picture1.ScaleHeight) / 2

  lRet = BitBlt(Form1.hDC, X, Y, Picture1.ScaleWidth, Picture1.ScaleHeight, Picture1.hDC, 0, 0, vbSrcCopy)
  Form1.Refresh
End Sub

Private Sub Form_Load()
  Form1.ScaleMode = vbPixels
  Picture1.ScaleMode = vbPixels
  Form1.AutoRedraw =
True
End Sub

'-------------------------------------------------------------
'
'-------------------------------------------------------------
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long


DownLoad vbtips008.lzh 3KB (VB6.0)