И ОПЯТЬ вопрос про предпросмотр

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

И ОПЯТЬ вопрос про предпросмотр

Сообщение hCORe » 05.12.2003 (Пт) 19:47

Доброго времени суток всем!

Вопрос состоит в том, что мне нужно получить количество (можно приблизительно) страниц, выводимых на печать из программы. Использую RichTextBox Control 6.0 и метод SelPrint. Может быть, есть какая-нибудь универсальная формула, чтобы зная размер документа, размер страницы A4 в пикселях и прочую пургу можно было приблизительно рассчитать количество печатаемых страниц. А то юзеры все хотят чтобы был предпросмотр или хотя бы его "эмуляция" :cry:

Можно через WinAPI (SendMessage) или через VB - суть реализации меня не интересует. Желательно без специальных библиотек и дополнительных OCX-контролов (только база Win32 и методы RichTextBox).

ЗЫ. Это не к спешке, просто ради интереса нужно. Может кто и вправду знает :wink:

ЗЗЫ. Желательно с примерами кода, а тоя непонятливый :?
Моду создают модоки, а распространяют модозвоны.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.12.2003 (Сб) 7:45

Eсть функция TextHeight у формы...
Передаёшь ей одну строчку, потому умножаешь на количество оных... Где-то так :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Моя твоя не понимай...

Сообщение hCORe » 07.12.2003 (Вс) 19:38

Если бы я печатал (рисовал) на форме напрямую (С AutoRedraw=True), то можно было бы сделать и так...

А так придется печатать на форме весь текст для определения высоты, а потом высчитывать все вместе, да еще преобразовывать твипсы в пиксели, да еще делить получившийся результат на количество предпологаемых пикселей A4 (за вычетом межстрочных интервалов) и т.д. и т.п.

В общем, неудобно это. Может как нибудь через WinAPI, вон как в текстовых редакторах крутых делают?

ЗЫ. В Сишных программах (MSVC++) есть стандартное окно предпросмотра. Можно ли его вызвать из VB?? Смотрел в API-Guide - нулевой результат :cry:
Моду создают модоки, а распространяют модозвоны.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 19

    TopList