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的判断,就可能失去了后一种情况。
此问题由李海回答。
| |
|
|
| |
|
|