mindrayguowei 发表于 2017-4-13 08:56:18

怎么修改页脚数据?

为什么页脚内容不能直接点击修改, 我需要点击在页脚上的一个Field来响应TextField_Click事件, 可是现在响应不了, 要怎么做才能响应啊?

gw0506 发表于 2017-4-13 11:10:19

页脚页眉都是双击进入编辑状态的。我不清楚你的场景。

mindrayguowei 发表于 2017-4-13 11:21:10

本帖最后由 mindrayguowei 于 2017-4-13 13:39 编辑

在我的程序里面设置了除了MainText里面的两个Table以外的区域都是只读的, 双击无法进入编辑状态, 需要通过调用HeaderFooter.Active()实现. 但是我现在又不知道应该在什么时候调用这个方法. 我怎么知道我双击的区域是不是属于页脚?

mindrayguowei 发表于 2017-4-13 15:26:05

本帖最后由 mindrayguowei 于 2017-4-13 15:32 编辑

我要在页脚的位置添加一个下拉框来修改用户签名.在页脚上添加一个TextField, 当用户点击这个TextField时, 触发TextFieldClicked事件, 这个事件里面动态的添加一个下拉框.

现在有两个问题, 第一个问题就是上面说的无法激活页脚.
第二个问题是如何计算下拉框的坐标. 查了半天, 页脚上的TextField是相对于页脚本身的相对坐标, 我需要换算成相对于TextControl本身的绝对坐标, 可是又找不到页脚本身的坐标.

在HeaderFooter属性里面没有坐标也没有高度, 我模板里面页脚设置多高, 程序里面都无法获取到的吗?
只有一个Distance, 是页脚的底部到页面底部的距离, 我想不出来如何通过这个Distance计算页脚本身的高度

gw0506 发表于 2017-4-13 17:03:22

设置成只读,就会封掉所有键盘鼠标消息,所以肯定拿不到,没有时机。
算mouse位置,先不说能不能拿到,就是拿到了根据你屏幕不同等各种复杂因素,做起来也很麻烦,容易出bug。

我觉得你这个情况,需要在编辑区域之外,比如菜单里什么地方,价格按钮,来控制状态。

mindrayguowei 发表于 2017-4-13 18:41:00

之前就是你说的在菜单里面加一个按钮来实现的, 但是客户不满意, 想要直接在报告里面点击签名就能修改.
还有怎么获取到textcontrol的垂直滚动条的滚动范围啊?
我用GetScrollRange获取到的数据貌似是不对的

gw0506 发表于 2017-4-14 10:07:13

说明我没有骗你,我是真没有办法了。

干脆你给我个demo吧,直接调吧。一般暴露的接口都是很多轮测试的,不会“貌似不对”。如果不对,肯定是开发过程中有别的问题。所以你发来吧,我看看。

mindrayguowei 发表于 2017-4-14 11:41:57

其实我的要求就是在页脚里面能够点击TextField能够显示一个下拉框让用户选择数据, 在MainText里面显示没有问题, 但是页脚里面显示就坐标不对.
激活页脚我另外加了一个Button来实现了. 在demo里面没有这个Button, 你就直接双击页脚激活就好了.

demo里面有两个ReportDR的TextField, 一个能够正常显示combobox, 一个无法正常显示,你一看代码就知道了.


我在业务代码里面写死坐标是能够正常的, 就是不知道怎么算这个坐标.
我只要页脚里面的combobox能正常显示就好了

gw0506 发表于 2017-4-17 17:24:21

其实你跟进去看一下就知道了,当你点击Footer的时候,
int top = ((app.Bounds.Location.Y   才是34,它是按照footer的距离来算的,不是按照整个textcontrol算的。
你仔细看,你的代码生效了,只是位置错了,在最上面。如下图所示

mindrayguowei 发表于 2017-4-17 18:45:35

我知道代码生效了, 关键就是这个位置错了, 我就是想知道怎么算这个位置
页: [1] 2
查看完整版本: 怎么修改页脚数据?