热情软件屋

 

wParam&MK_LBUTTON是判断wParam与MK_LBUTTON是否相等吗


编号:QA004227
建立日期: 2001年5月31日 最后修改日期:2001年5月31日
所属类别:

王寒:
    操 作 系 统 : Windows98
    编 程 工 具 : VC++6.0
    问 题 : 您 好 !我 是 VC++6.0初 学 者
    ..
    case WM_LBUTTON:
    if(wParam&MK_LBUTTON)
    ..其中的&的作用是判断wParam与MK_LBUTTON是否相等吗?如是你能否举个具体的例子是怎么算的?
    谢谢。

回答:

    &的作用并不是判断wParam与MK_LBUTTON是否相等。对于你的例子,wParam是一组常数相或的结果。如果用户只按下了左键,则wParam等于MK_LBUTTON。但是如果用户按左键的同时按了SHIFT键,则wParam = MK_LBUTTON | MK_SHIFT。这里的&是二进制与,等于这两种情况,wParam&MK_LBUTTON均不为0,而如果你进行wParam == MK_LBUTTON的判断,就可能失去了后一种情况。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio