有十个Edit控件对应着十个Label控件,在edit1控件输入一个字符位的内容,这时输入的内容传给对应的label1控件,edit1控件隐藏,然后label1和edit2控件显示(在程序打开时,默认除了Edit1显示外,其它全部隐藏,),并把光标自动跳转至edit2。以此类推。
以上说的功能我都实现了,现在我想实现一个插入功能,就是在已有内容的格子前面输入一个新的内容。不是新创建一个Edit控件或Label控件,而是将内容移至下一个Edit控件中或label控件中,如果大侠们明白我的意思,就请指点一下吧,谢谢。(请给我具体的代码范例。)

解决方案 »

  1.   

    直接用TStringGRID或者TValueListEditor控件的了
      

  2.   

    Edit2.Text:=Edit1.Text;
    Edit1.Visible:=False;
    不明白什么意思
      

  3.   

    这是我写的edit1控件代码,其它与此类似。
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      if length((sender as TEdit).Text) = 1 then   //如果Edit控件写入内容,那么就跳转到下一个Edit控件里。
      begin
        edit2.Visible := true;   //显示Edit2
        (sender as Tedit).Visible := false;   //隐藏Edit1
        label1.Visible := true;     //显示label1
        label1.Caption := (sender as tedit).Text;  //将edit1的内容给label1
        form1.FocusControl(edit2);      //将光标自动移动到edit2
      end
      else if trim((sender as tedit).Text) = '' then  //当edit1没有内容时
           begin
             label1.Caption := '';   //当输入框的内容删除后,显示框的内容也要删除
             if not(label2.Caption = '') then     //如果edit2“有”内容的话,就:
             begin
               (sender as tedit).Text := label2.Caption;   //将label2的内容传给Edit1
               label2.Visible := false;           //隐藏label2
               label2.Caption := '';        //清空label2的内容
               edit2.Text := '';
               edit2.Visible := false;      //隐藏edit2
               (sender as TEdit).Visible := true;      //显示edit1
               (sender as TEdit).SetFocus;  //将光标自动移动到edit1
             end
           end;
    end;我想实现一个插入功能,就像Excel中插入“单元格”功能