Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kwas
0 / 0 / 0
Регистрация: 09.03.2008
Сообщений: 8
#1

Структура DEVMODE принтера - C++

29.04.2008, 22:12. Просмотров 948. Ответов 0
Метки нет (Все метки)

Люди, подскажите, кто грамотный, как заполучить структуру DEVMODE принтера.
Теория такая: определяем размер этой структуры (для каждого притера разный), соответственно, выделяем под неё память, передаем указатель на неё в API-функцию DocumentProperties, читаем нужные поля.
Делаю так:

#include <wingdi.h>

String DevName = 'HP DJ 1220C'; // для проверки пишу руками
LPHANDLE phPrinter;
OpenPrinter (DevName.c_str(), phPrinter, NULL); //получаю хэндл принтера

//получить требуемый размер структуры DEVMODE (не работает)
long bufsize = DocumentProperties(Handle, phPrinter, DevName.c_str(),0,0,0);

/* даже если определить этот размер другим способом, */
long bufsize1, bufsize2;
bufsize1 = DeviceCapabilities(DevName.c_str(), 'LPT1:', DC_SIZE, '',0);
bufsize2 = DeviceCapabilities(DevName.c_str(), 'LPT1:', DC_EXTRA,'',0);
bufsize = bufsize1 + bufsize2;
/* то как потом _переопределить_ размер этой структуры для передачи
в эту же функцию четвертым параметром*/

PDEVMODE dmOutDM; // такой тип требует функция DocumentProperties
DocumentProperties(hFr,phPrinter,DevName.c_str(),dmOutDM,0,2); // всегда
возвращает ошибку

И ничего не получается. Я понимаю, что ошибка в ДНК, но может быть и еще где-то.

ЗЫ: А вообще-то задача получить/установить определённый формат бумаги.
Не в мм, а по названию (А3, А4, ...).
Если это можно сделать както проще, то, плиз, подскажите.

--
Константин Васильев
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2008, 22:12     Структура DEVMODE принтера
Посмотрите здесь:

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Структура DateTime, битовая структура - C++
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...

Структура, доступная из всех файлов проекта ("глобальная" структура) - C++
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Как получить DC принтера? - C++
Не могу найти информацию,можно ли получить контекст принтера,и если можно то как затем распечатывать информацию, как определить конец...

Помогите получить HDC принтера вывести печать текста функцией DrawText - C++
Написал программку (для бух.) и хочу сделать свою процедуру печати. Помогите получить HDC принтера с помощью CreateDC, вывести туда...

структура с++ - C++
Скажите, пожалуйста, в чем ошибка. почему не считает средний бал, фамилии, классы? #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; ...

структура - C++
Нужно составить структуру , элементы которой - студенты. нужно составить так , чтобы потом при вводе фамилии студента с клавиатуры ,...

Структура - C++
Дан массив из 6 элементов типа структура, содержащих координаты центра окружности и радиус(x,y,r)Надо определить и вывести на печать...

Си, структура - C++
Привет всем =) Помогите пожалуйста решить задачку на структуру... Определить структуры, описывающие шар и точку в трехмерном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru