Вниз
Скачать: CL | DM;

Как сделать выравнивание по ширине в Memo?   Найти похожие ветки 

← →
Shizik ©   (2006-02-04 17:55) [0]

Я его сам уже сделал только в конце все равно пробелы отсаються...
Как быть?


← →
Кефир87 ©   (2006-02-04 17:58) [1]

Код в студию 8)


← →
@BraIN ©   (2006-02-04 17:58) [2]

Код бы посмотреть для начала.


← →
Shizik ©   (2006-02-04 18:01) [3]

procedure TForm1.WidthClick(Sender: TObject);
var
 i,j,p,k,l: Integer;
 S: String;
 SpaseWidth: Integer;
begin
 SpaseWidth:=Canvas.TextWidth(" ");
 for i:=0 to Memo1.Lines.Count-1 do
 begin
   s:=Memo1.Lines.Strings[i];
   k:=0;
   p:=0;
   if Length(SpaseArray)<>0 then SetLength(SpaseArray,0);
   for j:=0 to Length(s)-1 do
     if s[j]=" " then
       begin
         SetLength(SpaseArray,k+1);
         SpaseArray[k]:=j;
         Inc(k);
       end;
   if k=0 then Exit;
   p:=(Memo1.ClientWidth-Canvas.TextWidth(s)) div SpaseWidth;
   p:=Round(p div k);
   if p=0 then Exit;
     for j:=k-1 downto 0 do
     begin
         l:=0;
         while l<>p do
         begin
           Insert(" ", S, SpaseArray[j]);
           Inc(l);
         end;
     end;
   Form1.Caption:=IntToStr(Memo1.ClientWidth-Canvas.TextWidth(s));
   Memo1.Lines.Strings[i]:=s;
 end;
end;
Это код процедуры обработчика...


← →
Anatoly Podgoretsky ©   (2006-02-04 18:06) [4]

Это же ты пробелы вставляешь, а не выравниваешь по ширине. Выравнивание по ширине это достаточно сложная, низкоуровневая задача, надо оперировать характеристиками шрифта на уровне плохо описаного (сложного) АПИ Виндоус. Лучше перейти от TMemo к чему ни будь другому. Например сделать обертку вокруг RichEdit 3.0


← →
Shizik ©   (2006-02-04 18:31) [5]

Дело  в том что мне надо сделать это выравнивание именно в Memo, а самый простой способ это сделать (по моему мнению) это подстановка пробелов...но возникли проблемы...


← →
sniknik ©   (2006-02-04 18:38) [6]

> но возникли проблемы...
шрифт оказывается не моноширинный? ;о)

ну так выбери такой какой надо (например "Lucida Console") правда проиграеш в его "читабельности".


← →
Shizik ©   (2006-02-04 18:41) [7]

Моноширный не моноширный...это не важно...вот в чем соль...


← →
Anatoly Podgoretsky ©   (2006-02-04 19:10) [8]

А что важно?


← →
Shizik ©   (2006-02-04 20:04) [9]

Важно то что алгоритм должен работать при любом шрифте и размере...!!!


← →
HITMAN ©   (2006-02-04 20:08) [10]

Courier New    сизе 10
и читаемо и послушно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
15-1138610774
Opilki_Inside
2006-01-30 11:46
2006.02.19
Посоветуйте хороший XML-редактор.


15-1138443966
oldman
2006-01-28 13:26
2006.02.19
"Влип, очкарик" :))) (опрос)


6-1131726960
jimmy
2005-11-11 19:36
2006.02.19
Игра под модем


2-1138881288
GoshaT
2006-02-02 14:54
2006.02.19
Вставить картинку в TRichEdit


11-1120107059
Василий
2005-06-30 08:50
2006.02.19
KOL-овский TControl и свойство Anchors




   Наверх