0

我在一个表单上有两个控件,一个 TDBGrid 和一个 TDBMemo 都链接到同一个数据源。

当用户滚动带有焦点的 DBGrid th Row 时,会在备忘录中显示一个字母的内容。都好。我收到有关烦恼的投诉,这实际上是用户失败的问题,但我想围绕它进行编程。

用户单击网格然后将鼠标向下移动到备忘录但不单击它,然后滚动鼠标滚轮以向下滚动备忘录。而不是发生这种情况,网格仍然具有焦点,因此它会向下滚动字母列表。如果用户第一次单击备忘录,它将获得焦点,并且滚轮将按预期工作。

我尝试添加

if memoLetter.Enabled then memoLetter.SetFocus;

在 OnCellClick 中,用于网格,但它使网格刷新并且闪烁时看起来很糟糕。

那么,如何捕获鼠标滚轮事件并查看鼠标光标是否在备忘录上方?如果是,则将焦点放在备忘录上,而普通的滚轮滚动将接管备忘录。

我在网上找到了一些 if MouseOver 的东西,但都不是很好。

谢谢

4

0 回答 0