Выбираем лоток принтера из delphi
Сегодня мы напишем с вами одну очень интересную процедуру, она позволяет выбирать лоток принтера, с помощью которого производится печать.
Первым делом в раздел 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;
Буквально на днях хотел поэкспериментировать с кодом и проверить его на МФУ hp laserjet m2727 , но видать не судьба, у аппарата сломалась печка и его отдали в фирму по ремонту факсов
На этом все,... ДА чуть не забыл помимо автоматического выбора лотка существуют следующие параметры:
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. Огромное спасибо Павлу за присланный код данного примера.
Не забываем подписываться на бесплатную мультимедийную рассылку.
Форма для подписки расположена с права и с лева.
С уважением www.delphiexpert.ru
Похожие материалы
- Отлавливаем нажатие калавиш клавиатуры.
- Уроки Delphi: DBGrid передать все значения в строке в другую форму
- Delphi уроки: Учимся ставить ограничения
- Delphi уроки: Динамически (программно) создаем новую форму.
- Delphi уроки - Загружаем в BitBtn картинку формата jpg
Последние из рубрики
- Как создать круглую форму на Delphi
- Delphi, вызываем окно завершение работы Windows
- Delphi работа с системным реестром