Фокус на кол-во копий в Диалоге печати

отредактировано 03:26 Раздел: FastReport 4.0
Подскажите, пожалуйста, как при нажатии на иконку печати (при выводе диалога печати) установить фокус ввода на поле "Количество копий", как это делается в приложениях MS Office?
Искал на форуме, но решения не нашёл.

Комментарии

  • отредактировано 03:26
    Ну хоть идею подскажите.
    Как фокус установить на количество копий?
  • Stalker4Stalker4 123
    отредактировано 03:26
    Nightmareterrible написал: »
    Ну хоть идею подскажите.
    Как фокус установить на количество копий?
    Диалог печати это форма самого FR.
    Так как стандартно такой возможности не предусмотрено, то выход тут только один:
    Внести необходимые изменения в исходники FR.
    И как вариант послать соответствующее предложение разработчикам FR.
  • отредактировано August 2013
    Благодаря помощи тех. поддержки разобрался. Если кому надо, держите код.

    1) После показа отчёта код:
    TfrxPreviewForm(frxReport1.PreviewForm).PrintB.OnClick := frxPreviewPrintButtonClick;
    

    2)
    procedure frxPreviewPrintButtonClick(Sender: TObject);
    var
      frxPrintDialog: TfrxPrintDialog;
      old_showDialog: Boolean;
    begin
      old_showDialog := frxReport1.PrintOptions.ShowDialog;
      if frxReport1.PrintOptions.ShowDialog then
      begin
        frxPrintDialog := TfrxPrintDialog.Create(Application);
        frxPrintDialog.AReport := frxReport1;
        // frxPrintDialog.ADuplexMode := DuplexMode;
        frxPrintDialog.ActiveControl := frxPrintDialog.CopiesE;
        frxPrintDialog.ShowModal;
        if frxPrintDialog.ModalResult = mrOK then
        begin
          // DuplexMode := ADuplexMode;
          // frxReport1.PrintOptions.Duplex := DuplexMode;
          frxReport1.PrintOptions.ShowDialog := false;
          frxReport1.Print;
          frxReport1.PrintOptions.ShowDialog := old_showDialog;
          frxPrintDialog.Free;
        end
        else
        begin
          frxPrintDialog.Free;
          // FCopyNo := 0;
          // Result := false;
          // SavePrintOptions.Free;
          exit;
        end;
      end
      else
        frxReport1.Print;
    end;
    
    То, что закомметировано, вызывает непонятки у комплилятора, но в таком виде мне дали код, посему решил оставить.

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

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