【发布时间】:2011-05-27 09:19:44
【问题描述】:
嗨 今天我遇到了一个新的MouseWheel问题 我在 mdichild 表单的 mousewheel 事件中编写了一些代码,当我打开新的 mdichild 表单并选择它并执行 mousewheel 时,它会检测到该事件,但是当我单击基本表单上的控件并返回 mdichild 并使用鼠标滚轮时,除非我将焦点设置在另一个 MDIChildform 上并再次返回子窗体,否则不会再触发 mousewheel 事件。 请帮我解决问题 谢谢
这里是这个问题的一个示例,它是对默认 MDIAPP 模板的一些修改 http://egmahdi.com/mdiApptemplate.rar
【问题讨论】:
-
使用“MDI 应用程序”模板轻松复制。
也很容易复制这个问题。给出了这个问题的答案 f.i.在问题中:stackoverflow.com/questions/4172307/… - stackoverflow.com/questions/2251019/… -
嗨,tnx,但我认为它们与我的问题不同,他们正在谈论在不支持鼠标滚轮或没有焦点的控件上使用鼠标滚轮,但我的问题是表单有焦点,即使我在子窗体上的 mouseenter 事件上使用 self.focus 但它不起作用。MDI 应用程序模板也与鼠标滚轮没有任何关系
-
@Dr - 如果您在 MDI 应用程序模板的“MDIChild”表单上放置一个“OnMouseWheel”处理程序,并在“MainForm”的工具栏上放置一个控件,您的问题将会重复。难吗?
-
@Dr - 这个问题可能看起来不同 - 与 MDI 有关,这就是为什么我没有投票关闭作为完全相同的副本。但是,它并没有什么不同,原因与 Andreas 的回答中所述相同。无论如何,答案确实是完全相同的。你为什么不试试安德烈亚斯的回答?因为它解决了这里的重复问题。
-
放置在主窗体工具栏上的控件没有问题,但是当我双击列表框或单击它时,主窗体上有一个未放置在工具栏上的列表框再回到 MDIChild,问题就出现了。在这里你可以看到这个问题。它是默认的 MDI 模板,打开一个新的 mdichild 表单,然后单击列表框,然后在 mdichildform 上,向下和向上滚动鼠标应该将 mdichildform 值更改为 wheeldata 值,但单击列表框后,它什么也不做。
标签: delphi mousewheel mdichild