※ ChatGPTを利用し、要約された質問です(原文:マウスでの押しっぱなし排除処理)
マウスでの押しっぱなし排除処理
このQ&Aのポイント
マウスでボタンをクリックしたときに、押しっ放しを排除する処理が出来ずに困っています。
WM_LBUTTONDOWN以外のメッセージが来た時に、m_isKeepLeftとm_isMouseLeftをリセットしていますが、m_isMouseLeftが押しっ放しの時に意図した動作をしない問題があります。
また、WM_LBUTTONUPの時にm_isMouseLeftをtrueにしても上手くいきません。どう解決すれば良いでしょうか。
マウスでボタンをクリックしたときに、押しっ放しを排除する処理が出来ずに困っています。
いちおう、WM_LBUTTONDOWNメッセージが来た時に、
if(!m_isKeepLeft){
m_isMouseLeft = true;
}
m_isKeepLeft = true;
WM_LBUTTONDOWN以外のメッセージが来た時には、
m_isKeepLeft = false;
m_isMouseLeft = false;
として、
m_isMouseLeftが押しっ放しの時はfalseになるはずなのですが、trueになってしまいます。
どうしたらよいのでしょうか。
ちなみに、WM_LBUTTONUPの時に、m_isMouseLeftをtrueにしても上手くいきません。
お礼
ありがとうございます。 m_isMouseLeftをチェックしている所で、m_isMouseLeftが真だった時に、直接フラグをfalseにすることで解決できました。 この度はご回答頂きありがとうございました。