Числа вертикально...

bakhbakh Санкт-Петербург
отредактировано 15:40 Раздел: FastReport 2.xx VCL
Здрасьте!..

Делаю мемо с числом, выравниваю по правому краю, центрую по высоте,
делаю вертикально...
Делаю бэнд - stretched...
Получается фигня...
Попробовал поправить в исходниках (мы зарегистрированные пользователи), но добился желаемого только частично... То работает, то не работает... ;)

Наш fr_class.pas 323,952 29.12.03 18:52...
Может это уже давно поправили?..

Спасибо за внимание!..

Комментарии

  • bakhbakh Санкт-Петербург
    отредактировано 15:40
    Короче, таки решил сам...
    Ловите, пользуйтесь, если кому надоть...
    А может есть более другое решение?..
    Буду рад узнать...
    ====================================================
    Сравнение файлов ORIGINAL\fr_class.pas и FR_CLASS.PAS
    ***** ORIGINAL\fr_class.pas
    337: VHeight: Integer; // used for height calculation of TfrMemoView
    339: procedure P1Click(Sender: TObject);
    ***** FR_CLASS.PAS
    337: VHeight: Integer; // used for height calculation of TfrMemoView
    338: HHeight: Integer; // used for height calculation of TfrMemoView
    340: procedure P1Click(Sender: TObject);
    *****

    ***** ORIGINAL\fr_class.pas
    3136: DeleteObject(h);
    3138: VHeight := size - x + gapx;
    3139: TextHeight := size1;
    ***** FR_CLASS.PAS
    3137: DeleteObject(h);
    3139: HHeight := size - x + gapx;
    3140: VHeight := WCanvas.TextWidth(Memo1[0]) + gapy + gapy;
    3141: TextHeight := size1;
    *****

    ***** ORIGINAL\fr_class.pas
    3249: n := (DR.Bottom - DR.Top - th * Memo1.Count) div th;
    3250: for i := 0 to n - 1 do
    ***** FR_CLASS.PAS
    3251: n := (DR.Bottom - DR.Top - th * Memo1.Count) div th;
    3252: for i := 0 to n - 1 do
    *****

    ***** ORIGINAL\fr_class.pas
    3327: VHeight := Round(VHeight * ScaleY);
    3328: if (Alignment and $18) <> 0 then
    ***** FR_CLASS.PAS
    3329: VHeight := Round(VHeight * ScaleY);
    3330: HHeight := Round(HHeight * ScaleY);
    3331: if (Alignment and $18) <> 0 then
    *****

    ***** ORIGINAL\fr_class.pas
    3335: if (ad and $18) = $8 then
    3336: x := x + ({dx}(DRect.Right - DRect.Left) - VHeight) div 2
    3337: else if (ad and $18) = $10 then
    3338: x := DRect.Right - VHeight;
    3339: OutMemo90;
    ***** FR_CLASS.PAS
    3338: if (ad and $18) = $8 then
    3339: x := x + ({dx}(DRect.Right - DRect.Left) - HHeight) div 2
    3340: else if (ad and $18) = $10 then
    3341: x := DRect.Right - HHeight;
    3342: OutMemo90;
    *****
    =====================================================

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.