Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tietyn alueen tulostaminen formista

Cc [19.08.2006 14:04:18]

#

Eli pystyykö Visual Basic:illä tulostamaan formilta tietyn alueen, kuten frame:n sisällön vain?

Antti Laaksonen [22.08.2006 15:32:31]

#

Pystyy, mutta alue pitää ensin kopioida kuvaan:

Private 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

Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source

Private Sub Form_Click()
    Me.ScaleMode = 3
    Picture1.AutoRedraw = True
    ' kopioidaan oikea alue kuvaan
    BitBlt Picture1.hdc, 0, 0, Frame1.Width, Frame1.Height, Me.hdc, Frame1.Left, Frame1.Top, SRCCOPY
    Picture1.Picture = Picture1.Image
    ' lähetetään kuva tulostimelle
    Printer.PaintPicture Picture1, 0, 0
    Printer.EndDoc
End Sub

Tässä Frame1 on tulostettava kehys ja Picture1 on väliaikainen kuva.

Mittayksiköksi valitaan pikseli (ScaleMode 3), jotta koordinaatit kelpaavat suoraan BitBlt-funktiolle.

Cc [23.08.2006 22:32:15]

#

Kiitos Antti tuo toimii todella hyvin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta