Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

Работа с принтером   Найти похожие ветки 

 
распечатчик   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
1-1166602375
bear99
2006-12-20 11:12
2007.02.11
Удалений информации с дика


2-1169609787
exolon
2007-01-24 06:36
2007.02.11
Помогите укротить типизированный файл.


1-1166097257
webpauk
2006-12-14 14:54
2007.02.11
добавление BitMap в ImageList


2-1169440828
Генрих
2007-01-22 07:40
2007.02.11
Memo и номер строки


15-1169202638
DeadMeat
2007-01-19 13:30
2007.02.11
Литература по SQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский