Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Выбор лотка принтера

Статус
В этой теме нельзя размещать новые ответы.

~Jack~

Специалист
Сегодня мы напишем с вами одну очень интересную процедуру, она позволяет выбирать лоток принтера, с помощью которого производится печать.
Первым делом в раздел uses добавляем модуль Printers, затем после ключевого слова public прописываем вот такую строчку

procedure ChangePrinterTray;

И нажимаем CTRL+SHIFT+C.
Delphi автоматически генерирует шаблон нашей процедуры, а полный её вид будет выглядеть следующим образом:

procedure TForm1.ChangePrinterTray;
var
ADevice, ADriver, APort: array [0..255] of Char;
ADeviceMode: THandle;
DevMode: PDeviceMode;
begin
Printer.GetPrinter( ADevice, ADriver, APort, ADeviceMode );
if ADeviceMode <> 0 then
begin
GlobalUnlock( ADeviceMode );
DevMode := GlobalLock( ADeviceMode ); //Получаем указатель на текущие параметры
DevMode.dmDefaultSource := DMBIN_AUTO; //Здесь указывается параметры относительно лотка (в данный момент указывается, что выбирается автоматически)
DevMode.dmFields := DevMode.dmFields or DM_DEFAULTSOURCE; //Указывает, что мы будем обновлять
GlobalUnlock( ADeviceMode );
Printer.SetPrinter( ADevice, ADriver, APort, ADeviceMode );//Применяем новые параметры
end;
end;

На этом все,... ДА чуть не забыл помимо автоматического выбора лотка существуют следующие параметры:

DMBIN_ONLYONE
DMBIN_MIDDLE
DMBIN_LOWER
DMBIN_MANUAL
DMBIN_ENVELOPE
DMBIN_ENVMANUAL
DMBIN_AUTO
DMBIN_TRACTOR
DMBIN_SMALLFMT
DMBIN_LARGEFMT
DMBIN_LARGECAPACITY
DMBIN_CASSETTE
DMBIN_FORMSOURCE

Вот сейчас действиельно все !!!

P.S. Огромное спасибо Павлу за присланный код данного примера.
Не забываем подписываться на бесплатную мультимедийную рассылку.
Форма для подписки расположена с права и с лева.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу