【发布时间】:2012-09-04 14:50:59
【问题描述】:
我有一个 TStringGrid 有几行,我在其中实现了某种“只读”行。更准确地说,我不允许用户单击倒数第二行。如果用户单击最后一行,则没有任何反应;焦点不会移动到该行的单元格。
我有代码(在 KeyDown 中),一切正常。 但是,如果用户点击最上面一行,然后使用鼠标滚轮向下滚动,最终焦点会移动到倒数第二行。知道如何防止这种情况吗?
【问题讨论】:
-
回答您的问题,如何防止它...只需修复您的代码,因为您描述的行为与没有任何事件处理的字符串网格的默认行为不同。滚动时网格行选择会更改,但每个滚动步骤会更改一行,而不是从第一行到倒数第二行(当然,除非您有 3 行 :-)
-
@TLama - 我从来没有说过它会从第一行跳到最后一行。如果用户继续滚动,它最终会到达最后一行:)
-
好吧,所以我没有得到这个部分,如果用户单击最上面一行然后使用鼠标滚轮向下滚动,焦点将移动到倒数第二行。任何想法 如何防止这种情况 ?听起来它正在发生在你身上,你想防止这种行为。
-
@TLama - 不......抱歉混淆。我在 OP 中添加了“最终”。
-
澄清一点:“倒数第二个”的意思是“倒数第二个”,而不是最后一个。你的问题是说焦点不应该改变到倒数第二行。你是说最后一行吧?
标签: delphi tstringgrid scrollwheel