Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6 - RichTexBox e PopupMenu.

    Il seguente codice funziona egregiamente in tutti i controlli Txt meno che con il controllo RichTexBox, come mai ?
    RichTexBox é incompatibile con i menù contestuali ?
    codice:
    'Funzione per il mouse per menù modifica:
    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _
    X As Single, Y As Single)
       
       ' Verifica se è stato premuto il pulsante destro del mouse:
       If Button = 2 Then
          ' Visualizza il menu Edit come menu di scelta rapida:
          PopupMenu FrmMAIN.mnuEdit
       End If
    
    End Sub
    Fatemi sapere se c'é un modo per superare l'inconveniente !
    Grazie per l'aiuto.
    LM

  2. #2
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, ma veramente che io sappia non c'è nessun inconveniente...
    non è che non ti sei accorto che hai messo il codice nell'evento MouseUp del Form???
    Per scripolo ho verificato e questo codice funziona!

    codice:
    Private Sub RichTextBox1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
       If Button = 2 Then
          ' Visualizza il menu Edit come menu di scelta rapida:
          PopupMenu mnuprova
       End If
    End Sub
    Jupy

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Jupy64 !
    Mi sorge un dubbio.
    Forse il codice postato deve essere modificato nel caso si utilizzi una matrice di controlli?
    Nella stessa Frm, però vi sono anche controlli Txt con Index(..) e in questi il menù contestuale funziona.
    L'inconveniente si verifica solo nei RTBox, se faccio click sul controllo non si apre il menù.
    LM

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    prova a postare il codice.. sinceramente ho fatto delle prove, anche utilizzando matrici del controllo.. e tutto funziona bene..
    Jupy

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Scusa Jupy64,
    vedo che l'evento lo hai focalizzato su RichTextBox1 , mentre io ho usato Form_MouseUp . Ripeto in questo modo funziona con i TextBox e non con RTBox, ma allora devo fare due eventi ?
    LM

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    :master:
    forse c'è un po' di confusione... se tu metti il codice nell'evento MouseUp del Form, allora l'evento si verificherà soltanto quanto clicchi sul form e basta... mentre se vuoi che il menù contestuale esca fuori solo quando clicchi con il destro sopra l'oggetto che ti interessa..allora devi mettere il codice nell'evento MouseUp dell'oggetto di tuo interesse e non del form.
    Jupy

  7. #7
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ma, certo devo rivedere la faccenda!
    Se fosse come dici, allora il menù non apparirebbe con un click sui TextBox (sono diverse decine, per contro é anche vero che non appare sui RTBox. Com'é questa faccenda?
    LM

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    mi sembra molto strano.. ho fatto delle prove ricreando il tuo scenario.. e ti assicuro che se metto il codice nell'evento MouseUp della form e non lo metto dentro l'evento MouseUp delle textBox o di qualsiasi altro oggetto.. non funzia! mi funziona solo se clicco sopra il form...
    non penso che abbiamo due versioni differenti di vb..e sinceramente è strano il comportamento che fa a te.. non è normale..
    Jupy

  9. #9
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ritorno sull'argomento dibattuto con Jupy64.
    Riassumo l'impostazione del progetto: FrmMDI con diversi Frm figli;
    Uso di matrici di controlli.
    Per chiamare il menù contestuale Edit ho dovuto implementare sulla FrmMDI il seguente codice che serve tutte i controlli TxtBox:
    codice:
    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
        ' Verifica se è stato premuto il pulsante destro del mouse:
        If Button = vbRightButton Then
            ' Visualizza il menu Edit come menu di scelta rapida:
            Me.PopupMenu mnuEdit, vbPopupMenuCenterAlign
        End If
    End Sub
    Mentre per i controlli RichTexBox ho dovuto implementare il seguente codice su ciascun modulo di Frm, cambiando naturalmente il riferimento ai controlli (RTBtx1_MouseUp, RTBtx1a_MouseUp, ...) ed inserendo nella dichiarazione Index As Integer:
    codice:
    Private Sub RTBtx1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = 2 Then
            Me.PopupMenu FrmMAIN.mnuEdit, vbPopupMenuCenterAlign
        End If
    End Sub
    LM

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.