<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.shelek.ru/index.php?action=history&amp;feed=atom&amp;title=FAQ%3AWinAPI_VCPP%3A%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DCD</id>
		<title>FAQ:WinAPI VCPP:вывод на печать с помощью DCD - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.shelek.ru/index.php?action=history&amp;feed=atom&amp;title=FAQ%3AWinAPI_VCPP%3A%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DCD"/>
		<link rel="alternate" type="text/html" href="https://wiki.shelek.ru/index.php?title=FAQ:WinAPI_VCPP:%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DCD&amp;action=history"/>
		<updated>2026-05-27T02:19:29Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://wiki.shelek.ru/index.php?title=FAQ:WinAPI_VCPP:%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DCD&amp;diff=308&amp;oldid=prev</id>
		<title>RXL: Новая: ===Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?===  Надо нарисовать все тож...</title>
		<link rel="alternate" type="text/html" href="https://wiki.shelek.ru/index.php?title=FAQ:WinAPI_VCPP:%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BD%D0%B0_%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_DCD&amp;diff=308&amp;oldid=prev"/>
				<updated>2008-07-30T11:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: ===Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?===  Надо нарисовать все тож...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Как вывести на печать то, что я нарисовал в контексте устройства (класс CDC)?===&lt;br /&gt;
&lt;br /&gt;
Надо нарисовать все тоже самое в контексте принтера.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
//пытаемся получить хендл принтера, используемого по умолчанию&lt;br /&gt;
//(через стандартный диалог)&lt;br /&gt;
CPrintDialog dlg(FALSE);&lt;br /&gt;
dlg.GetDefaults();&lt;br /&gt;
HDC hdcPrinter = dlg.GetPrinterDC();&lt;br /&gt;
&lt;br /&gt;
if (hdcPrinter == NULL)&lt;br /&gt;
{&lt;br /&gt;
	MessageBox(&amp;quot;Принтер не установлен&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	// создаём контекст (CDC) и привязываем его к принтеру&lt;br /&gt;
	CDC dcPrinter;&lt;br /&gt;
	dcPrinter.Attach(hdcPrinter);&lt;br /&gt;
	// вызов StartDoc() для начала печати&lt;br /&gt;
	DOCINFO docinfo;&lt;br /&gt;
	memset(&amp;amp;docinfo, 0, sizeof(docinfo));&lt;br /&gt;
	docinfo.cbSize = sizeof(docinfo);&lt;br /&gt;
	docinfo.lpszDocName = &amp;quot;Важный документ :)&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if (dcPrinter.StartDoc(&amp;amp;docinfo) &amp;lt; 0)&lt;br /&gt;
	{&lt;br /&gt;
		MessageBox(&amp;quot;Не удалось инициализировать принтер&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		//смотрим номер стартовой страницы&lt;br /&gt;
		if (dcPrinter.StartPage() &amp;lt; 0)&lt;br /&gt;
		{&lt;br /&gt;
			MessageBox(&amp;quot;Не могу начать печатать страницу&amp;quot;);&lt;br /&gt;
			dcPrinter.AbortDoc();&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			//производим отрисовку графики на контексте&lt;br /&gt;
	&lt;br /&gt;
			//начали рисовать&lt;br /&gt;
			{&lt;br /&gt;
				CGdiObject* pOldFont =&lt;br /&gt;
					dcPrinter.SelectStockObject(SYSTEM_FONT);&lt;br /&gt;
				dcPrinter.TextOut(50, 50, _T(&amp;quot;Hello World!&amp;quot;), 12);&lt;br /&gt;
				dcPrinter.SelectObject(pOldFont);&lt;br /&gt;
	&lt;br /&gt;
				//рисование окончено&lt;br /&gt;
			}&lt;br /&gt;
	&lt;br /&gt;
			//финализируем распечатывание документа&lt;br /&gt;
			dcPrinter.EndPage();&lt;br /&gt;
			dcPrinter.EndDoc();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ:WinAPI VCPP]]&lt;/div&gt;</summary>
		<author><name>RXL</name></author>	</entry>

	</feed>