Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB 6.0 tulostus pystysuoraan

eakem [16.05.2003 17:15:27]

#

Onko kukaan onnistunut tulostamaan vb:sta pystysuoraan,
siis alhaalta ylöspäin, ja teksti on 90 astetta taaksepäin kallistunut?

Antti Laaksonen [17.05.2003 00:53:49]

#

Tekstiä ei varmaan suoraan pysty tulostamaan käännettynä, mutta kuvan kautta kyllä. Kirjoita teksti kuvaan (kuvakehykseen) ja tee algoritmi, joka kääntää kuvaa 90 astetta. Tämän jälkeen kuvan voi lähettää tulostettavaksi vaikka Printer-olion PaintPicture-ominaisuuden avulla.

eakem [19.05.2003 21:49:59]

#

En ole kuvien kanssa juurikaan touhunnut. Tarkoitatko että pictureboxiin piirretään textbox ja sitten tulostetaan
print.paintpicture:lla?
Yritin tätä, mutta vain kuva tulostui, ei teksti.

Voiko kuvaan kirjoittaa jotenkin suoraan tekstiä vb:ssa?

Antti Laaksonen [19.05.2003 22:49:00]

#

Teksti pitää tulostaa itse kuvaan, mikä onnistuu kuvakehyksen omalla Print-komennolla. Parametriksi annetaan tulostettava teksti. Print tulostaa aina rivin kerrallaan, paitsi silloin kun perässä on puolipiste, jolloin tulostusta jatketaan seuraavan merkin kohdalta.

Private Sub Form_Activate()
    Picture1.Print "Ensimmäinen rivi."
    Picture1.Print "Toinen rivi."
    Picture1.Print "Tämä rivi ";
    Picture1.Print "jatkuu puolipisteen ansiosta."
End Sub

Tämä toteutustapa on kuitenkin paljon mutkikkaampi kuin tekstikentän käyttäminen, sillä mm. rivityksestä täytyy huolehtia itse. Picture1.TextWidth ja Picture1.TextHeight kertovat, kuinka monta pikseliä teksti vie tilaa valitulla fontilla.

eakem [21.05.2003 22:06:05]

#

En oikein pääse eteenpäin. Kokeilin seuraavaa:

Private Sub Command3_Click()
 Picture1.Print "kukkuu"
 Printer.PaintPicture Picture1.Picture, 0, 0
 Printer.EndDoc
End Sub

Kuvakehykseen tulee teksti "kukkuu", mutta kirjoittimelle ei tulostu mitään tekstiä. Tärkeää olisi saada teksti pystysuoraan nimenomaan kirjoittimelle. (Se pystysuoraan on tietysti vielä oma lukunsa).

Antti Laaksonen [21.05.2003 23:06:31]

#

Picture1.Picture sisältää kuvakehykseen ladatun kuvan ja Picture1.Image sisältää kuvakehykseen piirretyn (tai tulostetun) grafiikan. Toimisiko, jos vaihdat keskimmäisen rivin muotoon:

Printer.PaintPicture Picture1.Image, 0, 0

eakem [21.05.2003 23:22:52]

#

Joo, se auttoi. Kiitos. Voi olla että palaan asiaan vielä tuon kuvan kääntämisen tiimoilta.

Vastaus

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

Tietoa sivustosta