Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    vb6 - pulsante con sottomenu in toolbar

    a fatica, ma vado avanti e riscontro sempre nuovi problemi che
    vi espongo:
    ho deciso di popolare la toolbar del mio form a run-time
    e a tale scopo ho utilizzato il seguente codice:

    Sub ImpostazioniToolbar()
    ' pulsante normale
    Toolbar1.Buttons.Add 1, "primo", , 0, 4
    Toolbar1.Buttons(1).ToolTipText = "esce"
    ' menu
    Toolbar1.Buttons.Add 2, "menu", , 5, 1
    Toolbar1.Buttons(2).ButtonMenus.Add 1, , "prima voce"
    Toolbar1.Buttons(2).ButtonMenus.Add 2, , "numero 2"
    Toolbar1.Buttons(2).ToolTipText = "menu"
    ' spazio
    Toolbar1.Buttons.Add 3, , , 4, 0
    Toolbar1.Buttons(3).Width = 1000
    ' pulsante normale
    Toolbar1.Buttons.Add 4, "quarto", , 0, 8
    Toolbar1.Buttons(4).ToolTipText = "strumenti"
    End Sub

    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
    Case "primo"
    MsgBox "e' stato premuto il primo tasto"
    Case "menu"
    MsgBox "hai premuto il tatso 2"
    End Select
    End Sub

    Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
    Select Case ButtonMenu.Parent.Key
    Case "menu"
    Select Case ButtonMenu.Index
    Case 1
    MsgBox "prima voce di menu"
    Case 2
    MsgBox "voce sottomenu 2"
    End Select
    End Select
    End Sub


    come si evince il secondo pulsante e' in realta' un menu' a discesa con due voci

    problema: e' possibile, e come fare, esplodere il sottomenu del secondo pulsante
    con il click nella parte immagine, invece che nella zona ad hoc

    grazie anticipate

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Invece di creare i 2 pulsanti per il menu a discesa, usa un vero e proprio menu con 2 voci e lo chiami ad esempio menubar, e lo imposti Visible=False così che non si veda,
    poi lo richiami dall'evento ButtonClick che diventerà così:

    codice:
    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
        Select Case Button.Key
        Case "primo"
            MsgBox "e' stato premuto il primo tasto"
        Case "menu"
            'MsgBox "hai premuto il tatso 2"
            
            Rem apro il menu
            PopupMenu menubar, , Button.Left, Toolbar1.Height
        End Select
    End Sub
    Ovviamente l'evento Toolbar1_ButtonMenuClick non servirà più a niente.


  3. #3

    vb6 - pulsante con sottomenu in toolbar

    grazie gibra
    gentile e veloce come sempre
    provero' domani e ti faro' sapere

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ora mi è venuto in mente che (senza creare i menu normali) potresti anche utilizzare i tuoi button-menu chiamando l'evento ButtonMenuClick dall'evento ButtonClick .
    Dovrebbe funzionare...


  5. #5
    ciao gibra
    ho provato con il tuo suggerimento e funziona perfettamente
    adesso ho visto la tua nuova risposta che mi riservo di provare
    ancora grazie

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.