动态创建EDIT问题!求助

SHOUHUO5 2017-06-16 11:14:13
我现在想动态创建几个EDIT,可以在Panel上创建,但是不能在IMAGE上创建,

在Panel上创建时只需要将.Parent设定成 panel1,但是不能设定成IMAGE,得怎么解决?求助!
edt1.Parent := panel1;
...全文
234 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SHOUHUO5 2017-06-19
  • 打赏
  • 举报
回复
引用 5 楼 lyhoo163 的回复:
Image不是容器控件,它不能成为其它控件的父结点。 而Panel是容器控件,它可以包含其它控件。 你可以在Panel中放Image作为背景,再加入Edit。 如果你不是录入数据,仅是显示字符,建议使用Image1.Canvas.TextOut(100,100,'HelloWorld'); 画出字符即可。
用Image1.Canvas.TextOut(100,100,'HelloWorld') 问题描述: 图片比较大,我是将图片放入scrollbox中,通过scrollbox滚动来查看完整图片。然后我是通过获取鼠标位置来确定文字输入位置,比如我在图片上点击一下,图片中就出现了文字。但是拉动scrollbox滚动条,在默认scrollbox显示位置外(拉动滚动条后位置变了),我在执行Image1.Canvas.TextOut(X,,Y,'HelloWorld')就失效了 (XY为鼠标坐标)
lyhoo163 2017-06-16
  • 打赏
  • 举报
回复
Image不是容器控件,它不能成为其它控件的父结点。 而Panel是容器控件,它可以包含其它控件。 你可以在Panel中放Image作为背景,再加入Edit。 如果你不是录入数据,仅是显示字符,建议使用Image1.Canvas.TextOut(100,100,'HelloWorld'); 画出字符即可。
jjpweb 2017-06-16
  • 打赏
  • 举报
回复
为啥要在image上放个edit,打字? 直接在image上textout Image1.Canvas.TextOut(100,100,'HelloWorld');
SHOUHUO5 2017-06-16
  • 打赏
  • 举报
回复
引用 2 楼 hongss 的回复:
可以将Image放在Panel上,在Panel上生成新Btn
我现在是这样的,最底层是scrollbox,然后上面是 Panel, 再上面是IMAGE。我要实现的功能是在IMAGE上创建EDIT,然后把IMAGE图片和EDIT框一起打印出来。 问题 : 1.如果将EDIT放在Panel上,虽然Panel的Align属性虽然是是alclient,那么scrollbox往下拉后,就不能在Panel上动态创建EDIT了(Panel好像不能完全覆盖scrollbox)。打印时倒是能将整张图片打印出来。 2.如果将EDIT放在scrollbox上,虽然可以随意创建EDIT,但是打印的时候只能打印scrollbox目前显示的部分,拉框外的显示不了。
hongss 2017-06-16
  • 打赏
  • 举报
回复
可以将Image放在Panel上,在Panel上生成新Btn
oqqLost123456789 2017-06-16
  • 打赏
  • 举报
回复
Parent必须是TWinControl的子类,所以不能在IMAGE上创建。

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧