讲讲下面一段代码,nID & 0xFFF0尤其是这句什么作用
if((nID&0xFFF0)==IDM_ABOUTBOX)///{CAboutDlgdlgAbout;dlgAbout.DoModal();}else{CDialog:...
if ((nID & 0xFFF0) == IDM_ABOUTBOX)///
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
} 展开
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
} 展开
展开全部
这是在响应WM_SYSCOMMAND消息, 按照MSDN给出的解释: nID的低四位是被系统使用的.
所以在与程序自定义的比较时, 需要做与运算取其高四位, 所以要 & 0xFFF0.
所以在与程序自定义的比较时, 需要做与运算取其高四位, 所以要 & 0xFFF0.
参考资料: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询