单线编辑控件在PowerBuilder中未触发Click事件

时间:2013-10-19 11:53:14

标签: events powerbuilder click

在我的应用程序的子窗口中,我放置了一个名为sle_name的行编辑控件。其Tab键顺序为1.

在该控件下面,我将DataWindow格式化为自由格式。

当我运行应用程序时,如果我的焦点是sle_name,我点击sle_name然后触发rbuttondown事件。然后我将焦点移到DataWindow(dw_account)。一旦我专注于dw_account,然后如果我尝试点击sle_name,我的焦点就不在于sle_name,我也不能在sle_name上运行rbuttondown事件。

这个问题的原因是什么?

还有一件事:当我开始这个窗口时,我的焦点设置在sle_name中,如果我按Tab键然后我的焦点移动到dw_account,如果我再次按shift + tab然后我的焦点移回到sle_account。

但是如果我尝试使用鼠标指针将焦点从dw_account设置为sle_account,则它不会移动焦点。

这种行为背后的原因是什么?

3 个答案:

答案 0 :(得分:2)

我在子窗口中有相同的行为。 当被禁用时,它被修复了“ControlMenu'和' TitleBar'窗口中的属性。 (这太奇怪了。)

希望有所帮助

绢麻

答案 1 :(得分:0)

这不是自然行为,因此原因可能是您编写的内容。根据您的体系结构,罪魁祸首代码可能是许多地方(例如框架对象)。如果这是我的问题,我将打开PBDEBUG跟踪(IDE中的系统选项,或部署的EXE名称后命令行上的/ PBDEBUG),并查看当您尝试移回时触发的内容SLE。

我还会使用PBL Peeper并排查看跟踪和代码,因此更容易看到正在执行的代码(跟踪只显示脚本名称和行号)。

祝你好运,

特里。

答案 2 :(得分:0)

您必须使用与 rbuttondown 事件相同的参数创建事件ID pbm_lbuttonup 。然后在代码中编写this.setfocus()