nisnfox 发表于 2012-4-16 11:59:00

tx14 怎么取 TextField 的X Y 的座标 Point

tx14 怎么取 TextField 的X Y 的座标 Point

iceman 发表于 2012-4-16 14:05:00

回复 1# nisnfox 的帖子

nisnfox 你好,
可以通过获取当前点击 TextField 第一个字符的 InputPosition 去获取 Point:

      private void textControl1_TextFieldClicked(object sender, TXTextControl.TextFieldEventArgs e)
      {
            //获取当前点击 TextField
            TXTextControl.TextField currentTextFiled = e.TextField;

            //获取当前行、列及 Page 索引
            int currentPageIndex=this.textControl1.InputPosition.Page;
            int startPositionX = currentTextFiled.Start;
            int startPositionY = this.textControl1.InputPosition.Line;

            //根据索引创建 InputPosition
            TXTextControl.InputPosition startPosition=new TXTextControl.InputPosition(currentPageIndex ,startPositionX ,startPositionY );

            //通过 ImputPostion 获取当前点击 TextField Point
            Point editorLocation = startPosition.Location;
      }

nisnfox 发表于 2012-4-16 16:59:00

不对
X=-1
Y=-1
达不到上面的效果

iceman 发表于 2012-4-16 17:33:00

回复 3# nisnfox 的帖子

nisnfox 你好,我在楼上代码中做了修改,如果有多行,楼主可以加逻辑判断。

//获取当前点击 TextField
            TXTextControl.TextField currentTextFiled = e.TextField;

            //获取当前行、列及 Page 索引
            int currentPageIndex=this.textControl1.InputPosition.Page;
            int lineLength = this.textControl1.Lines.Length ;
            int startPositionY = currentTextFiled.Start;
            
            //int startPositionX = this.textControl1.InputPosition.Line%lineLength;
            int startPositionX = this.textControl1.InputPosition.Line;

            //根据索引创建 InputPosition
            TXTextControl.InputPosition startPosition=new TXTextControl.InputPosition(currentPageIndex ,startPositionX ,startPositionY );

            this.textControl1.InputPosition = startPosition;

            //通过 ImputPostion 获取当前点击 TextField Point
            Point editorLocation = this.textControl1.InputPosition.Location;

nisnfox 发表于 2012-4-16 17:57:00

大师还是不对!

iceman 发表于 2012-4-17 09:09:00

Morning nisnfox ,
请参考我的 Demo,并指出其中的缺陷 ,感谢配合:

nisnfox 发表于 2012-4-17 09:25:00

你的不是我想要的东西
请看一看

http://gcdn.grapecity.com/showtopic-3647.html
这个贴子 附件: TxWin6.zip (2012-3-12 17:06:12, 21.78 K)
这个 文件看能用 TX14改写吗?

主要就是那个弹出定位!

PS:你们讨论对IE9支持不行,登陆 上传附件都不行。你如果能留下你的QQ号是贵姓就更好了,感谢你了

iceman 发表于 2012-4-17 12:29:00

nisnfox 你好,
1.感谢楼主的提示,请尝试下这个 Demo:

2.请切换成 IE8 登录。不好意思,由于网络限制,目前不能提供通过 QQ 提供支持。

nisnfox 发表于 2012-4-17 14:52:00

你的这个DEMO还有问题,就是如果前几行是空行, 你的 this.textControl1.InputPosition = startPosition; 就会报   Invalid property value.
(01-0903)

nisnfox 发表于 2012-4-17 15:01:00

还有你的DEMO 如果是第二行文字,那point 的很不准,差很多,
第三行就更不用说了!
如能有电话就好了,我电话和你汇报下!
页: [1] 2
查看完整版本: tx14 怎么取 TextField 的X Y 的座标 Point