G gigglegile Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #1 我做了一个画图程序,想要在image中输入文字,请问如何实现?(就是windows自带的画图中的输入文字的功能一样),分都给你们了
A Aiirii Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #2 Image1.Canvas.TextOut(10, 10, 'hello');
I ivw Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #4 加一个文本框有它上面。当文本框失去焦点时,就把它free. 再> Image1.Canvas.TextOut(10, 10, 'hello');
G gigglegile Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #5 能够想windows自带的画图中的输入文字的功能一样!
Z ZhouSL Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #6 我的方法是: 加一个文本框有它上面,在画图程序要输入文字的地方。当它失去焦点的时候,就用TextOut函数画图,画文本的内容。 或者,自己直接在后台建立一个字符串,动态更新绘图。
X xuxiaohan Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #7 简单! 1. 需要一个Editor,作为输入! 2. Editor key press 为Enter后,将Text 写到 Image上,(有点技巧。。。,位置要跟Editor的一致,如果Image包含图片,Image的canvas是只读的,)。 ----------- 其实做这样的功能,我建议你用PaintBox取代Timage。。。。。
简单! 1. 需要一个Editor,作为输入! 2. Editor key press 为Enter后,将Text 写到 Image上,(有点技巧。。。,位置要跟Editor的一致,如果Image包含图片,Image的canvas是只读的,)。 ----------- 其实做这样的功能,我建议你用PaintBox取代Timage。。。。。
H haoxiaobo Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #8 只能麻烦你去处理WM_CHAR消息了. 原理就是你在用户选择了写字功能时, 在其MOUSE的座标处画一个线框, 做为输入框, 然后开始处理WM_CHAR, 每得一个输入,就把这个字加入一个之串之后, 并在框的范围里重画那个字串, 就是textout了. 如果用户输入了退格之类的编辑键, 相应的修整字串, 然后重画之. 反正画笔就是这样做的, 你看着办吧.
只能麻烦你去处理WM_CHAR消息了. 原理就是你在用户选择了写字功能时, 在其MOUSE的座标处画一个线框, 做为输入框, 然后开始处理WM_CHAR, 每得一个输入,就把这个字加入一个之串之后, 并在框的范围里重画那个字串, 就是textout了. 如果用户输入了退格之类的编辑键, 相应的修整字串, 然后重画之. 反正画笔就是这样做的, 你看着办吧.
A apw Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-17 #9 1.动态生成一个Memo大小、位置与选定区域相同,贴在TImage前面,供用户编辑; 2.失去焦点时,取回文本,删除或隐藏此Memo; 3.画文本到TImage上. VCL自己就是么干的,包括许多控件也如法泡制。只不过它们多用自从Edit继承的编辑器,第一个能数上的就是我们最常用的Object Inspector.
1.动态生成一个Memo大小、位置与选定区域相同,贴在TImage前面,供用户编辑; 2.失去焦点时,取回文本,删除或隐藏此Memo; 3.画文本到TImage上. VCL自己就是么干的,包括许多控件也如法泡制。只不过它们多用自从Edit继承的编辑器,第一个能数上的就是我们最常用的Object Inspector.