【问题标题】:Avoid click propagation on Page that is under the current page on a TPageControl避免在 TPageControl 上当前页面下的页面上单击传播
【发布时间】:2013-08-06 15:11:04
【问题描述】:

我有一个包含五个页面的 TPageControl,显示的页面以这种方式交替设置 ActivePageIndex 属性:

PageControl1.ActivePageIndex := 4;

问题是当前显示的页面覆盖的下面的页面在上面的页面上按下鼠标时点击了他的按钮,我怎样才能避免这种行为?如何避免在当前显示(也是当前索引)下方的页面上的点击传播?

应用程序使用 CLX 作为图形库而不是 VCL。

【问题讨论】:

  • 我怀疑这是正常行为。听起来像一个错误,如果不发布代码就无法调试。您是否在多个页面上重复使用某些按钮?您是否在 OnClick 事件中切换活动页面?我几乎不可能猜到!
  • @Sam 我没有在多个页面上重复使用相同的按钮,而是在 OnClick 事件中切换页面...

标签: delphi delphi-7 clx


【解决方案1】:

Delphi 不做点击传播。

我会检查获得点击的按钮是否放置在 TabSheet 上而不是父控件上。在对象检查器的下拉列表中找到您想要的按钮并按下 - 所选项目将成为按钮的父项。是 TabSheet 吗?

或者您可以将此代码添加为按钮单击功能的第一行

ShowMessage(TButton(Sender).Parent.Name);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 2016-06-18
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2020-08-20
    • 1970-01-01
    相关资源
    最近更新 更多