Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492

    RichTextBox e parti in grassetto

    salve a tutti
    leggendo un pò su questo forum, ho letto che la scelta migliore per poter selezionare parti di un testo e renderle di carattere e colore differente rispetto al resto del testo è usando il componente RichTextBox.
    Qualcuno potrebbe postare qualche esempio in quanto non riesco a selezionare solo alcune parole e renderle in grassetto?

    Ringrazio tutti per le info

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    zorro77,
    posto un esempio di ricerca di una frase nel testo contenuto in un controllo RTB, se la frase completa è presente viene evidenziata e nerettata.
    codice:
    Private Sub Command1_Click()
            
        Dim Where As Long
        Dim Message As String, Title As String, _
        Default As String, Search As String
        
        ' Imposta il messaggio:
        Message = "Immettere il testo da cercare:"
        ' Imposta il titolo:
        Title = "Cerca una frase - Prova RTB Cerca frase."
        ' Imposta il valore predefinito:
        Default = ""
        ' Visualizza il messaggio, il titolo e il valore predefinito.
        Search = InputBox(Message, Title, Default)
    
        Where = 0
    
        ' Cerca la frase nel testo:
            Where = InStrRev(Form1.RichTextBox1.Text, Search, -1, vbTextCompare)
            ' Se la trova, imposta l'inizio della selezione e la lunghezza:
            If Where > 0 Then
                With Form1.RichTextBox1
                    .SetFocus
                    .SelStart = Where - 1
                    .SelLength = Len(Search)
                    ' Neretta la frase trovata:
                    .SelBold = True
                    .HideSelection = False
                End With
            End If
    End Sub
    LM

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Grazie mille per l'info

    Nel frattempo avevo trovata altra soluzione, aprendo un file .rtf, già impostato con i grassetti e font

    codice:
    RichTextBox1.LoadFile App.path & "\Rtf\mio_file.rtf"
    
    RichTextBox1.Text = Replace(RichTextBox1.Text, "nome_da_sostituire", "nuovo_nome")
    Però mi capita che se apro direttamente il file e lo metto in un RichTextBox, ho tutti i grassetti e font, se però faccio un replace, in quanto molti RichTextBox devono contenere lo stesso file solo con alcuni nomi cambiati, non ho più tutti i grassetti e formattazione del file originario


    Sapresti darmi un suggerimento su come evitare ciò?

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    In proposito ti consiglio di leggere l'MSDN, in particolare impostazione del tipoFile:
    Quando si carica un file con il metodo LoadFile, il contenuto del file caricato sostituisce interamente il contenuto del controllo RichTextBox. Pertanto, i valori delle proprietà Text e RTFText risulteranno modificati.
    LM

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    ma infatti quando faccio il load mi sta bene, perchè mi prende l'intero contenuto del file .rtf e me lo mette nel RichTextBox, è quando faccio il replace che mi effettua la sostituzione ma mi perde la formattazione del file originale .rtf quando mi va ascrivere nella RichTextBox

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.