RTF + Вставка картинки с дальнейшим сохранением как .rtf

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Elmer
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 12.02.2002 (Вт) 2:19
Откуда: Russia

RTF + Вставка картинки с дальнейшим сохранением как .rtf

Сообщение Elmer » 11.03.2004 (Чт) 0:12

Так... вообщем есть RichTextFormat контрол, вставляю я в него картинку:
Код: Выделить всё
Dim rtFboX
rtFboX = RTF1.SelStart
RTF1.OLEObjects.Add , , PathToPict
RTF1.SelStart = rtFboX + 1
RTF1.SetFocus


Затем пытаюсь сохранить это все в файл TextPict.rtf
Код: Выделить всё
RTF1.SaveFile "C:\TextPict.rtf", rtfRTF


И тут косяк и возникает, когда пытаюсь открыть этот файл, картинки та и как не бывало...... в чем проблема?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.03.2004 (Чт) 11:25

А Ворд этот файл тоже без картинки открывает?

Elmer
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 12.02.2002 (Вт) 2:19
Откуда: Russia

Сообщение Elmer » 11.03.2004 (Чт) 14:08

В том то и дело что ни одна программа не видит картинки(вместо нее остается просто пробел)

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 11.03.2004 (Чт) 15:32

Я в форматах файлов не силен (проще говоря не разбирался), но вроде RTF это файл форматированного текста и картинки туды не запихаешь...
Исправте если я ошибаюсь... :oops:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.03.2004 (Чт) 17:14

В RTF можно запихнуть картинки.
Есть два предложения.
1. Если у тебя RTB невидимый, может быть у тебя картинка просто не добавляется? Сделай его видимым и посмотри, есть ли она вообще.
2.
Код: Выделить всё
RTF1.SaveFile "C:\TextPict.rtf", rtfRTF

Попробуй схитрить. Сделай
Код: Выделить всё
Open "C:\TextPict-2.rtf" For Output As #1
Print #1, RTF1.TextRTF
Close #1

и сравни файлы TextPict.rtf и TextPict-2.rtf. Возможно у тебя глючит контрол.
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 13.03.2004 (Сб) 12:52

А почему бы не вставить рисунок через буфер обмена???

Например, вот такой способ:
Код: Выделить всё
Private Const WM_PASTE = &H302
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, ByVal wp As Long, lp As Any) As Long

Private Sub Command1_Click()
  Dim pic As StdPicture
  ' загрузка желаемого рисунка 
  Set pic = LoadPicture("d:\a.bmp")
  Clipboard.Clear
  Clipboard.SetData pic, vbCFBitmap
  SendMessage RichTextBox1.hwnd, WM_PASTE, 0, 0
End Sub
Состояний же любви — десять: любовный взгляд, привязанность в мыслях, рождение желания, бессонница, исхудание, отвращение к предметам восприятия, утрата стыда, безумие, потеря сознания и смерть — вот их признаки


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 1

    TopList