ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
提示跟system command range有关系,是什么关系呀。不懂

解决方案 »

  1.   

    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    这是一个对话框程序的程序语句。
      

  2.   


    ASSERT是一个调试时使用的宏,作用是判断他的参数是不是逻辑假,如果是就弹出一个对话框指明所在代码行出错,否则什么事不干。如果 (IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX 不成立,IDM_ABOUTBOX 的低八位就不为全0,这个是违反windows的规则的(好像是在系统菜单里加入的菜单项ID的低八位必须为0),所以程序此处判断IDM_ABOUTBOX的合法性
      

  3.   

    非常感谢 yinx(★什么时候才能变成红色的)