Clarion 8.5, Win XP.
Долго искал и не смог найти нигде, как ввести настройку принтера в превью отчета. В конце-концов, вставил в ABREPORT.CLW строку меню, которая работает (пока вызывается только сообщение о последующей вставке здесь настройки принтера). А вот что именно и где вставить, чтобы вызывалась стандартная процедура настройки принтера? Прошу поделиться опытом, мыслями...
Конечно, соответствующие изменения внес и в ABREPORT.TRN и ABREPORT.INC.
Мои изменения в ABREPORT.CLW:
PreviewWindow WINDOW('Просмотр отчета'),MAX,AT(,,310,120),CENTER,ICON(ICON:Print),STATUS(-1,90,70),FONT('MS Shell Dlg', 10,,, CHARSET:ANSI),GRAY,ALRT(MouseRightUp), ALRT(PgUpKey), ALRT(PgDnKey),IMM,RESIZE
MENUBAR, USE(?MENUBAR)
MENU('&Файл'), USE(?FileMenu)
ITEM('Настройка принтера'), USE(?PrintSetup), KEY(CtrlP), MSG('Настройка принтера')
ITEM('Вы&бор страниц для печати...'), USE(?PagesToPrint), MSG('Выбор страниц для печати')
. . .
PrintPreviewClass.TakeAccepted PROCEDURE
c UNSIGNED,AUTO
i BOOL,AUTO
ReturnValue BYTE
CODE
IF PARENT.TakeAccepted() THEN RETURN Level:Notify.
CASE FIELD()
OF ZoomItem+1 TO ZoomItem+RECORDS(SELF.ZoomQueue)
i = SELF.ZoomIndex
SELF.ZoomIndex = ACCEPTED() - (ZoomItem+1) + 1
IF SELF.ZoomIndex <> i
SELF.NewZoom
END
OF SELF.PrtPrev:TBarZoom
SELF.ConfigMenuChecks
SELF.Popup.Ask()
OF SELF.PrtPrev:MenuPrintSetup
Message('Здесь должна быть настройка принтера')
. . .
Так что вставить вместо сообщения? Спасибо за любые наводки!
Настройка принтера в Preview
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Настройка принтера в Preview
Классически это делается так: В Init метод WindowManager'а (можно в самом начале) ставится текст
Почему так? Потому, что после создания отчёта (а превью показывает созданный отчёт) изменения настроек принтера ни к чему не приведут, надо заново создавать отчёт. Единственное, что можно сделать - дать возможность выбрать страницы для печати, для этого надо править шаблоны или классы, я так понимаю.
Код: Выделить всё
if ~printerdialog()
ReturnValue = Level:Fatal
end
We are hard at work… for you.
- vea
- Бывалый
- Сообщения: 51
- Зарегистрирован: 01 Сентябрь 2005, 15:48
- Откуда: Иваново
- Контактная информация:
Re: Настройка принтера в Preview
Спасибо за ответ. У меня было подозрение, что эти настройки не будут действовать из превью. Выбор страниц возможен в превью и без переделки, по умолчанию.
Хотя, попробовал вставить в ABREPORT.CLW :
PrintPreviewClass.SetINIManager PROCEDURE(INIClass INI)
CODE
ASSERT(~INI&=NULL)
SELF.INIMgr &= INI
if ~printerdialog()
Return
end
и стали доступны настройки ориентация, сторона переворота, количество копий, выбор подачи бумаги (кассета или ручная). Возможно и выбор принтера (не пробовал, т.к. у меня один)... Что касается самого отчета, то он, конечно, не меняется.
Т.к. основная моя задача (выбор подачи) решена , то огромное спасибо за эту подсказку!
P.S. Попробовал в ABREPORT.CLW переставить на место моего сообщения - не работает.
Куплен организацией. Однако, наврал - v.8.0.8973. Давно это было. Прошу простить, сильно верил в это...
Хотя, попробовал вставить в ABREPORT.CLW :
PrintPreviewClass.SetINIManager PROCEDURE(INIClass INI)
CODE
ASSERT(~INI&=NULL)
SELF.INIMgr &= INI
if ~printerdialog()
Return
end
и стали доступны настройки ориентация, сторона переворота, количество копий, выбор подачи бумаги (кассета или ручная). Возможно и выбор принтера (не пробовал, т.к. у меня один)... Что касается самого отчета, то он, конечно, не меняется.
Т.к. основная моя задача (выбор подачи) решена , то огромное спасибо за эту подсказку!
P.S. Попробовал в ABREPORT.CLW переставить на место моего сообщения - не работает.
Куплен организацией. Однако, наврал - v.8.0.8973. Давно это было. Прошу простить, сильно верил в это...
С уважением, vea
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Настройка принтера в Preview
Оказывается, в Previewer классе есть свойство ConfirmPages. Если его выставить в 1, то при печати из превью выскакивает диалог с возможностью выбора страниц для печати.
Появилась ещё функция PrinterDialogA, там несколько параметров, в том числе ссылка на открытый Report. Такое ощущение, что изменение в настройках принтера повлияют на отчёт без его перестройки (во всяком случае хочется в это верить). Надо с этой функцией разбираться.
Появилась ещё функция PrinterDialogA, там несколько параметров, в том числе ссылка на открытый Report. Такое ощущение, что изменение в настройках принтера повлияют на отчёт без его перестройки (во всяком случае хочется в это верить). Надо с этой функцией разбираться.
We are hard at work… for you.