C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 4.35.4 - Отображение диалогового окна Печать (Print) / Cтандартные диалоговые окна / Win32 API

4.35.4 - Отображение диалогового окна Печать (Print)

Эта статья описывает типовой код, который показывает диалоговое окно Печать (Print), так что пользователь может выбирать параметры для печати документа. Типовой код сначала инициализирует структуру PRINTDLG, а затем вызывает функцию PrintDlg, чтобы показать диалоговое окно.

Этот пример устанавливает флажок PD_RETURNDC в элементе Flags структуры PRINTDLG. Это заставляет функцию PrintDlg возвратить в элементе hDC дескриптор контекста устройства для выбранного принтера. Вы можете использовать дескриптор, чтобы выполнить вывод данных на принтер.

При вводе данных, типовой код устанавливает элементы hDevMode и hDevNames в значение ПУСТО (NULL). Если функция возвращает значение ИСТИНА (TRUE), эти элементы возвращают дескрипторы структурам DEVMODE и DEVNAMES, содержащим вводимые данные пользователем и информацию о принтере. Вы можете использовать эту информацию, чтобы подготовить вывод данных, которые будут пересланы в выбранный принтер.

PRINTDLG pd;
HWND hwnd;

// Инициализация PRINTDLG.
ZeroMemory(&pd, sizeof(PRINTDLG));
pd.lStructSize = sizeof(PRINTDLG);
pd.hwndOwner   = hwnd;
pd.hDevMode    = NULL;      	// Не забудьте освободить или сохранить hDevMode.
pd.hDevNames   = NULL;    	// Не забудьте освободить или сохранить hDevNames.
pd.Flags       = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
pd.nCopies     = 1;
pd.nFromPage   = 0xFFFF;
pd.nToPage     = 0xFFFF;
pd.nMinPage    = 1;
pd.nMaxPage    = 0xFFFF;


if (PrintDlg(&pd)==TRUE) 
{
	// GDI обращается к выполнению вывода данных.
	// После выполнения удаляем DC.
	DeleteDC(pd.hDC);
}

| |
Автор Владимир Соковиков.
[AD]