Miten saisin että VB lisäisi picture/imageboxissa olevaan kuvaan tekstin joka on textboxissa ja sitten tulostamaan kuvan?
Private Sub TekstinLisaamisNappi_Click () LisaaTekstiKuvaan End Sub Private Sub LisaaTekstiKuvaan () 'Tähän tekstin, joka on textboxissa, lisääminen kuvaan TulostaKuva End Sub Private Sub TulostaKuva () 'Kuvan tulostus - juttu tähän MsgBox "Tulostetaan...", vbInformation End Sub
Picture1.CurrentX = 10 Picture1.CurrentY = 10 Picture1.Print Text1.Text 'tulostetaan text1:n sisältö picture1-lootaan
Googlella taas heti ensimmäinen, mitä löytyi:
http://www.vb-helper.com/howto_print_picture.html
nomic kirjoitti:
Picture1.CurrentX = 10 Picture1.CurrentY = 10 Picture1.Print Text1.Text 'tulostetaan text1:n sisältö picture1-lootaan
Toi toimi, mutta mä haluaisin tietyllä fontilla. Ja toi tulostaminen?
Picture1.Font = "Verdana" ?
Ok. Entä tulostus?
Kulma kirjoitti:
Ok. Entä tulostus?
Eh.. Tarkistitkohan nyt tota linkkiä, jonka laitoin?
nomic kirjoitti:
En tarkistanut kunnolla. Luulin että siinä luki tuosta tekstin laittamisesta.
Kokeilin tota ja luki "Virhe - Tulostaminen ei onnistunut".
Mä tein sen näin:
Private Sub tulosta_Click()
Dim wid As Single
Dim hgt As Single
' Set the PictureBox's ScaleMode to pixels to
' make things interesting.
lipuke.ScaleMode = vbPixels
' Print the picture.
Printer.PaintPicture lipuke.Picture, _
1440, 1440
' Get the picture's dimensions in the printer's scale
' mode.
wid = ScaleX(lipuke.ScaleWidth, lipuke.ScaleMode, _
Printer.ScaleMode)
hgt = ScaleY(lipuke.ScaleHeight, _
lipuke.ScaleMode, Printer.ScaleMode)
' Draw the box.
Printer.Line (1440, 1440)-Step(wid, hgt), , B
' Finish printing.
Printer.EndDoc
MsgBox "Valmis!"
End SubEn pysty poistamaan edellistä viestiä. Tulostus toimii mutta..
Miksi kuvasta tulee yhtä iso kuin näytöllä (n. 10cm*8cm) kun ohjelma tulostaa sen?
Jos tulostan tuon kuvan Paintilla kuvasta tulee paljon pienempi (n. 7cm*5cm), koko jonka haluan.
Private Sub tulosta_Click()
Dim wid As Single
Dim hgt As Single
' Set the PictureBox's ScaleMode to pixels to
' make things interesting.
lipuke.ScaleMode = vbPixels
' Print the picture.
Printer.PaintPicture lipuke.Picture, _
1440, 1440
' Get the picture's dimensions in the printer's scale
' mode.
wid = ScaleX(lipuke.ScaleWidth, lipuke.ScaleMode, _
Printer.ScaleMode)
hgt = ScaleY(lipuke.ScaleHeight, _
lipuke.ScaleMode, Printer.ScaleMode)
' Draw the box.
Printer.Line (1440, 1440)-Step(wid, hgt), , B
' Finish printing.
Printer.EndDoc
MsgBox "Valmis!"
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.