Показать сообщение отдельно
  #4  
Старый 26.08.2008, 08:05
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

В событии OnChange этот код работает и когда выдлен весь текст.
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
  S : TCaption;
  P : Integer;
begin
  if Length(Edit1.Text) > 0 then begin
    P := Edit1.SelStart;
    S := AnsiUppercase(Edit1.Text[1]) + Copy(Edit1.Text, 2, 255);
    Edit1.Text := S;
    Edit1.SelStart := P;
  end;
end;
А в OnKeyPress когда нажимается символьная клавиша после того как отмечен весь текст, в Text еще сидит вся отмеченная строка, потому и не срабатывает условие Length(Edit1.Text) < 1.
__________________
Не забывайте делать резервные копии