Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ой, помогите сложная задача! Как сделать кнопку Back?

7.4K
07 ноября 2006 года
Rine
85 / / 31.10.2006
Помогите пожалуйста, как сделать кнопку Back, типа Back Space чтобы при её нажатие происходило удаление текста в левую сторону!




P.S. Извините за заголовок, не выдержал!
3.0K
07 ноября 2006 года
Мerlin
267 / / 25.07.2006
[QUOTE=Rine]Помогите пожалуйста, как сделать кнопку Back, типа Back Space чтобы при её нажатие происходило удаление текста в левую сторону! [/QUOTE]Не совсем понятно. Если с TEdit нужно удалить посл.букву, тогда
 
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
   if Edit1.Text <> '' then
     Edit1.Text := Copy(Edit1.Text, 1, Length(Edit1.Text)-1);
end;
17K
08 ноября 2006 года
disabledx
24 / / 26.10.2006
Можеш попробовать вот так, если понравится:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
if edit1.SelText=Edit1.Text then Edit1.Text:=''
else begin
s:=Edit1.Text;
Delete(s,length(s),1);
Edit1.Text:=s;
end;
end;
3.0K
08 ноября 2006 года
Мerlin
267 / / 25.07.2006
Если учитывать выделение и позицию курсора внутри текста,
то можно написать
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  i, n: Integer;
begin
  s := Edit1.Text;
  n := Length(s);
  if n = 0 then Exit;
  if Edit1.SelLength > 0 then begin
    if n = Edit1.SelLength then
      Edit1.Text := ''
    else if Edit1.SelStart = 0 then
      Edit1.Text := Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n)
    else
      Edit1.Text := Copy(s, 1, Edit1.SelStart) + Copy(s, Edit1.SelStart + Edit1.SelLength + 1, n);
    end
  else begin
    i := Edit1.SelStart;
    if i > 0 then begin
      if i = n then
        Edit1.Text := Copy(s, 1, n-1)
      else
        Edit1.Text := Copy(s, 1, i-1) + Copy(s, i+1, n);
      Edit1.SelStart := i - 1;
    end;
  end;
end;
10
09 ноября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=Rine]Помогите пожалуйста, как сделать кнопку Back, типа Back Space чтобы при её нажатие происходило удаление текста в левую сторону![/QUOTE]
Edit1.Perform(WM_CHAR, VK_BACK, 0);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог