Показать сообщение отдельно
  #10  
Старый 20.05.2009, 12:37
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Есть функции API, которые сами ставят многоточие. Вот пример. Я, правда, не совсем знаком с хэндлами и у меня получился немного больший по размеру шрифт, но кто-нибудь вам подскажет.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  dc: HDC;
  Rect: TRect;
  S:    String;
begin
  S:= 'D:\Мои документы\Санитарные_правила_и_нормы\СанПиН-2_2_4_1294-03.2003-06-15\';
  dc:=GetWindowDC(Edit1.Handle);
  Rect:= Edit1.ClientRect;
  DrawText(dc,
    PAnsiChar(S),
    Length(S),
    Rect,
    DT_PATH_ELLIPSIS);  //    DT_END_ELLIPSIS
  ReleaseDC(Edit1.Handle,dc);
end;
Флаг DT_PATH_ELLIPSIS ставит многоточие в середине (правило в справке), а флаг DT_END_ELLIPSIS - в конце.
Ответить с цитированием