Sto lavorando a un'applicazione MFC, che è diventata piuttosto complicata per anni e per diversi team di sviluppatori. Il file resource.h, che contiene tutte le mappature di comandi/messaggi, è cresciuto notevolmente nel tempo e ha molti problemi (come gli ID duplicati). Non sono competente con MFC, quindi la domanda potrebbe sembrare abbastanza stupida ...ID comando/messaggio MFC resource.h
I documenti MSDN menzionano che ID comando e ID messaggio non devono essere inferiori a WM_USER e WM_APP in modo corrispondente. Ho visto che la maggior parte degli ID di comando in resource.h generati da Visual Studio iniziano intorno a 100. Non dovrebbe causare interferenze con comandi e messaggi MFC/Windows, che si sovrappongono agli ID definiti dall'applicazione? Ad esempio, ho un ID comando:
#define ID_MY_ID 101
e c'è un comando di Windows che ha lo stesso ID. Quando MC invia questo comando all'APP, viene gestito come un'applicazione definita ID_MY_ID e l'app sta compiendo azioni non necessarie. È uno scenario possibile?
Inoltre, c'è qualche strumento di terze parti che aiuta a profilare le risorse del progetto?
Update 1:
Nuova domanda si presentò: Qual è il modo migliore di aggiungere nuovi comandi personalizzati per le classi di applicazione? Come ho capito, prima di essere aggiunti nel modo seguente: aggiungere un ID comando al resouce.h, quindi aggiungere un gestore di mappe dei messaggi alla classe di gestione.
parte del problema è che gli ID sono stati aggiunti manualmente in resource.h e anche i gestori dei comandi sono stati aggiunti manualmente alle mappe dei messaggi. Quindi il compilatore di risorse probabilmente non si lamenterà di tali duplicati. Anche lo strumento "simboli risorse" contrassegna tali comandi aggiunti manualmente come non utilizzati, sebbene vengano effettivamente utilizzati. –
Lo strumento "simboli risorsa" contrassegna i comandi come non utilizzati se non si trovano nel file delle risorse (.rc). Non monitora se sono usati nel codice. – djeidot