Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отправить RichTextBox.Text в PrintDialog, отправить RichTextBox.Text в PrintDialog 
:(
    Опции темы
IrinaProkopcova
  Дата 7.2.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.2.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



smile Помогите, пожалуйста, как отправить RichTextBox.Text в PrintDialog? Спасибо!
PM MAIL   Вверх
Exception
Дата 12.2.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Это несколько затруднительно, потому в коде использован контрол RichTextBoxEx.
В архиве лежит контрол и тестовая программка для работы с ним.
Почитать о нем можно здесь (если есть MSDN):
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEV.v10.en/dnwinforms/html/wnf_RichTextBox.htm

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  RichTextBoxEx_VB.zip 97,00 Kb
PM   Вверх
IrinaProkopcova
Дата 13.2.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.2.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



smile Спасибо, большое, за внимание! Я тоже решила эту проблему, правда может не очень красиво, но все-же.
' Подключаю файл
Код

    Private Sub mnuPrewievs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPrewievs.Click
        Dim strS As String
        Dim strD As String
        Dim nType As Integer = FreeFile()
        Dim MyFile As StreamReader
        frmReportTitul.Show()
        frmReportTitul.MdiParent = Me
        frmReportTitul.ReportTitul.LoadFile(dlgOpen.FileName, _
        RichTextBoxStreamType.RichText)
    End Sub   
' Формирую страницу печати
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim strD As String
        Dim strV As String ' для считывания одной строчки 
        Dim chL As String ' для считывания одногосимвола
        Dim Cou As Integer = 1 ' счетчик для строки
        Dim intCounter As Integer ' счетчик по RichTextBox.Text
        strV = frmReportTitul.ReportTitul.Text
        For intCounter = 1 To 88 ' Универсально для самого маленького шрифта на один лист
            Do
                If chL <> Chr(10) And chL <> Chr(13) And chL <> "" Then
                    strD = strD & chL
                End If
                chL = Mid(strV, Cou, 1)
                Cou += 1
            Loop While chL <> Chr(10) And Cou < Len(strV)
            If chL = "" Then
                Exit For
            End If
            frmReportTitul.ReportTitul.Find(strD) ' Ищу строку, чтобы считать шрифт SelectionFont
            'Оператор для формирования графического объекта
            e.Graphics.DrawString(strD, frmReportTitul.ReportTitul.SelectionFont(), Brushes.Black, 0, (intCounter - 1) * 18)' *18 - приблизительный интервал между строками
            strD = ""
        Next
    End Sub
'Печатаю
    Private Sub mnuPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPrint.Click
        PrintDocument1.Print()
    End Sub

Простенько, но работает.
smile P.S. примеры почему-то не открываются.

Это сообщение отредактировал(а) Exception - 13.2.2006, 10:00
PM MAIL   Вверх
Exception
Дата 13.2.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Так он вроде как не печатает картинки. Мой вариант более универсальный smile
PM   Вверх
IrinaProkopcova
Дата 13.2.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.2.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



smile Не открыть никак, с удовольствием-бы почитала!
Добавлено @ 11:34
smile Поняла в чем дело! У Вас наверно Studio.Net 2005? А у меня 2003 и ругается на меня жутко. Жду скоро должны прислать. Тогда посмотрю. Спасибо!
PM MAIL   Вверх
Exception
Дата 13.2.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Угу. Она самая. Это из MSDN January 2005 Release For Visual Studio 2005 статейка, видимо в более ранних его нет.
PM   Вверх
IrinaProkopcova
Дата 13.2.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 2.2.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



smile А тогда такой вопрос: 2005 по-интересней чем 2003, или особой разницы нет? И смогу я свой проект начатый на 2003 дописывать на 2005?
PM MAIL   Вверх
Exception
Дата 13.2.2006, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Об особенностях Visual Studio 2005 можно почитать по ссылке вверху страницы (в шапке форума). Мне куда больше нравится smile . Насчет примеров - домой приду, скину для 2002 студии.
PM   Вверх
Exception
Дата 13.2.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Архив для 2002-й студии.

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  RichTextBoxEx_VB.zip 97,00 Kb
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.