在我的应用程序的子窗口中,我放置了一个名为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,则它不会移动焦点。
这种行为背后的原因是什么?
答案 0 :(得分:2)
我在子窗口中有相同的行为。 当被禁用时,它被修复了“ControlMenu'和' TitleBar'窗口中的属性。 (这太奇怪了。)
希望有所帮助
绢麻
答案 1 :(得分:0)
这不是自然行为,因此原因可能是您编写的内容。根据您的体系结构,罪魁祸首代码可能是许多地方(例如框架对象)。如果这是我的问题,我将打开PBDEBUG跟踪(IDE中的系统选项,或部署的EXE名称后命令行上的/ PBDEBUG),并查看当您尝试移回时触发的内容SLE。
我还会使用PBL Peeper并排查看跟踪和代码,因此更容易看到正在执行的代码(跟踪只显示脚本名称和行号)。
祝你好运,特里。
答案 2 :(得分:0)
您必须使用与 rbuttondown 事件相同的参数创建事件ID pbm_lbuttonup 。然后在代码中编写this.setfocus()