Rich Text Box

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Rich Text Box

Сообщение Dimon007 » 07.09.2007 (Пт) 22:36

Мне нужно при копировании текста из одного RTB в другой сохранять форматирование текста. При копировании и вставке вручную форматирование сохраняется, если же делать так:
Код: Выделить всё
rtb2.text=rtb1.text

То форматирование теряется.
Вопрос: форматирование можно сохранять только при копировании через буфер обмена, или же есть ещё какие-либо пути сохранения оного?
P.S. В поиске не нашёл ничего на эту тему
У каждой хорошей статьи дохода есть свой плохой номер в УК

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

Сообщение GSerg » 07.09.2007 (Пт) 22:39

Есть и такая примета, что чем примитивнее вопрос, тем обстоятельнее и описательнее его задают...

Автор, попробуй нажать F2. И в списке свойств ричтекстбокса найди то, которые содержит в своём названии слово Text. Но не просто Text.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 07.09.2007 (Пт) 23:03

Код: Выделить всё
rtb2.TextRTF = rtb1.TextRTF

так работает :D , спс.
А если вот так:
Код: Выделить всё
rtb2.TextRTF = rtb2.TextRTF + rtb1.TextRTF
,
то нет, как быть со вторым случаем?
У каждой хорошей статьи дохода есть свой плохой номер в УК

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

Сообщение GSerg » 07.09.2007 (Пт) 23:16

Если во втором случае копирование через буфер не нравится, то надо воспользоваться EM_SETSEL, о котором наверняка немало сказано в поиске.

Или, пойдя по пути ленивого, тупо присвоить SelRTF.

Учимся находить очевидные вещи самостоятельно.
Да?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 07.09.2007 (Пт) 23:40

GSerg, очивидные-то они очевидные, но найти их порой не так просто.
У каждой хорошей статьи дохода есть свой плохой номер в УК

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 08.09.2007 (Сб) 21:16

Ещё проблема. Сразу говорю, в поиске не нашёл ответа на свой вопрос.
Код: Выделить всё
d = Form1.txt_name.Text + " (" + str(1) + ")"
        Text1.SelStart = Len(Text1.Text)
        Text1.SelLength = Len(d)
        Text1.SelColor = RGB(0, 0, 255)
        Text1.Text = Text1.Text + d + vbCrLf + Text2.Text + vbCrLf

Text1 - это RTB. SelStart определяется нормально, а вот SelLength - неверно. К примеру при Len(d) = 19, Text1.SelLength = 2. И весь текст, а не только выделенный окрашивается в синий. Отчего такое может происходить?
У каждой хорошей статьи дохода есть свой плохой номер в УК

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

Сообщение GSerg » 08.09.2007 (Сб) 21:22

Dimon007 писал(а):Сразу говорю, в поиске не нашёл ответа на свой вопрос.

В поиске нет ответов и на другие, уж прости, предельно глупые вопросы.
Что такое в твоём понимании SelLength?
И как, в твоём понимании, работает .Text = ""? Детально? Ну, сначала ..., потом ..., и наконец ...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 08.09.2007 (Сб) 21:40

Что такое в твоём понимании SelLength?

SelLength в моём понимании - это длина выделения в символах.
И как, в твоём понимании, работает .Text = ""? Детально? Ну, сначала ..., потом ..., и наконец ...

Не понял тебя, что ты имеешь ввиду?

Код я чуть поправил, там ошибка была, но теперь вообще нет синего текста.
Код: Выделить всё
d = Form1.txt_name.Text + " (" + str(1) + ")"
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text + d + vbCrLf + Text2.Text + vbCrLf
Text1.SelLength = Len(d)
Text1.SelColor = RGB(0, 0, 255)
У каждой хорошей статьи дохода есть свой плохой номер в УК

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

Сообщение GSerg » 08.09.2007 (Сб) 21:52

Dimon007, перечитай топик сначала. Увидь там, пожалуйста, упоминание свойства SelRTF. И подумай.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 08.09.2007 (Сб) 22:25

GSerg, можешь сказать, где можно найти нормальный FAQ по RTB на русском? Поисковые системы просьба не предлагать.
У каждой хорошей статьи дохода есть свой плохой номер в УК

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

Сообщение GSerg » 08.09.2007 (Сб) 23:00

На русском? Увольте.

Есть http://msdn2.microsoft.com/en-us/library/aa261597(VS.60).aspx, и ничего более полного и справочного нет.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 09.09.2007 (Вс) 13:29

GSerg, спасибо те большое за проделанную тобой работу и оказанную тобой мне помощь
У каждой хорошей статьи дохода есть свой плохой номер в УК


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 90

    TopList