菜单项的id有效范围是1~0xEFFF,但是MFC Technical Note #20建议将范围限制在0x8000~0xDFFF之间。
0xF000或更高的id值留给windows——尤其是系统菜单中的各项。范围0xE000~0xEFFF则预留给MFC。
0xF000或更高的id值留给windows——尤其是系统菜单中的各项。范围0xE000~0xEFFF则预留给MFC。
实际上,低于0x8000的菜单id是完全可以放心使用的,而且能避免Windows95中的一个可怕错误,改错误会影响用户绘制的菜单项。
定义资源ID时,不能同系统资源ID重合,否则,后果很严重啊~
可以看一下MAKEINTRESOURCES宏,是一个WORD,所以是1-65536,超过此范围的ID被当作字符串来处理的(关于这一点你可以反汇编user32.dll中如LoadResource来验证.
参阅:http://bbs.youkuaiyun.com/topics/190168726