Текущий архив: 2007.02.11;
Скачать: CL | DM;
ВнизРабота с принтером Найти похожие ветки
← →
распечатчик (2007-01-24 12:29) [0]Задача состоит в следующем. Необходимо организовать печать графики с подготовленной канвы. воспользовался примером этого сайта:
procedure PrintGetPrinterDeviseProp;
begin
PixelsX:=GetDeviceCaps(printer.Handle,LogPixelsX);
PixelsY:=GetDeviceCaps(printer.Handle,LogPixelsY);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
PrintDlg: TPrintDialog;
begin
//принять
PrintDlg:=TPrintDialog.Create(Owner);
if PrintDlg.Execute then
begin
With Printer do
Begin
BeginDoc; { Начало печати }
PrintGetPrinterDeviseProp;
Canvas.Font:=label1.font; { Задали шрифт }
Canvas.TextOut(100,100,"Это тест принтера !!!"); { Печатаем текст }
EndDoc; { Конец печати }
end;
end;
PrintDlg.Free;
end;
Вылетает. AV на строке begindoc.
Хотелось бы услышать подсказки по конкреному коду и/или вобще по задаче.
Спасибо
← →
TRUNK © (2007-01-24 13:40) [1]
> PrintGetPrinterDeviseProp;
Чего-то я о такой функции не слышал...
← →
распечатчик (2007-01-25 09:18) [2]К счастью орфография не влияет на выполнение кода. С этим разобрался. Помогите разобраться с настройками принтера. Не могу понять как задаются настройки печати и даже просто выбора принтера. Если выбирать принтер в окне диалога принтера, то печать идет через принтер который стоит по умолчанию (т.е. ему все равно выбрал я другой принтер или нет - результат один и тот же) и как бы я не настраивал печать все настройки почему-то не принимаются (ему по-прежнему все равно).
← →
распечатчик (2007-01-25 11:33) [3]Ну помогите, ведь наверняка же кто-то сталкивался с этим.
← →
TRUNK © (2007-01-25 17:34) [4]Проверь, меняется ли Printer.PrinterIndex после закрытия TPrintDialog.
← →
распечатчик (2007-01-26 09:31) [5]Нет. Я уже проверил. Я вручную присваиваю ему номер нужного принтера. Тогда принтер меняется, а как мне вручную задать принтеру, чтоб он печатал с качеством фотопечати? Потому что через стандартное окно диалога ничего не меняется почему-то.
← →
распечатчик (2007-01-26 09:47) [6]Или объясните как таки заставить принтер принимать измененные настройки через стандартное окно диалога с принтером.
← →
TRUNK © (2007-01-26 10:01) [7]
> а как мне вручную задать принтеру, чтоб он печатал с качеством
> фотопечати?
Для этого есть кнопка "Свойства" справа от ComboBox"а в котором выбирается принтер. Или и это не помогает?
← →
распечатчик (2007-01-26 10:19) [8]Так ведь я говорю. Я поставил свой компобокс, забил его принтерами и при выборе принтера присваваю -
Printer.PrinterIndex := comboBox.itemIndex;
А через Форму диалога с принтером с вкладки диалоги нельзя ни принтер выбрать ни свойства принтера. Ничего не принимается. Поетому я и спрашиваю как программно вручную ему задать печать с качеством фотопечати. Или я где то неправильно изначально делаю что-то с диалогом.
← →
TRUNK © (2007-01-26 10:31) [9]
> как программно вручную ему задать печать с качеством фотопечати
Возможен такой вариант:
1) заполняем структуру DEVMODE
2) вызываем CreateDC
P.S. А может что-то не так с драйверами печати?
Страницы: 1 вся ветка
Текущий архив: 2007.02.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.048 c