ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
其中ASSERT()函数的作用我知道,但是它里面的(IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX 和 IDM_ABOUTBOX < 0xF000 什么意思?请高手指点!谢谢!

解决方案 »

  1.   

    // Add "About..." menu item to system menu.
       // IDM_ABOUTBOX must be in the system command range.
       后面接着的代码将会在系统菜单(左上角图标点击菜单)中增加IDM_ABOUTBOX项,该菜单通过WM_SYSCOMMAND发送消息,WM_SYSCOMMAND保留了部分值作为系统命令如SC_CLOSE/SC_MAXIMIZE/SC_MOVE等
       所以你自定义的需要增加进入系统菜单的部分将不能在0x0001-0x000F之间,并不能大于等于0xF000,所以需要做如上的断言
      

  2.   

    这于这个,你应该查看一下关于系统菜单值的设置的帮助。 
    系统要求系统菜单的值必须在 0xFFF0 与 0xF000 之间