我想知道windows消息循環的正確返回值是什麼。到目前爲止,我已經使用了以下情況:win32消息循環 - 我應該打破還是返回?
case WM_LBUTTONDOWN: // left mouse button pressed.
if (condition == true)
{
do_something();
}
break;
,但我也看到了諸如:
if (IDC_BUTTON == LOWORD(wParam) && BN_CLICKED == HIWORD(wParam))
{
do_something();
return true;
}
break;
哪一個是正確的?我應該return true
?或者我應該break?
重要嗎?
編輯這取決於我是否正在按按鈕或鼠標移動?
他們是完全不同的:取決於上下文。 –
@LuchianGrigore它取決於消息嗎?有什麼區別?我應該什麼時候使用哪個? – memyself
這不是一個消息循環,這是一個窗口過程。它很大程度上取決於它是如何編程的,特別是在調用DefWindowProc()的時候會發生什麼。返回值是LRESULT,返回* true *幾乎從不正確。但很少被注意到。它也可能是一個對話框過程,return * true *仍然是錯誤的,但更正確一點。 –