1

在我的应用程序的子窗口中,我放置了一个名为 sle_name 的单行编辑控件。它的标签顺序是 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,则它不会移动焦点。

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

4

3 回答 3

2

我在子窗口中有同样的行为。禁用窗口中的“ControlMenu”和“TitleBar”属性时已修复。(这太奇怪了)。

希望能帮助到你

娟妈

于 2016-02-04T15:04:36.290 回答
0

这不是自然行为,因此原因很可能是您编写的脚本。根据您的架构,罪魁祸首代码可能是许多地方(例如框架对象)。如果这是我的问题,我会在启用 PBDEBUG 跟踪的情况下运行(IDE 中的系统选项,或部署的 EXE 名称后的命令行中的 /PBDEBUG),然后查看当您尝试返回时触发了什么SLE。

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

祝你好运,

特里。

于 2013-10-21T15:30:14.547 回答
0

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

于 2013-11-14T15:49:02.157 回答