Newsgroup: it.comp.programmare.win32
Titolo: Domanda banale :(

Scusate della domanda banale, ma sono alle prime armi.
Allora... ho creato una finestra con CFrameWnd e fin qui tutto bene.
Ho inserito un menu, ma ho due problemini.
1) Le voci del menu, a parte exit che ha un ID tutto suo, risultano non attive,
come faccio ad attivarle?
2) Quando scelgo una voce voglio che si attivi una certa funzione, come faccio?
Ho usato OnCommand, ma cosi' devo interpretare tutti i comandi, anche l'uscita,
come si fa? Perche' per ora uso exit(0), ma credo che sia un metodo barbaro.
Premetto che non uso le funzioni grafiche del Visual C++, ma edito i testi da
solo, quindi eccovi l'rc :)
***
#include "resource.h"
#include <afxwin.h>
ID_Finestra ICON DISCARDABLE  "PROVA02.ICO"
ID_Finestra MENU DISCARDABLE
{
	POPUP "&File"
  {
		MENUITEM "&New", ID_Nuova
    MENUITEM SEPARATOR
    MENUITEM "&Exit", ID_APP_EXIT
  }
  MENUITEM "&?", ID_BWHelp
}
STRINGTABLE PRELOAD DISCARDABLE
{
	ID_Finestra "The Babylon War Project"	
}
***
Non ci sono errori, quindi manca qualcosa, ma nel MSDN non ho trovato niente
^_^;
Grazie dell'aiuto.
--
"Piu' indietro si guarda, e piu' avanti e' probabile vedere."
 - Winston Churchill
---------------------------------------------------------------------
            "The Babylon Project" e "Fantasy - Story"
               ora li trovi su Yakumo Home Page:
 
http://www.yakumo.web.com/
---------------------------------------------------------------------
     E-mail: 
yak...@freemail.it
              ICQ: 18771242
---------------------------------------------------------------------
 Yakumo, dei mitici The Lagged Angels... a Skara Brae, Europa (UO)
---------------------------------------------------------------------

 solo, quindi eccovi l'rc :)
Le risorse non c'entrano... e` il framework che usi che si "accorge" che
non hai definito una funzione di gestione per un determinato ID, e ti
disattiva la voce.
BTW, non capisco perche` non vuoi usare le funzioni grafiche del Visual
C++. Praticamente non usi le uniche cose che lo distinguono dagli altri
IDE! :)
... An elephant is a mouse with an operating system.
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

... An elephant is a mouse with an operating system.
LOL :)
Grazie delle info.
--
"Un anello e la catena e' gia' fatta"
------------------------------------------------------------------------
      "The Babylon Project"         |          "Fantasy - Story"
http://members.xoom.it/Babylon_prj/
 | 
http://members.xoom.it/Fantastory/
------------------------------------------------------------------------
     E-mail: 
yak...@freemail.it
              ICQ: 18771242
------------------------------------------------------------------------
 Yakumo, dei mitici The Lagged Angels, Europa (UO)... offline per ora :(
------------------------------------------------------------------------

 Si puo' fare senza il ClassWizard? (Cioe', come si fa? :)
Nell'implementazione della tua classe devi porre (il wizard
le pone per te) due macro:
BEGIN_MESSAGE_MAP( CTuaClasse, CSuaClasseBase )
    // e qui in mezzo, la mappa dei messaggi
END_MESSAGE_MAP( )
Nota che CSuaClasseBase deve essere a sua volta derivata
da CCmdTarget (di solito indirettamente), cioe` essere a
sua volta in grado di ricevere comandi.
Entro la definizione della tua classe -- cioe` fra
class CTuaClasse {
e il successivo
};
e con accessibilita` public, devi porre la macro
DECLARE_MESSAGE_MAP( )
La mappa dei comandi e` costituita da una riga come
segue per ciascun comando che vuoi gestire:
    ON_COMMAND(ID_ILCOMANDO, OnIlComando )
dove:
    afx_msg void OnIlComando( );
e` una funzione-membro di CTuaClasse.
Di default, se un comando e` gestito lo vedrai come
sempre abilitato (sul menu/toolbar); per un controllo
piu` fine, vedi la macro ON_UPDATE_COMMAND_UI,
che ti permette di determinare lo stato di abilitazione
(e alcuni altri dettagli) in funzione dello stato generale
del tuo programma.
Alex