在EDIT中编辑时如何在按下"-"(#$2D)时把其直接转换成"~"(#$A1AB)?
例如:输入 '0-1',在Edit中显示为'0~1'

解决方案 »

  1.   

    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = '-' then
        Key := '~';
    end;
      

  2.   

    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = '-' then
        Key := '~';
    end;
      

  3.   

    Sorry, 看错了符号
    用如下代码试试procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    var
      S: string;
      iPos: Integer;
    begin
      if Key = '-' then
      begin
        Key := #0;
        S := Edit2.Text;
        iPos := Edit2.SelStart;
        Insert('~', S, iPos + 1);
        Edit2.Text := S;
        Edit2.SelStart := iPos + 2;
      end;
    end;