找回密码
 立即注册

QQ登录

只需一步,快速开始

wangf1978

初级会员

11

主题

18

帖子

221

积分

初级会员

积分
221
wangf1978
初级会员   /  发表于:2018-7-17 15:43  /   查看:3232  /  回复:5
请问,可以在tx控件内指定位置添加控件吗?tx 中指定文字的位置可以转换为locatoin的属性参数不?

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-17 18:54:52
沙发
可以添加,如
_textControl.Controls.Add(new System.Windows.Forms.Button() { Text="test"});

您可以通过获取光标的位置并进行转换,然后在相应的位置来添加,但是最终只是实现一个界面上的效果,并非是添加到文档中
Point p=_textControl.InputPosition.Location;
回复 使用道具 举报
wangf1978
初级会员   /  发表于:2018-7-17 20:49:52
板凳
非常感谢,试试看。
回复 使用道具 举报
wangf1978
初级会员   /  发表于:2018-7-17 21:07:12
地板
如果在selection 最后位置插入控件,应如何处理呢?
回复 使用道具 举报
wangf1978
初级会员   /  发表于:2018-7-17 21:39:54
5#
好像坐标值太大了,按您的方法添加控件,调试在光标位置无法看到所添加的控件。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-18 10:24:28
6#
可以参考下面的代码因为在tx文档中,单位不是像素而是twips,和像素之间需要进行转换

  1.             Point p=_textControl.InputPosition.Location;
  2.             int dpiX = 15;
  3.             int left = (p.X - _textControl.ScrollLocation.X) / dpiX;
  4.             int top = (p.Y - _textControl.ScrollLocation.Y) / dpiX;
  5.             System.Windows.Forms.Button btn = new System.Windows.Forms.Button() { Text = "dfdd" };
  6.             btn.Location = new Point(left,top);
  7.             _textControl.Controls.Add(btn);
复制代码

评分

参与人数 1满意度 +5 收起 理由
wangf1978 + 5 淡定

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部