场景:客户可以为 PDF 页面设置注释。这是作为一个富文本框对象处理的。但是,有一个错误,当用户进行注释并想要手动向下滚动(向下拖动滚动条)时,注释会随之移动。我想实现检测滚动事件的代码,以便在程序向下/向上滚动之前退出并正确放置注释。
本来应该是一个简单的过程,结果却不是那么简单,但我已经习惯了编程的演变……我们可以用 spy++ 看到 WM_VSCROLL 消息,但用控制台找不到它。 wmdproc中的writeline,它指向它正在由一个事件处理,但是对于我们的生活,我们无法准确找到哪个事件。
我们尝试在 MainForm 作为其父级中覆盖我们的神秘滚动事件,但没有成功。还尝试在 PDFViewCtrl 中覆盖它,但它禁止我们在那里覆盖。所以我们在这里有点不知所措。我们知道事件已被处理,我们只是找不到在哪里。我们使用 Pdftron 和 DevExpress,但值得注意的是,我们不使用他们的 DE 的 PDFViewer。我们的是加载到 DevExpress Xtraform 中的 PDFViewCtrl。