Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138

    formattare stampa come textbox visual basic 6

    salve. ho un textbox multiline dove ho inserito del testo. se volessi stamparlo e far si che nella stampa venga formattato in maniera identica alla textbox come posso fare? grazie 1000

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non è semplice.

    Dovrai stampare riga per riga, ma in più dovrai tener conto della larghezza del textbox per calcolare, all'interno della riga, il numero di caratteri che contiene.

    Qui trovi un esempio avanzato per formattare il testo (sinistra, destra, centro) o giustificarlo che stampa sia su TextBox che su Printer.

    Cerca: AllineaTesto
    http://nuke.vbcorner.net/Progetti/VB...9/Default.aspx

    Magari il codice ti può essere utile per ottenere quello che vuoi tu.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    138
    grazie gibra come sempre.. per me è molto complesso, almeno per ora, quel codice. se io ho per esempio un textbox con ammettiamo 80 caratteri tra parole e spazi. voglio che nella mia stampa finale su a 4 il risultato della textbox sia diviso in 4 righe da 20 caratteri l'una come devo fare?
    non riesco a capire come fare per selezionare parte della textbox ad esempio i caratteri dal 20 al 40.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Questa richiesta è totalmente diversa dalla prima.

    Comunque, il codice è più o meno quello del mio progetto.
    Renditi conto che non è semplice fare quello che vuoi, anche se a prima vista parrebbe esserlo.
    Se devi fare una routine generica (coem credo tu voglia) devi tener conto di tutti i fattori che entrano in gioco, in particolar modo:
    - tipo di carattere usato
    - dimensione dello stesso

    Ad esempio, sembrerebbe semplice, a prima vista, fare quello che vuoi.
    Basterebbe usare le funzioni stringa per ricavare i 20 caratteri.
    Ad esempio questo codice fa quello che hai chiesto (ma stampa su un PictureBox):
    codice:
        Dim i As Long
        Dim testo As String
        Dim riga As String
        testo = Text1.Text ' la stringa di 80 caratteri
        Const larg = 20 ' numero di caratteri da stampare per riga
        
        Picture1.Print ' stampo una riga vuota
        For i = 1 To Len(testo) Step larg
            riga = Mid(testo, i, larg)
            Picture1.Print riga
        Next i
    Però non è corretto! Se lo provi ti accorgerai che spezza le parole.
    Quindi torniamo al codice del mio progetto AllineaTesto .

    Sappilo, non è così banale come sembra.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.