Campo di testo formattato RTF

di il
5 risposte

Campo di testo formattato RTF

Buonasera,
ho realizzato un programma per una funzione di Help sulla traccia di quelli standard e diciamo che mi soddisfa la sua funzionalità.
E' presente una casella di testo dove è possibile inserire una parola/frase che tramite il comando di ricerca viene attivato un codice che ricerca nel campo RTF (contiene la descrizione dell'Help) e vengono presentati tutti i record in cui viene soddisfatta la ricerca.
Vorrei che il testo presentato riporti la parola/frase evidenziato con la formatta ad esempio in grassetto, sottolineata, in rosso accesso ecc... .
Ho provato ma senza successo.
Qualche input...Grazie

5 Risposte

  • Re: Campo di testo formattato RTF

    Ciao.
    Per la ricerca che cosa hai usato? Vba? L unica cosa che mi viene in mente, ma che al momento dovrei testare, è che ricarichi in una variabile tutto il testo, applichi la condizione alla parte del testo che desideri e poi lo rivisualizzi nella text box. Ma sicuramente c è un modo migliore.
    Ma il testo è un campo memo?
  • Re: Campo di testo formattato RTF

    Buongiorno, Sì uso VBA e come dicevo il campo presenta formato testo RTF ed è con tipo dati testo lungo.
  • Re: Campo di testo formattato RTF

    Serve fare una considerazione INIZIALE importante.
    Il Campo su cui fai la ricerca, ha già qualche Formattazione, oppure il Controllo associato è RTF ma il campo è PLAINTEXT...?
    Questo perchè se il testo è PLAINTTEXT non puoi usare il campo originale, di conseguenza nemmeno il Controllo originale non è una buona idea... in quanto perdi traccia di quello che fai e rimuovere poi l'evidenzia della ricerca è poco intelligente, quindi devi fare qualche cosa a RUNTIME appoggiandoti ad un Controllo "TEMPORANEO" da valorizzare al momento.
    Quì poi da capire se sei in Maschera SINGOLA o CONTINUA... cambia leggermente la cosa ma non tanto.

    Es, se cerchi PIPPO, conviene prendere il contenuto del Controllo Associato e sfruttare il REPLACE:
    
    Dim TestoDaCercare As String
    TestoDaCercare="PIPPO"
    Me!ControlloRicercaEvidenziata=Replace(Me!ControlloOriginale,TestoDaCercare,"<font color=red>" & TestoDaCercare & "</font> )
    Serve appoggiarsi a questo controllo in quanto se fai più ricerche sporcheresti il Valore del campo originale e poi non è semplice togliere la formattazione.

    Se le ricerche sono Multiple, la cosa si complica, io userei una COLLECTION, meglio realizzare una Classe specifica per l'applicazione della ricerca se vuoi COLORI DIVERSI o altro..., per gestire un codice un poco più funzionale anche come STACK ma da quì serve capire meglio quanto hai autonomia di scrittura codice... ma meglio prima capire l'esigenza giusta per non complicare le cose inutilmente.
  • Re: Campo di testo formattato RTF

    Buonasera Alex,
    La mia conoscenza di scrittura di codice non è adeguata per affrontare un argomento per me così complesso, credo che lascerò il mio Help così che mi ritengo abbastanza soddisfatto.
    Grazie del tempo che ci dedicate.
    Saluti.
  • Re: Campo di testo formattato RTF

    Giusto per non lasciare cadere la cosa, in 2 minuti ho buttato giù questo DEMO che puoi provare a guardare e capire come funziona.

    Banalmente, aprendolo si apre una maschera nella quale si trova un Testo, inizio dei "Promessi Sposi", e 3 criteri di ricerca Testo già precompilati.
    Attivando il FLAG viene implementata la RICERCA e di conseguenza la formattazione della visualizzazione nella TextBox di Dx.

    Ti dice quante ricorrenze sono state trovate e le evidenzia ognuna in colore differente, nel codice vedi come eventualmente differenziare i colori.

    Quì puoi scaricarlo:


    Ovviamente è molto grezzo senza attenzione agli errori, ma di base ha tutti i criteri concettuali per sviluppare un lavoro complesso e concreto.
Devi accedere o registrarti per scrivere nel forum
5 risposte