Browser OpenEdge:在浏览器中单击列

Browser OpenEdge:在浏览器中单击列,browser,progress-4gl,openedge,Browser,Progress 4gl,Openedge,我有一个browser对象,我正在尝试获取用户单击某个单元格时所在列的编号-这可能吗?我的浏览器名为brw misc,因此当我尝试时: brw-misc:CURRENT-COLUMN 我会得到“?”作为回报,除非在此之前我点击了列标题对记录进行排序 brw-misc:COLUMN 始终返回“1”。当前列属性仅适用于可编辑浏览器。这可能就是你得到空(?)的原因。列属性是浏览器位于框架上的位置 如果浏览器可编辑,则可以使用 brw-misc:CURRENT-COLUMN:LABEL 获取列标

我有一个browser对象,我正在尝试获取用户单击某个单元格时所在列的编号-这可能吗?我的浏览器名为brw misc,因此当我尝试时:

brw-misc:CURRENT-COLUMN
我会得到“?”作为回报,除非在此之前我点击了列标题对记录进行排序

brw-misc:COLUMN

始终返回“1”。

当前列属性仅适用于可编辑浏览器。这可能就是你得到空(?)的原因。属性是浏览器位于框架上的位置

如果浏览器可编辑,则可以使用

brw-misc:CURRENT-COLUMN:LABEL 

获取列标签。然后,您可以使用该属性来确定这是哪个列编号。

当前列属性仅适用于可编辑浏览器。这可能就是你得到空(?)的原因。属性是浏览器位于框架上的位置

如果浏览器可编辑,则可以使用

brw-misc:CURRENT-COLUMN:LABEL 

获取列标签。然后,您可以使用它来确定这是哪个列的编号。

Drooper在上面提供了一些很好的建议

如果该列是可编辑的,并且单击它实际上进入字段(以更新值),则可以查询FOCUS:NAME以了解刚才单击的列的名称。它是一个句柄,所有句柄属性都适用

不过,如果您没有启用字段,这将变得更加棘手。您没有指定这是否是客户端GUI,我将继续假设它是(而不是Webspeed)。您需要使用Windows DLL捕获鼠标坐标、窗口坐标(使用X和Y属性),然后是浏览列X和Y,希望浏览不是水平滚动的,lol

如果你做了所有这些,你就可以知道他们点击了哪一列。哦,因为(据我所知)你更担心他点击的是哪一列,而不是哪一个单元格,所以你要将X值置于Y值之上(但别忘了测试以确保他们在浏览中真正点击)


在我的脑海里,这就是我能想到的。不确定它是否有用,但它可能会指向你的某个地方

Drooper在上面提供了一些很好的建议

如果该列是可编辑的,并且单击它实际上进入字段(以更新值),则可以查询FOCUS:NAME以了解刚才单击的列的名称。它是一个句柄,所有句柄属性都适用

不过,如果您没有启用字段,这将变得更加棘手。您没有指定这是否是客户端GUI,我将继续假设它是(而不是Webspeed)。您需要使用Windows DLL捕获鼠标坐标、窗口坐标(使用X和Y属性),然后是浏览列X和Y,希望浏览不是水平滚动的,lol

如果你做了所有这些,你就可以知道他们点击了哪一列。哦,因为(据我所知)你更担心他点击的是哪一列,而不是哪一个单元格,所以你要将X值置于Y值之上(但别忘了测试以确保他们在浏览中真正点击)


在我的脑海里,这就是我能想到的。不确定它是否有用,但它可能会指向你的某个地方

我会使用与标签不同的属性,它依赖于翻译。NAME属性会更好。如果浏览包含计算字段,请确保在variablename中显示它们,否则名称属性未知。如果使用与标签不同的属性,则名称属性取决于翻译。NAME属性会更好。如果浏览包含计算字段,请确保在variablename中显示它们,否则name属性未知