Выравнивание по ширине
Действия, присваиваем мемке переменную (большой длинны строку). У мемки выравнивание по ширине, в мемке несколько строк.
Что ожидаем: Все строки выравняются по ширине, может быть за исключением посленей
Что получаем: Выравнивается только 1 строка в мемке.
Если на этапе дизайна весь этот текст туда кинуть, то все ОК, но это не технически неосуществимо, строка вычисляется.
Временное решение
В модулеfrxGrapUtils.pas
if Align = haBlock then
begin
GetMem(spaceAr, SizeOf(Integer) * n);
spaceCount := CountSpaces;
// if spaceCount = 0 then //ChaosBringer
// Align := haLeft else //ChaosBringer
extraSize := Abs(dx) - Sz;
end
else
spaceCount := 0;
Решение некорректное, но работает так как требуется.
Исходник указан для 3-йки, но аналогичная проблема была замечена и в демке 4-ки.
Что ожидаем: Все строки выравняются по ширине, может быть за исключением посленей
Что получаем: Выравнивается только 1 строка в мемке.
Если на этапе дизайна весь этот текст туда кинуть, то все ОК, но это не технически неосуществимо, строка вычисляется.
Временное решение
В модулеfrxGrapUtils.pas
if Align = haBlock then
begin
GetMem(spaceAr, SizeOf(Integer) * n);
spaceCount := CountSpaces;
// if spaceCount = 0 then //ChaosBringer
// Align := haLeft else //ChaosBringer
extraSize := Abs(dx) - Sz;
end
else
spaceCount := 0;
Решение некорректное, но работает так как требуется.
Исходник указан для 3-йки, но аналогичная проблема была замечена и в демке 4-ки.
Комментарии
memo1.memo.add('Действия, присваиваем мемке переменную (большой длинны строку). У мемки выравнивание по ширине, в мемке несколько строк. Что ожидаем: Все строки выравняются по ширине, может быть за исключением последней Что получаем: Выравнивается только 1 строка в мемке.Если на этапе дизайна весь этот текст туда кинуть, то все ОК, но это не технически неосуществимо, строка вычисляется.');
Ставим в дизайнере выравнивание мемки по ширине и нажимаем просмотр
не могли бы правильный код для 3-йки привести, если он не очень большой?
function TWideStrings.Add(const S: WideString): Integer;
var
PWStr: ^TWString;
begin
New(PWStr);
PWStr^.WString := S;
PWStr^.Obj := nil;
Result := FWideStringList.Add(PWStr);
end;