Newsgroup: it.comp.lang.visual-basic
Titolo: [?] RichTextBox e dblclick

 End Sub
Con la RTB non riesco a fare la stessa cosa quanto sopra.... o prende
l'inizio o parte di essa o quanto sotto o...
Dato che il dblclick è essenziale nella mia applicazione e volendo passare
da TXTbox a RTB per via dei colori, qualche consiglio come fare o dove
trovare qualche dettaglio in merito?
GRAZZZZIE!
Anto
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 100,000 Newsgroups - 19 Different Servers! =-----

 fare o dove trovare qualche dettaglio in merito?
Quella che segue è una funzione che uso in un RTB per scoprire se l'utente
ha cliccato all'interno di un link. Bada bene, è un link "mio" che nulla
c'entra con internet, web, mail e compagnia bella e che prevede la sintassi
(anch'essa mia e liberamente inventata) "<<nome del link>>", il tutto
sottolineato.
La funzione, se il cursore "sta entro un link", restituisce la frase "nome
del link", viceversa rende "".
Vedi di comprederla e adattartela a piacimento. Rammenta che, come
suggeritoti da Zanna, le varie proprietà Sel* ti raccontano tutto del testo
sottostante, quindi il colore, il font, le caratteristiche. Tutto.
Function STES_CURSORE_IN_LINK(rtb As Object)
'   Se in link, rende il testo del link stesso (senza << e >>)
    STES_CURSORE_IN_LINK = ""
    salva_selstart = rtb.SelStart
    salva_sellenght = rtb.SelLength
    rtb.SelLength = 1
    If rtb.SelUnderline Then
'           Crt che segue il cursore sottolineato
        rtb.SelStart = salva_selstart - 1
        rtb.SelLength = 1
        comodo = rtb.SelUnderline
        rtb.SelStart = salva_selstart
        If comodo Then
'               Crt che segue e che precede il cursore sottolineato
'               Puo' essere all'interno di un link
'               Cerca "<<" di inizio link
            inizio_link = -1
            Do
                rtb.SelLength = 1
                If rtb.SelUnderline = 0 Then Exit Do
                If rtb.SelText = "<" Then
'                       Trovato primo (piu' a destra dei due <<) "<"
                    rtb.SelStart = rtb.SelStart - 1
                    rtb.SelLength = 1
                    If rtb.SelUnderline = 0 Then Exit Do
                    If rtb.SelText = "<" Then
'                           Trovato secondo (piu' a sinistra dei due <<) "<"
                        inizio_link = rtb.SelStart
                        Exit Do
                    End If
                End If
                If rtb.SelStart = 0 Then Exit Do
                rtb.SelStart = rtb.SelStart - 1
            Loop
            rtb.SelStart = salva_selstart
            If inizio_link >= 0 Then
'                   Cerca ">>" di fine link
                Do
                    rtb.SelLength = 1
                    If rtb.SelUnderline = 0 Then Exit Do
                    If rtb.SelText = ">" Then
'                           Trovato primo (piu' a sinistra dei >>) ">"
                        If rtb.SelStart = Len(rtb.Text) Then Exit Do
                        rtb.SelStart = rtb.SelStart + 1
                        rtb.SelLength = 1
                        If rtb.SelUnderline = 0 Then Exit Do
                        If rtb.SelText = ">" Then
'                               Trovato secondo (piu' a destra dei >>) ">"
                            STES_CURSORE_IN_LINK = Mid(rtb.Text, inizio_link
+ 3, rtb.SelStart - inizio_link - 3)
                            Exit Do
                        End If
                    End If
                    If rtb.SelStart = Len(rtb.Text) Then Exit Do
                    rtb.SelStart = rtb.SelStart + 1
                Loop
            End If
        End If
    End If
    rtb.SelStart = salva_selstart
    rtb.SelLength = salva_sellenght
End Function

 sottolineato.
Grazie della dritta....
me la studio e vedo se riesco a fare qualche cosa al proposito cercando di
capirla, ma mi sa complicatino rispetto al semplice della textbox dato che
non ho dei riferimenti da poter prendere per selezionare le parole nella
linea, solo gli spazi rispetto al click del mouse e alla parola
"sottostante"... accidenti alla RTB :-))
Grazie delle info!


 del mouse e alla parola "sottostante"... accidenti alla RTB :-))
No, a parte la differenza sintattica di istruzioni/proprietà, direi che non
c'è alcuna differenza.
Se gli spazi sono i tuoi riferimenti, li dovrai cercare rispetto alla
posizione corrente del cursore, anche in un TextBox. No?!

     If Trim(InfoClick) = vbCrLf Or Trim(InfoClick) = "" Then Exit Sub
Ammesso di avere questa linea nella txtbox:
CASA LUCA MARCO 1234567890 MILANO 21100 XXX YYY...
dblclick sopra la parola MARCO nella variabile trim(infoclick) mi ritrovo
"MARCO"
dblclick sopra il numero 21100 nella variabile trimmata mi ritrovo "21100"
ecc.. a dipendenza di dove si trova il mouse.
È che le posizioni delle parole cambiano e proprio solo il click sopra di
esse col mouse mi dovrebbe dare cosa mettere nella "infoclick".
Ho notato che nel tuo codice fai i riferimenti a simboli che hai ma
deducendolo dalla linea completa.
Non so se riferivi a questo.
Ciao e grazie
Anto.


 Non so se riferivi a questo.
I miei simboli delimitatori sono << e >>, per te sono gli spazi e/o i
vbCrLf. Si tratta di adattare...
Credo che tu debba spiegare meglio cosa vuoi ottenere... con un esempio
pratico.