tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
271
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cooper111 Tutorials.de Gastzugang
    hallo ,


    Ich bin ein Anfänger in VB und möchte ein Urlaubsantrag Programm schreiben.
    Ich habe bereits eine Form mit jeweiligen Textboxen .Nun möchte ich den Inhalt der textboxen
    ausdrucken. Möchte aber das der Inhalt der textboxen auf eine bestimmte stelle des Papiers ausgedrckt wird mit einer jeweiligen Formatierung.

    Nun meine Frage : Gibt es ein Tutorial zum Drucken und Formatieren des Textes ?
     

  2. #2
    Avatar von ANI
    ANI ANI ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Ort
    Bremervörde (Deutschland)
    Beiträge
    141
    Hallo cooper111,

    habe dies mit einer Picturebox und einem API-Befehl gelöst.

    ' frmMain ist der Name Deines Formulares, wo Du die Textbox hast
    ' txtbox ist der Name Deiner Textbox
    ' frmPrint ist der Name des Formulares, wo ich die Picturebox für den Ausdruck habe

    Codeauszug:
    Den kompletten Code in das Formular kopieren, wo Du die Picturebox hast.
    ___________________________________________________________________
    Option Explicit

    'Nicht wundern. Zwei mal Sendmessage ist schon ok.
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wp As Long, Ip As Any) As Long
    Private Declare Function SendMessage1 Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long

    Private Const EM_GETLINE = &HC4
    Private Const EM_GETLINECOUNT = &HBA
    Private Const MAX_CHAR_PER_LINE = &H100

    Function PageCtnProc(inControl As Control) As Integer

    Dim Max&, X&, pxStart&

    pxStart = 150

    Max = SendMessage(frmMain.txtbox.hwnd, EM_GETLINECOUNT, 0, 0&) - 1
    inControl.Cls

    inControl.Font.Size = 11
    inControl.Font.Bold = False

    For X = 0 To Max
    inControl.CurrentX = ((5 - pxStart) * 480)
    inControl.CurrentY = ((5 - pxStart) * 480) + inControl.TextHeight("H") * (X + 5)
    inControl.Print GetLine(frmMain.txtbox, X)
    DoEvents
    Next X

    End Function

    Function GetLine(Text As TextBox, ByVal Line&) As String
    Dim Lo%, Hi%, Result&, Buff$

    Lo = MAX_CHAR_PER_LINE And &HFF
    Hi = Int(MAX_CHAR_PER_LINE / &H100)
    Buff = Chr$(Lo) & Chr$(Hi) & Space$(MAX_CHAR_PER_LINE - 2)

    Result = SendMessage1(Text.hwnd, EM_GETLINE, Line, Buff)
    GetLine = Left$(Buff, Result)
    End Function

    Private Sub Form_Load()
    ' picPreview Name der Picturepox

    PageCtnProc Me.picPreview

    End Sub
    ___________________________________________________________________

    Aufrufen des Formulares tätige ich mit folgenden Code:

    frmPrint.Show 1, Me

    Probier dies mal aus. Sicherlich musst Du dies noch für Dich umstricken.
    Vielleicht konnte ich Dir helfen.

    Gruß ANI
     

Ähnliche Themen

  1. Picturebox drucken mit Inhalt
    Von Alaitoc im Forum .NET Grafik und Sound
    Antworten: 0
    Letzter Beitrag: 07.05.08, 15:20
  2. [VB 2005.net] Inhalt einer Picturebox / Panels drucken
    Von Alaitoc im Forum .NET Grafik und Sound
    Antworten: 3
    Letzter Beitrag: 05.02.08, 11:37
  3. kompletten GUI-Inhalt drucken
    Von DjMik im Forum Borland CBuilder und VCL
    Antworten: 6
    Letzter Beitrag: 25.12.07, 10:21
  4. Inhalt von CListCtrl drucken
    Von Indian im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 01.09.04, 13:35
  5. Inhalt einer PictureBox drucken...
    Von daDom im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 01.06.04, 00:31