如何在MFC中的对话框中阻止鼠标输入

我有一个基于对话框的MFC应用程序。 我有一个隐藏的编辑控件,它具有读取USB连接的扫描仪输入的默认焦点。 对话框中的所有其他控件都是只读的。 但是当用户点击任何控件时,隐藏的编辑控件就会失去焦点。 我该如何解决这个问题,这样即使在用户点击任何地方的对话框后,这个隐藏的编辑控件仍然有焦点。


那么,MFC应用程序中的大多数鼠标消息都已发布并且未发送。 因此,您可以在您的CDialog派生类中重写PreTranslateMessage(MSG *),然后通过返回TRUE以防止消息分派或FALSE以允许正常处理来消除这些消息。

BOOLCMyDlg::PreTranslateMessage(MSG* pMsg)
{
    switch (pMsg->message)
    {
    case WM_LBUTTONDOWN:
    case WM_RBUTTONDOWN:
    ///etc, etc
        {
            // might want other tests
            return TRUE;
        } break;
    }
    return CDialog::PreTranslateMessage(MSG* pMsg);
}
链接地址: http://www.djcxy.com/p/39265.html

上一篇: How to block mouse inputs on dialog box in MFC

下一篇: C++/Win32 dialog generated from resource not behaving normally