ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
其中ASSERT()函数的作用我知道,但是它里面的(IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX 和 IDM_ABOUTBOX < 0xF000 什么意思?请高手指点!谢谢!
ASSERT(IDM_ABOUTBOX < 0xF000);
其中ASSERT()函数的作用我知道,但是它里面的(IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX 和 IDM_ABOUTBOX < 0xF000 什么意思?请高手指点!谢谢!
// IDM_ABOUTBOX must be in the system command range.
后面接着的代码将会在系统菜单(左上角图标点击菜单)中增加IDM_ABOUTBOX项,该菜单通过WM_SYSCOMMAND发送消息,WM_SYSCOMMAND保留了部分值作为系统命令如SC_CLOSE/SC_MAXIMIZE/SC_MOVE等
所以你自定义的需要增加进入系统菜单的部分将不能在0x0001-0x000F之间,并不能大于等于0xF000,所以需要做如上的断言
系统要求系统菜单的值必须在 0xFFF0 与 0xF000 之间