Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    136

    [C++] - Attivare e disattivare una voce del menu

    ho un form con un menu.
    vorrei poter attivare e disattivare una voce del menu.

    come devo fare ?


    Grazie!

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    136
    ottimo!
    grazie per il link!

    solo che mi da un errore che non capisco proprio!

    il mio codice è questo :

    codice:
    void CMainFrame::DisableMenu() 
    {
    	HMENU			hMenu		;
    
    	hMenu = GetMenu(m_hWnd);
    
    	EnableMenuItem(hMenu, 1, MF_BYPOSITION | MF_GRAYED);
    }
    L'errore che mi da è :

    error C2660: 'GetMenu' : function does not take 1 parameters

    non capisco proprio perchè!
    devo includere qualche libreria o file header particolare?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da emi81
    L'errore che mi da è :

    error C2660: 'GetMenu' : function does not take 1 parameters

    non capisco proprio perchè!
    Sicuramente stai lavorando con MFC. Innanzitutto verifica se in MFC (che non conosco) ci sono classi apposite e più comode per gestire i menù.

    Come ripeto, non conosco MFC, ma "a spanne" posso solo immaginare che GetMenu sia un metodo disponibile nella tua classe (magari ereditato ...) e se vuoi chiamare veramente la API Win32 GetMenu devi fare ::GetMenu (:: è l'operatore di scope resolution).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    codice:
    void CMainFrame::DisableMenu() 
    {
    	HMENU hMenu;
    	hMenu = ::GetMenu(m_hWnd);
    	EnableMenuItem(hMenu, 1, MF_BYPOSITION | MF_GRAYED);
    }
    oppure
    codice:
    void CMainFrame::DisableMenu() 
    {
    	HMENU hMenu;
    	hMenu = GetMenu();
    	EnableMenuItem(hMenu, 1, MF_BYPOSITION | MF_GRAYED);
    }
    ---EDIT---
    Troppo tardi...
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    136
    ok, grazie!
    domani provo a vedere e poi vi faccio sapere!


    Grazie ancora!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    136
    fatto!
    funziona correttamente la soluzione :

    codice:
    void CMainFrame::DisableMenu() 
    {
    	HMENU hMenu;
    	hMenu = ::GetMenu(m_hWnd);
    	EnableMenuItem(hMenu, 1, MF_BYPOSITION | MF_GRAYED);
    }

    Grazie a tutti!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.