L learningguy Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-07 #1 我写了一个作图程序,需要让用户能在图的任意位置加入文字,一如WINDOWS“画图”中的那样--- 选择“输入文字”,点击图形后在点击处出现编辑框,可输入文字。同时,点击以前输入的文字可以重新激活编辑框以编辑修改。 望不吝赐教。
我写了一个作图程序,需要让用户能在图的任意位置加入文字,一如WINDOWS“画图”中的那样--- 选择“输入文字”,点击图形后在点击处出现编辑框,可输入文字。同时,点击以前输入的文字可以重新激活编辑框以编辑修改。 望不吝赐教。
S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-08 #2 呵呵,我写了一个简单的,不过找不到了, 是这么做的: 继承 TImage, 加一个 TMemo, 在鼠标点下的时候,创建 memo 显示, 在适当的情况下,释放 memo, 具体请看 http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=262858
呵呵,我写了一个简单的,不过找不到了, 是这么做的: 继承 TImage, 加一个 TMemo, 在鼠标点下的时候,创建 memo 显示, 在适当的情况下,释放 memo, 具体请看 http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=262858
L lingxin Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-09 #3 方法1:TImage上加入透明的TEdit(麻烦点) 方法2:TImage上加入透明的TMemo
O only you Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-09 #5 用Drawtext函数可以在任意位置,任意大小的矩形内进行文本描绘,具体看一下该函 数的帮助吧!
L learningguy Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-09 #6 edit,memo 不会一样吧,edit只能显示一行文本。 MMX老兄,多谢你的提醒。lingxin 你虽然晚了一步,但我还是要感谢你。不过这问题对二位有点太简单了吧,嘻嘻。再提个相关问题,回答后银子定当奉上。 我想在image 中选中图形的一部分,可用鼠标拖动。并可剪切,拷贝,粘贴。最好提供源代码。谢谢。
edit,memo 不会一样吧,edit只能显示一行文本。 MMX老兄,多谢你的提醒。lingxin 你虽然晚了一步,但我还是要感谢你。不过这问题对二位有点太简单了吧,嘻嘻。再提个相关问题,回答后银子定当奉上。 我想在image 中选中图形的一部分,可用鼠标拖动。并可剪切,拷贝,粘贴。最好提供源代码。谢谢。
J JohnsonGuo Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-09 #7 放置一个透明的Label,然后响应Form的OnKeyDown,OnKeyPress,OnKeyUp等 事件以更新该Label
S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-10 #8 to learningguy: 实际上是一样的.
O only you Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-10 #9 用Canvas的CopyRect函数可以对选定的图形进行诸如放大,拷贝等功能. procedure CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect);
用Canvas的CopyRect函数可以对选定的图形进行诸如放大,拷贝等功能. procedure CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect);
N nbxd Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-10 #10 0.type ddd=record name: array of string;//内容 xy: Tpoint; myFont:TFont; end; 1.先将底图单独保存到内存 2.输入状态下:鼠标单击后根据坐标显示edit; 3.确定后(如enter) textout该文本,同时保存到ddd; 4.编辑状态下:检索ddd的xy范围,true时显示edit... 5.这样后可以对图片剪切,拷贝,粘贴。
0.type ddd=record name: array of string;//内容 xy: Tpoint; myFont:TFont; end; 1.先将底图单独保存到内存 2.输入状态下:鼠标单击后根据坐标显示edit; 3.确定后(如enter) textout该文本,同时保存到ddd; 4.编辑状态下:检索ddd的xy范围,true时显示edit... 5.这样后可以对图片剪切,拷贝,粘贴。
N nbxd Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-10 #11 另说明: 1.textout似乎不支持#13; 2.编辑修改后恢复底图,重写ddd数据,精点可局部恢复(如果图片很大或ddd数据很大)
R R_Baggio Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-11 #12 用 TImage 吧,TImage.Canvas.Textout
L lczhuohuo Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-11 #14 如果想要更复杂的编辑功能,恐怕就要用到layer了, 一个编辑动作是一个layer,然后把所有的layer合并。
S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-11 #15 大家看看 windows 的 画图,用的就是一个 edit, 透明不好, 看不清输入的字, 关键部分我已在上面的连接中写了.
B BrainTwist Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-12 #16 MMX老兄,用透明edit已经可以解决我的问题了。 我想再提个相关问题。可以吗? 我想在image 中选中图形的一部分,可用鼠标拖动。并可剪切,拷贝,粘贴。最好提供源代码。谢谢。
天 天真 Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-12 #17 先建一个bitmap大小和用户定义的一样,然后背槩作为白,用canvas.textout画出文字.然后在你的控件中用 *.canvas.pen.copymode:=(**)(忘了),然后用*.canvas.draw(x,y,bitmap)就好了
先建一个bitmap大小和用户定义的一样,然后背槩作为白,用canvas.textout画出文字.然后在你的控件中用 *.canvas.pen.copymode:=(**)(忘了),然后用*.canvas.draw(x,y,bitmap)就好了