Shi*_*chi 5 c++ mfc visual-studio-2017
目前,我们已经#define IDC_*增加到我们已经达到 32767 (0x7FFF) 的地步。
现在我们试图添加 32768 (0x8000),突然它变成了一个负值(#define IDC_TEST_BUTTON -32768也是 0x8000)。从那时起,#define语句从 -32768 开始递增(例如 -32767、-32766 等)。
我们_APS_NEXT_CONTROL_VALUE应该指向 32769。
我想这可能是微软使用unsigned shortand 的一个错误signed short,所以我创建了一个新的 MFC 项目并有意将 设置_APS_NEXT_CONTROL_VALUE为 32768 并开始在设计器中添加控件。然而,在这种情况下,#define IDC_TEST_BUTTON 32768并_APS_NEXT_CONTROL_VALUE成为32769,符合市场预期。
我搜索了我的整个程序resource.h以查看是否有任何可能的重复数字,因为这似乎会导致#define语句变为负数。但我找不到任何。
根据Microsoft 的文档,IDC 允许的值最大为 0xDFFF,因此 0x8000 完全在允许的 ID 之内。
有没有人知道为什么会这样?
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |