gpt4 book ai didi

c++ - 为什么子窗口可能收不到鼠标事件?

转载 作者:可可西里 更新时间:2023-11-01 11:41:27 26 4
gpt4 key购买 nike

我有一个自定义的 WTL 控件,它是一个带有列表和自定义滚动条的面板。

class Panel
: public ATL::CWindowImpl<Panel>, public WTL::CDoubleBufferImpl<Panel> {
public:
DECLARE_WND_CLASS("Panel")

BEGIN_MSG_MAP_EX(Panel)
MSG_WM_CREATE(OnCreate)
MSG_WM_DESTROY(OnDestroy)
MSG_WM_SIZE(OnSize)
CHAIN_MSG_MAP(CDoubleBufferImpl<Panel>)
REFLECT_NOTIFICATIONS()
END_MSG_MAP()

滚动条由面板在OnCreate()中创建:

m_scrollBar.Create(m_hWnd, WTL::CRect(...));

该滚动条在许多其他对话框窗口中工作正常。但是,在该面板控件内出现滚动条,但根本没有接收到鼠标事件。如果我将 WM_MOUSEMOVE 处理程序添加到面板,它会被调用。

可能是什么问题?

最佳答案

诊断 Windows 消息传递问题的一个好方法是使用 Spy++ 或 Winspector这使您可以深入了解 Windows 消息传递。

关于c++ - 为什么子窗口可能收不到鼠标事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com