客户提出得特殊要求是要求文字能够竖着写,如:







有点象过去古人写文章得格式,我现在是用得memo控件,但是有些问题不知道怎么解决
  1:在输入汉字之后焦点能够自动窜到下一行
  2:如果按了回车键之后焦点能够转到下一列的起始位置
现在只是暂时想到的这些,希望各位能够不吝赐教,如果问题解决可以再加分

解决方案 »

  1.   

    古人写文章得格式是从左到右吧?你所说的那两个问题,Memo本来就可以啊。
      

  2.   

    哥们东北的吧,
    这个就是在memo就是可以的
      

  3.   

    哥们东北的是什么意思
    我现在用的也是memo控件,但是有些地方不是很方便,我想用代码控制一下
    memo正常不是输入一个或一组字之后焦点向右移动吗,我想让焦点自动向下,回车后焦点再移动到列上
    中中
    华华
    人人
    民民
    公公
    和和
    国国
    先输入中后,焦点自动不用按回车键移到下一行,当输入到国时按回车移动到第二列的中上,以此类推
    就是把正常的memo横向输入转成竖项输入
      

  4.   

    word可以让文字坚排的,你不如调用它,如果在delphi下没什么专用的控件,写算法挺麻烦的
      

  5.   

    快下班了,给你个思路供参考。
    procedure TForm1.Memo1Change(Sender: TObject);
    var
    i,j:integer;
    aa:array of string;
    begin
    if flag then exit;
    for i:=0 to self.Memo1.Lines.Count-1 do begin
       for j:=1 to length(self.Memo1.Lines[i]) do begin
          setlength(aa,length(aa)+1);
          aa[length(aa)-1]:=self.Memo1.Lines[i][j];
       end;
    end;
    flag:=true;
    self.Memo1.Clear;
    for i:=0 to length(aa)-1 do begin
         self.Memo1.Lines.Add(aa[i]) ;
    end;
     flag:=false;
    end;
    上面的代码是通过修改memo的lines实现竖排,显示汉字时会有问题。仅供参考。
      

  6.   

    to cccbbbz_cn(狼的智慧) :
    山东的荣成,威海也说格路,呵呵。