Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Проблемы печати DW  [new]
DvB
Member

Откуда:
Сообщений: 28
Проблем, конечно много, но конкретно следующая:
Согласно PB help свойства DataWindow.Print.Margin.xxx задаются в тех же
единицах, что заданы в DataWindow.Units. Однако пользователь хочет указывать поля в привычных сантиметрах через интерфейс настройки печати.
Проблема в том, что существует огромное "наследие" печатных форм с units
пикселями и PBU. К тому же, физически эти формы далеко от разработчиков.
(Я это к тому, что нет возможности залезть в каждую и установить там тысячные доли сантиметра.) Так вот, не знает ли кто - как перевести пиксели в сантиметры для печати?
13 май 05, 17:13    [1537919]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы печати DW  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
Вот, если ничего не напутал
function  uLong GetDC ( uLong wHndl ) library "user32.dll"
function long GetDeviceCaps ( uLong wHndl, long nIndex )  library "gdi32.dll"
function  long ReleaseDC ( uLong wHndl, uLong dcHndl ) library "user32.dll"

long il_DPIX,il_DPIY
decimal il_cInchToCm = 2.54
decimal x_cm,y_cm
lobg ll_DC

ll_DC = GetDC(0)
il_DPIX = GetDeviceCaps(ll_DC, 88);
il_DPIY = GetDeviceCaps(ll_DC, 90);
ReleaseDC(0, ll_DC);


x_cm =  x / il_cInchToCm / 1000 * il_DPIX
y_cm = y / il_cInchToCm / 1000 * il_DPIY
13 май 05, 17:33    [1537989]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы печати DW  [new]
DvB
Member

Откуда:
Сообщений: 28
Спасибо, Марк. Попробую. Только поясните, пожалуйста, контекст от 0 - это чей контекст?
13 май 05, 17:42    [1538027]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы печати DW  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
DvB
контекст от 0 - это чей контекст

Десктопа
13 май 05, 17:46    [1538042]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить