Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi SpinEdit OnExit事件更改ListBox.Font.Size后未触发ListBox OnClick事件_Delphi_Events_Onclick_Listbox_Delphi 5 - Fatal编程技术网

Delphi SpinEdit OnExit事件更改ListBox.Font.Size后未触发ListBox OnClick事件

Delphi SpinEdit OnExit事件更改ListBox.Font.Size后未触发ListBox OnClick事件,delphi,events,onclick,listbox,delphi-5,Delphi,Events,Onclick,Listbox,Delphi 5,我的表单上有一个列表框,其中注册了OnClick事件。除一种特殊情况外,该事件按预期进行: 我的表单包含一个SpinEdit(值8-12),允许用户调整ListBox.Font.Size属性(我也相应地调整ListBox.ItemHeight属性)。这些调整是在SpinEdits OnExit事件中完成的,也可以按预期工作 但是,当选择SpinEdit、更改值并单击列表框时,会出现问题。因此,应该发生的是: 激发SpinEdit OnExit:已调整ListBox.Font.Size ListB

我的表单上有一个列表框,其中注册了OnClick事件。除一种特殊情况外,该事件按预期进行:

我的表单包含一个SpinEdit(值8-12),允许用户调整ListBox.Font.Size属性(我也相应地调整ListBox.ItemHeight属性)。这些调整是在SpinEdits OnExit事件中完成的,也可以按预期工作

但是,当选择SpinEdit、更改值并单击列表框时,会出现问题。因此,应该发生的是:

  • 激发SpinEdit OnExit:已调整ListBox.Font.Size
  • ListBox OnClick已激发:OnClick事件中定义的后续操作
  • 但实际上,只有SpinEdits OnExit被激发,fontsize被正确调整,但是ListBox的OnClick事件不会激发。这本身没什么大不了的,但在那之后,整个列表框都对鼠标点击没有反应了

    值得注意的意见:

  • 来回切换到另一个应用程序/窗口并返回到 我的应用程序:恢复列表框的响应能力
  • 触发问题后,与同一表单上的CheckListBox交互,然后单击该列表框将触发ListBox Onclick事件
  • 使用Enter键触发SpinEdits OnExit事件不会带来任何问题
  • 该表单还包含几个带有OnExit事件的SpinEdit对象,这些对象不会更改ListBox的属性。通过单击列表框退出这些Spinedit工作正常,OnClick事件在SpinEdits OnExit事件之后立即执行

  • 不要描述你的代码,帖子a。听起来你的代码可能在焦点改变期间改变了焦点,我也有类似的行为。也许可以尝试SpinEdit的
    OnChange
    事件,而不是
    OnExit
    ,这与焦点更改无关?很难说没有代码复制会发生什么,就像Sertac提到的那样。@nil你的评论让我想到了另一个方向,并让我用一个组合框替换spinedit,它工作正常,不会带来任何问题,所以谢谢你!关于帖子本身:由于我仍然发现这种奇怪的行为,而且我还在学习Delphi,我将尝试在一个最小的代码示例中复制这个问题,并在未来几天内更新帖子,如果我有时间的话。谢谢你的评论和时间。