Creazione editor per textbox

di il
5 risposte

Creazione editor per textbox

Nel mio ufficio si utilizza un database realizzato da me con Access 2016.

Di solito per formattare del testo in una textbox utilizzo il formato RTF. Quindi vado a selezionare il testo che ho appena scritto e vado a modificare la sua formattazione grazie all'editor che mi viene proposto a schermo (allineamento, grassetto, corsivo, dimensioni, ecc...)

Siccome questa metodologia non tutti gli appartenenti del mio ufficio la conoscono (dato che non è così intuitiva), pensavo che sarebbe il massimo realizzare un vero e proprio editor così come si trova nei vari programmi di video scrittura.

Quindi mi chiedevo se si potessero disegnare i relativi button (G, C, S, allineamento dx, sx, centrale e magari colore del font). Dunque, ipotizzando di scrivere:

"Prova di scrittura" e "scrittura" vorrei che fosse scritto in grassetto+corsivo, farei:

"Prova di" (premo i button G e C) "scrittura"

Così risulterebbe più semplice per tutti quelli che andranno a lavorare al database.

Credete che sia possibile? I test che ho fatto risultano vani. Riesco solo a modificare tutto il testo scritto o in grassetto o in corsivo o sottolineato, ecc.... ma un mix non mi riesce.

5 Risposte

  • Re: Creazione editor per textbox

    Tu sai come si traduce nel Testo reale l'inserimento del [Bold] ad esempio in una sezione di testo...?
    Inserendo i TAG del Bold...[<b>...tuo testo...</b>] oppure <strong>

    Cosa significa...? Che a parte inserire il Button dovrai rilevare quanto selezionato ed a quello applicare, se serve, i TAG, e quì viene il bello.

    Sembra facile... ma non è proprio così banale perchè purtroppo il controllo TextBox non restituisce il PlainText ... e purtroppo nel momento in cui la TextBox perde il Focus perde anche la Selezione, e di conseguenza i riferimenti del testo da Formattare...

    Sulla selezione, basta memorizzare la selezione prima di perdere il Focus..., suggerisco di usare l'evento Exit e rilevare [SelStart] e [SelLenght]... tuttavia serve fare MOLTA attenzione in quanto questi 2 parametri sono relavivi al PlainText, quindi se rilevi il contenuto della TextBox che invece contiene i TAGS... fai un disastro.

    Es:
    Testo=Pippo <---Questo è PlainText
    Testo=<b>P</b>ippo <--- questo è formattato

    Se selezioni la [o] finale perchè la vuoi Corsiva, rilevi SelStart=5 e SelLenght=1, ma TextBox restituisce [ <b>P</b>ippo ] e la posizione 5,1 è [<] da cui fai il disatro che dicevo.

    Ne consegue che devi crearti delle Routine di Strip dei TAGS, ma devi memorizzarli, perchè poi devi riapplicarli, altrimenti ne applichi solo 1 alla volta... senza tener conto che devi inibire la riapplicazione del Bold se è già applicato... se vuoi inserirne più di 1 per volta.

    Insomma, tutto è fattibile, ma serve una discreta padronanza tecnica... non sufficiente ma discreta.
  • Re: Creazione editor per textbox

    Ok grazie. Molto esaustivo la tua risposta. Ho l'impressione che devo rinunciarci e lasciar così come sono le cose.

    C'è un modo, a questo punto, per attivare l'editor proposto a schermo attraverso un button senza dover selezionare sempre il testo?
  • Re: Creazione editor per textbox

    alexps81 ha scritto:


    Ok grazie. Molto esaustivo la tua risposta. Ho l'impressione che devo rinunciarci e lasciar così come sono le cose.

    C'è un modo, a questo punto, per attivare l'editor proposto a schermo attraverso un button senza dover selezionare sempre il testo?
    Cosa formatti poi se non hai selezionato nulla...?
  • Re: Creazione editor per textbox

    Ho notato che posso anche fare doppio click nella textbox e si apre l'editor per la formazione. Infatti posso scegliere magari il Grassetto e appena inizio a scrivere il testo si compila in grassetto. Quindi pensavo di far comparire l'editor al click fldi un button
  • Re: Creazione editor per textbox

    Come preferisci... da codice, io sappia, non esiste modo per fare lo show della floating bar, che non è nemmeno tra le CommandBar Popup... quindi credo sia una finestra nativa di Access.
Devi accedere o registrarti per scrivere nel forum
5 risposte