关于richedit的问题! (100分)

  • 主题发起人 主题发起人 winsock
  • 开始时间 开始时间
W

winsock

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我想请教一下richedit怎么实现这样的功能(导入文本的时候)?也就是在打字软件所出现的那样,
如在richedit中:
122222222222222222
------------------ //空行
322222222222222233
------------------//空行
也就是说。导入一文本的时候,自动出现上面的那样子!谢谢了!!!!

谢谢朋友了,不过还是达不到我的要求,我一开始的时间没有说得很明白!
当我读取一个TXT文件的时候,如果这个TXT文件行的宽度大于Richedit的时候,
那么里面的内容就会出现这样!如:
132242433333090232233333
t4rt324242424242
-------------------//空行!
323333333333333
而我要求的结果也是前面所说的,一行有的,一行空行!谢谢了!
 
while not eof(f) do
begin
readln(f,s);
RichEdit1.Lines.Add(s);
RichEdit1.Lines.Add('');
end;
 
谢谢楼上的朋友了,不过还是达不到我的要求,我一开始的时间没有说得很明白!
当我读取一个TXT文件的时候,如果这个TXT文件行的宽度大于Richedit的时候,
那么里面的内容就会出现这样!如:
132242433333090232233333
t4rt324242424242
-------------------//空行!
323333333333333
而我要求的结果也是前面所说的,一行有的,一行空行!谢谢了!
 
richedit.wordwrap := false;
 
我的意思是要如果txt内容超过richedit的宽度是要自动换行的呀!不是上面的这个呀!
如果设置为false,那样子richedit的宽度把内容切了一半,得用键盘才看见,而我想做一个
打字软件呀!谢谢大家拉!
 
我想我明白你的要求了。 只有修改装入的text内容。 在自动换行的地方插入#13#10#13#10
 
用键盘摸拟是最好的,否则动态计算分行,但可能会有半个汉字问题要处理。

loadfromfile........
setfocus
ctrl+end caretpos.y 得到行数
ctrl+home
for ........
begin
snedkey(END)
if 不是真行尾 sendkey(enter);//根据光标处字符位置判断
sendkey(enter)
sendkey(downarrow)
end

//主要API keybd_event(......)
不是真正行尾时要发两个回车
 
多人接受答案了。
 
后退
顶部