Pomoc s VB

Programovacie jazyky, rady, poradňa...
MrGizmof
King
King
Používateľov profilový obrázok
Príspevky: 1799
Registrovaný: 22 feb 2008, 14:06
Bydlisko: Pod mostom

Pomoc s VB

Príspevok od používateľa MrGizmof »

Zdravím, potreboval by som pomôcť s 2 vecami.
Chcem s RitchTextBoxu vytlačiť to čo v ňom je, mám všetky print dialogy a v menu mám Tlačiť a Náhľad pred tlačou. Ku každému dialogu mam priradený PrintDocument ale ani za svet netuším ako tam napchať obsah RitchTextBoxu.
Druhá vec je.. ako doň vložiť obrázok? Ako viem ho tam vložiť tak že najprv cez OpenFileDialog ho nájdem v pc, potom sa vloží do imageboxu a odtial to rtb ale to mi pripadá sprosté :D .
Visual Studio 2010
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Pomoc s VB

Príspevok od používateľa manager666 »

1.
Pokročilá tlač je trochu komplikovanejšia záležitosť. Všetko si musíš "nakresliť" pomocou GDI+, po spustení tlače sa obsluhuje procedúra Print_PrintPage, kde je samotný kód tlače. Musíš si ošetriť veľkosť strany, orientáciu, rozdeliť tlač na viac stránok, jednoducho všetko.
Najľahšia cesta je využiť vytvorené komponenty od tretích strán.
Viac informácii nájdeš tu

2.
Stačí využiť schránku:

Kód: Vybrať všetko

Dim img As Image
img = Image.FromFile("UMIESTNENIE OBRAZKU")
Clipboard.SetImage(img)
RichTextBox1.Paste()
MrGizmof
King
King
Používateľov profilový obrázok
Príspevky: 1799
Registrovaný: 22 feb 2008, 14:06
Bydlisko: Pod mostom

Re: Pomoc s VB

Príspevok od používateľa MrGizmof »

1. No niečo také som videl aj priamo na webe MS, len mi to pripadalo zložité na čas, musel by som prepisovať každý RTB na objekt ktorý som si tam hodil.... takže buď to spravím tak alebo sa na to vyprdnem... ale skôr to druhé, je to len blbina do školy a už aj tak tam je toho dosť :D .

2. Veľká vďaka, takže teraz stačí ak to k tomu čo tam mám (OpenFileDialog) toto hodím a umiestnenie obrázku nastavím ako cestu ktorá mi tam vylezie... len teraz už neviem ako sa tom nadáva a pozerať to takto neskoro je na nervy :D.
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: Pomoc s VB

Príspevok od používateľa pipiak »

1. Je aj nejaky sposob ako cely dokument konvertnut do XPS a nasledne lahko vytlacit
MrGizmof
King
King
Používateľov profilový obrázok
Príspevky: 1799
Registrovaný: 22 feb 2008, 14:06
Bydlisko: Pod mostom

Re: Pomoc s VB

Príspevok od používateľa MrGizmof »

1. Toto som spravil provizórne zatiaľ.... úplne blbé, bez nastavení a funguje len na default tlačiareň :D.. no a netlačí to obrázky.

Kód: Vybrať všetko

WebBrowser1.DocumentText = RichTextBox1.Text
WebBrowser1.Print()
Toto musím ešte nejak doriešiť...

2.

Kód: Vybrať všetko

OpenFileDialog1.ShowDialog
Dim img As Image
img = Image.FromFile("OpenFileDialog1.FileName")
Clipboard.SetImage(img)
RichTextBox1.Paste()
K+ máš za to :D
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Pomoc s VB

Príspevok od používateľa manager666 »

k tej 2ke:
Nemas osetreny stav, ked uzivatel zrusi dialog...daj si tam na to podmienku, aby nenastavala vynimka...
A dalej ako spravny programator, ktory mysli na vsetko, by si si mal ulozit to, co predtym bolo v schranke a po ukonceni prace so schrankou to opat obnovit...Ako uzivatelovi by sa mi nepacilo, ak si skopirujem nejaky text do schranky, vlozim obrazok a tym pridem o svoj skopirovany text...
MrGizmof
King
King
Používateľov profilový obrázok
Príspevky: 1799
Registrovaný: 22 feb 2008, 14:06
Bydlisko: Pod mostom

Re: Pomoc s VB

Príspevok od používateľa MrGizmof »

To ak zruší dialóg som tam pridal, vlastne som k tomu kódu hore len skopíroval to čo som mal pri otváraní rtf súboru. To s tou schránkou ma fakt nenapadlo... ale už som to tam pridal, otestoval a funguje to :) .

Kód: Vybrať všetko

      
OpenFileDialog1.ShowDialog()
Dim clip As DataObject
Dim img As Image
clip = Clipboard.GetDataObject
img = Image.FromFile(OpenFileDialog1.FileName)
Clipboard.SetImage(img)
RichTextBox1.Paste()
Clipboard.SetDataObject(clip)
Napísať odpoveď