【问题标题】:Prevent MFC application to change cursor back to default icon防止 MFC 应用程序将光标更改回默认图标
【发布时间】:2016-07-10 07:29:44
【问题描述】:

我编写了一个应用程序,它根据光标在窗口客户区内的位置来改变光标。但是我注意到,当我单击鼠标左键时,光标会变回默认箭头图标。

我已经覆盖了afx_msg void CWnd::OnLButtonDown(),并且没有在其中调用任何基类函数(它完全是空的)。

知道什么可能导致CDialogEx 变回光标吗?什么处理左键消息?

【问题讨论】:

  • 你没有显示太多代码,不清楚你在做什么或你在追求什么。首先重载OnSetCursor()
  • 我或多或少地尝试编写类似于 MDI MFC 应用程序的自己的窗口管理器,因此我在带边框的对话框内绘制自己的窗口并尝试模仿光标标准光标行为。然而,仅仅设置正确类型的光标似乎是不够的。你给了我一个很好的方向,我相信热点区域测试也是我需要考虑的事情。

标签: c++ windows user-interface mfc


【解决方案1】:

通常,您需要覆盖OnSetCursor(),如果鼠标位于您想要特定光标的位置,则调用SetCursor()并返回TRUE,这样DefWindowProc就不会重置它返回默认箭头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    相关资源
    最近更新 更多