Показать сообщение отдельно
  #1  
Старый 14.06.2011, 22:37
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию неправильное выделение в RichEdit

Посмотрите пожалуйста,по нажатию на конпку программа сканирует файлы/папки в своей директории,и выводит названия в ричедит. Если встречается папка то она выделяется жирным.
Но у меня почемутои папки и файлы выделяются,и еще,если после того как все папки показались,попробовать просто написать в этот ричедит,то написанный текст жирный.хотя жиирность задаю вродебы только к выделенной области
Код:
procedure TForm1.Button1Click(Sender: TObject);
var sr: TSearchRec;
x,strt,lengt:integer;
begin
RichEdit1.lines.Add('');
x:= RichEdit1.Lines.Count;
 if FindFirst(ExtractFilePath(ParamStr(0))+'\*.*', faAnyFile, sr) = 0 then
  begin
  repeat
  if FileExists(sr.Name) then lengt:=length(sr.Name);
  strt:=Length(RichEdit1.Text); //запоминаем позицию с которой выделять.
  RichEdit1.Lines[x]:=RichEdit1.Lines[x]+   (sr.Name)+'  ';
  if DirectoryExists(sr.Name) then //если папка то делаем её жирной
    begin
    //ShowMessage(sr.Name);
    RichEdit1.SelStart:=strt;
    RichEdit1.SelLength:=lengt;
    RichEdit1.SelAttributes.Style:= [fsBold];
    end;
  until FindNext(sr) <> 0;
  FindClose(sr);
 end;
end;
Вложения
Тип файла: zip Project1.zip (6.1 Кбайт, 2 просмотров)
Ответить с цитированием