首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxGrid,GridColLabelWindow鼠标捕获断言失败

wxGrid,GridColLabelWindow鼠标捕获断言失败
EN

Stack Overflow用户
提问于 2022-03-29 08:36:54
回答 1查看 46关注 0票数 0

我正在为GridColLabelWindow捕获鼠标,但得到一条断言消息“!wxMouseCapture::IsInCaptureStack(此)失败。在同一个窗口中重新捕获鼠标?”关于下列代码:

代码语言:javascript
复制
GetGridColLabelWindow()->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& evt) {
            //GetGridColLabelWindow()->ReleaseMouse();

            if (GetGridColLabelWindow()->HasCapture() == false)
                GetGridColLabelWindow()->CaptureMouse();

            evt.Skip();
            });

只有在单击“网格标签”窗口以更改列宽度时才会发生这种情况(单击“格栅颜色标签”窗口以选择行时不会发生)。

作为一个实验,如果我试图在捕获之前释放鼠标,那么发出以下断言:“wxWindowBase:Release老鼠():在000xxxx (wxWindow)中释放鼠标,但它没有被捕获”。

我想知道这是一个bug,还是我遗漏了什么(wxWidgets 3.1.4,Windows10,VS 2019年)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 12:32:31

一般来说,你不应该干涉内置鼠标的处理,网格窗口有自己的,相对复杂的逻辑,处理鼠标捕获,所以做你做的事情破坏它并不奇怪。我不知道您到底想要做什么,但是如果可能的话,尝试处理wxGrid高级事件来实现它(这里的一个问题是,在3.1.6时,调整大小的事件仍然是未生成,但是最好添加它们.)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71658923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档