ここの例では、フォームがクリックされた時にピクチャーボックスの内容をフォームのど真ん中に出力します。
Form_LoadでScaleModeをピクセルにしているのは、BitBlt関数にはピクセル値を設定しなければいけないためです。
Private SubForm_Click()
DimlRetAs Long
DimX AsInteger
DimYAs 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 SubForm_Load()
Form1.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels
Form1.AutoRedraw =True
End Sub
'-------------------------------------------------------------
'
'-------------------------------------------------------------
Declare FunctionBitBltLib"gdi32" (ByValhDestDCAs Long,ByValXAs Long,ByValYAs Long,ByValnWidthAs Long,ByValnHeightAs Long,ByValhSrcDCAs Long,ByValxSrcAs Long,ByValySrcAs Long,ByValdwRopAs Long)As Long
DownLoad vbtips008.lzh 3KB (VB6.0)