После изменения маштаба не центруеться РЕПОРТ

отредактировано 14:47 Раздел: FastReport 3.0
Похоже нашел баг
Делаем так, я открываю отчет и увеличеваю масштаб и двигаю его на лево. При повторном открытии, отчет уменшаеться до указаных размеров, но остается в левой староне и оказываеться что отчет как бы пустой. Но стоит нажать левую кнопку мыши и потянуть, то отчет сразу центрируеться.
Да Кнопки меню я использую свои, по этому и превиев тоже используеться.

По моему при стандартых кнопках такого не происходит. Поэтому вопрос - как решить? ;)

Комментарии

  • отредактировано 14:47
    Похоже это не знают да же разработчики, или? ;)
  • отредактировано 14:47
    В последней версии это было поправлено (со сдандартным превью).
  • отредактировано 14:47
    У меня FastReport 3.22
    Со стандартным превью все нормально, но в том то и дело что мне надо свое превью делать ;)
  • отредактировано 14:47
    Если масштаб был сильно увеличен и полоса прокрутки была прокручена влево, то при уменьшении масштаба значение полосы прокрутки остается прежним.
    После изменения масштаба вам нужно сделать так(FWorkspace - TfrxPreviewWorkspace):

    FWorkspace.HorzPosition := FWorkspace.HorzPosition;
    FWorkspace.VertPosition := FWorkspace.VertPosition;

  • отредактировано 14:47
    Сейчас попробую
  • отредактировано 14:47
    Я сделал так
    TfrxPreviewWorkspace *FWorkspace;
    FWorkspace->HorzPosition=FWorkspace->HorzPosition;
    FWorkspace->VertPosition=FWorkspace->VertPosition;
    
    но ошибку выдает
    И извените я не понял, этот код надо вставлять сразу после изменения масштаба или как
    При компеляции ошибку не выдает. И еще я посмотрел в списке класов такого нет (FastReport 3.22)
  • отредактировано 14:47
    TfrxPreviewWorkspace это рабочие пространство preview(где отображаются страници).
    написал:
    Я сделал так
    TfrxPreviewWorkspace *FWorkspace;
    FWorkspace->HorzPosition=FWorkspace->HorzPosition;
    FWorkspace->VertPosition=FWorkspace->VertPosition;
    
    но ошибку выдает
    Естественно вы не создали объект, но его и не нужно создавать - это закрытое поле класса TfrxPreview.
    Для доступа к FWorkspace нужно сделать так:
    TfrxPreviewWorkspace *FWorkspace;
    for(int i = 0; i < frxPreview1->ComponentCount;i++)
       if (FWorkspace = dynamic_cast <TfrxPreviewWorkspace *> (frxPreview1->Controls[i]))
    {
    FWorkspace->HorzPosition=FWorkspace->HorzPosition;
    FWorkspace->VertPosition=FWorkspace->VertPosition;
    }
    

    или просто послать WM_SIZE : SendMessage(frxPreview1->Handle,WM_SIZE,0,0);
  • отредактировано 14:47
    Я попробовал оба варианта но в процесе не чего не происходит, то есть остается все также.
    Вставил этот код как вы и писали на кнопке котороя увеличевает маштаб
      M_Stab=M_Stab+0.5;
      frxPreview1->Zoom=M_Stab;
    
    TfrxPreviewWorkspace *FWorkspace;
    for(int i = 0; i < frxPreview1->ComponentCount;i++)
      if (FWorkspace = dynamic_cast <TfrxPreviewWorkspace *> (frxPreview1->Controls[i]))
    {
    FWorkspace->HorzPosition=FWorkspace->HorzPosition;
    FWorkspace->VertPosition=FWorkspace->VertPosition;
    }
    
    ничего может опять что-то не то ;)
  • отредактировано 14:47
    Отправил пример на e-mail.
  • отредактировано 14:47
    Это немного трудновато так как мой проект весит 15 метров. Но в принцепе можно сделать новый проект. Как сделаю вышлю.
  • отредактировано 14:47
    Примерный проект создал высылаю
  • отредактировано 14:47
    вот блин а на какой e-mail ?
  • gpigpi
    отредактировано 14:47
    den@fast-report.com
  • отредактировано 14:47
    Evgesha написал:
    вот блин а на какой e-mail ?
    Я написал, что я вам выслал пример, разве письмо не дошло(отослал на емайл который зарегистрирован на форуме) ?)


  • отредактировано 14:47
    Письмо дошло спасибо
    буду разбираться
    У меня стоит FastReport 3.22
    А какой последжний
  • отредактировано 14:47
    3.23.9

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

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