procedure TForm1.Button1Click(Sender: TObject);
var P : TPoint;
begin
  P.X := 5;
  P.Y := 2;
  RichEdit1.CaretPos := P;
  RichEdit1.SetFocus;
end;—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
    

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var P : TPoint;
    begin
      P.X := 5;
      P.Y := 2;
      RichEdit1.CaretPos := P;
      RichEdit1.SetFocus;
    end;—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  2.   

    //参见lxpbuaa的代码RichEdit1.CaretPos := Point(2, 1); //for Delphi6
      

  3.   

    lxpbuaa(桂枝香在故国晚秋) :谢谢了!能不能再指点一下小弟,我怎么样能把某一行选中呢?我知道用selstart,但是开始位置怎么定?假如五行,可是我不知道richedit.selstart:=??!!!请指教!!
    一会我就结帖给分!
      

  4.   

    var
    i:integer
    begin
      t:=0;
      for i:=0 to 4 do
      begin
         T:=T+Length(Richedit1.lines[i])+1;//这个后面有个回车符,我忘了需要加不了,你试试,如果不对了,就别加了,或改加2
      end;
      Richedit1.selstart:=t;
    end;