Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    21

    [VB6] visibilità immagini nei menù

    Ciao, ho inserito in un programma un menu con le immagini accanto alle varie voci. Il tutto funziona però l'idea era di richiamare tale menu solo da tasto destro per comodità quindi rendere invisibile quello nella barra in alto. In questo modo però, da tasto destro ho il menu ma le icone non si vedono. E' possibile avere una visualizzazione completa senza dover rendere visibile la barra di menu?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB6] visibilità immagini nei menù

    Originariamente inviato da Rycare
    Ciao, ho inserito in un programma un menu con le immagini accanto alle varie voci. Il tutto funziona però l'idea era di richiamare tale menu solo da tasto destro per comodità quindi rendere invisibile quello nella barra in alto. In questo modo però, da tasto destro ho il menu ma le icone non si vedono. E' possibile avere una visualizzazione completa senza dover rendere visibile la barra di menu?

    Grazie
    In teoria è possibile ma tutto dipende dal 'come' hai inserito le immagini e come sono gestite.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    21
    Posso postare il codice preso da una ricerca in rete e leggermente modificato da me.
    Ho provato un paio di versioni con e senza la imagelist. alla fine ho scelto la seconda perchè con l'imagelist era tutto molto astruso e non valeva la pena la mole di codice anche perchè mi dava errori nelle dichiarazioni pur essendo per vb6.

    Se dall'editor di menu metto come non visibile il menu principale non vedo più le immagini quando lo richiamo da tasto destro, ma tutto funziona perfettamente se lo rendo visibile

    dichiarazioni
    codice:
    Option Explicit 
    Private Const MF_BYPOSITION = &H400& 
    Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long 
    Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long 
    Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long 
    Private imgBitmaps(4) As IPictureDisp
    quindi la routine
    codice:
    private sub MnuPic_click
        Dim hSubMenu As Long
        Set imgBitmaps(0) = Image1(0).Picture
        Set imgBitmaps(1) = Image1(3).Picture
        Set imgBitmaps(2) = Image1(4).Picture
        Set imgBitmaps(3) = Image1(1).Picture
        Set imgBitmaps(4) = Image1(2).Picture
        hSubMenu = GetSubMenu(GetMenu(Me.hwnd), 0)
        Call SetMenuItemBitmaps(hSubMenu, 0, MF_BYPOSITION, imgBitmaps(0).Handle, imgBitmaps(0).Handle)
        Call SetMenuItemBitmaps(hSubMenu, 1, MF_BYPOSITION, imgBitmaps(1).Handle, imgBitmaps(1).Handle)
        Call SetMenuItemBitmaps(hSubMenu, 2, MF_BYPOSITION, imgBitmaps(2).Handle, imgBitmaps(2).Handle)
        Call SetMenuItemBitmaps(hSubMenu, 3, MF_BYPOSITION, imgBitmaps(3).Handle, imgBitmaps(3).Handle)
        Call SetMenuItemBitmaps(hSubMenu, 4, MF_BYPOSITION, imgBitmaps(4).Handle, imgBitmaps(4).Handle)
    end sub
    richiamata dal form.load
    codice:
    Call MnuPic_click

    Ps: ho un banner pubblicitario a sfondo trasparente in alto a sinistra nel forum che non vuole sparire. E' normale?

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.