如何用richedit實現堅排 (150分)

  • 主题发起人 主题发起人 goddy
  • 开始时间 开始时间
G

goddy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用Rich實現堅排
 
是richedit吗?
 
是richedit
 
问题不是很清楚;
 
选择字体"@宋体"可以让汉字倒下来,然后,你只需要把控件也倒下来就实现了
 
呵呵, 好像控件是倒不下来的吧。 不知道Word中的竖排是如何实现的,
但肯定不是@宋体的方法 :)
 
不是用字体实现的,我是要排版的
 
看来不是很好解决,我帮你提前;
 
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,li_maxlength:integer;
s_array:array[1..10] of string;
begin
li_maxlength:=length(memo1.Lines[0]);
for i:=1 to memo1.Lines.Count-1 do
begin
if li_maxlength<length(memo1.Lines) then
li_maxlength:=length(memo1.Lines);
end;
for j:=1 to li_maxlength do
begin
s_array[j]:='';
for i:=1 to memo1.Lines.Count do
begin
if length(memo1.Lines[i-1])>=j then
s_array[j]:=s_array[j]+copy(memo1.Lines[i-1],j,1)
else
s_array[j]:=s_array[j]+' ';
end;
end;
memo1.Clear;
//memo1.Font.Style:=
for i:=1 to li_maxlength do
memo1.Lines.Add(s_array);
end;
 
是从左到右还是从右到左?
 
hfhuga的程序好像是自己排...
 
将hfhuga的程序改改:
1.汉字占2个字节,所以输入时要注意全教与半角(标点问题)
2.把程序改为逆序,且从memo宽度的右侧向左读
3.注意显示位置应该从右到左
 
多人接受答案了。
 
后退
顶部