Как грамонтно вставить картинку в RichTextBox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Как грамонтно вставить картинку в RichTextBox

Сообщение X-BOND » 03.06.2003 (Вт) 11:28

Где то видел подобный примерчик, но там это было реализовано извращенным способом. Необходимо было добавлять PictureBox.
Картинка сначала вставлялась туда, после в буфер, потом через АПИ в сам RichTextBox.
Я думаю есть более грамотный способ :)

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Re: Как грамонтно вставить картинку в RichTextBox

Сообщение GoGosha » 03.06.2003 (Вт) 19:14

X-BOND писал(а):Где то видел подобный примерчик, но там это было реализовано извращенным способом. Необходимо было добавлять PictureBox.
Картинка сначала вставлялась туда, после в буфер, потом через АПИ в сам RichTextBox.
Я думаю есть более грамотный способ :)


Как-то подобная тема уже обсуждалась. Её послали непомню куда искать в форматах файлов файлы RTF

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

Сообщение alibek » 04.06.2003 (Ср) 8:51

Или же потрошить коллекцию RichTextBox.OLEObjects
Lasciate ogni speranza, voi ch'entrate.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 04.06.2003 (Ср) 11:16

Спасибо :wink:
Нашел!

RichTextBox.OLEObjects.Add , , strPicturePath

Все гениальное - просто :)

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 10.06.2003 (Вт) 16:12

В принципе, таким способом можно вставить любой объект.
Но тут возникает проблемка. На каждый тип объекта сразу после вставки выскакивает либо приложение его поддерживающее, либо прочая ерунда. Кто знает, как от этого избавится?

TimeKeeper
Постоялец
Постоялец
 
Сообщения: 437
Зарегистрирован: 11.10.2002 (Пт) 4:47
Откуда: Russia

Сообщение TimeKeeper » 12.06.2003 (Чт) 11:32

Я вставляю файл Ворда, и у меня все виснет... :cry:

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 16.06.2003 (Пн) 11:56

Народ!!!

RichTextBox.OLEObjects.Add , , strPicturePath

Как избежать открытия различной чепухи следующей после этого?
:?: :?: :?:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 16.06.2003 (Пн) 12:00

Как как. Указывать все необходимые параметры при вызове .Add

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 16.06.2003 (Пн) 12:24

Уважаемый RayShade, может вы подскажете мне, тупому, какие именно параметры?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 16.06.2003 (Пн) 12:33

Не надо самоуничижаться, уважаемый.





Visual Basic: RichTextBox Control



Add Method (OLEObjects Collection)





Adds an OLEObject object to an OLEObjects collection.



Syntax



object.Add index, key, sourcedoc, class



The Add Method syntax has these parts:



Part Description

object Required. An object expression that evaluates to an object in the Applies To list.

index Optional. An integer that identifies a member of the object collection. If supplied, the new member will be inserted after the member specified by the index.

key Optional. A unique string expression that can be used to access a member of the collection. The key and index arguments can be used interchangeably with the Item method of the collection to retrieve the OLEObject object.

sourcedoc Required. The filename of a document used as a template for the embedded object. The RichTextBox control doesn't support linking, so the contents of the file will be copied into the OLEObject object. Must be a zero-length string ("") if you don't specify a source document.

class Optional. The OLE class name for the object to be embedded. This argument is the ProgID used by OLE in the system registry. This argument is ignored if you specify a filename for sourcedoc.





Remarks



The following code adds a Microsoft Excel worksheet to the RichTextBox and sets its Key property to "SalesData":



RichTextBox1.OLEObjects.Add , "SalesData", , "Excel.Sheet.5"



When an object is added to the collection, it immediately becomes in-place active so the user can add data to it.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 16.06.2003 (Пн) 13:17

Во первых, английского я мог и не знать.
И это я уже читал раньше.

Меня интересует ПРОСТОЙ РАБОТАЮЩИЙ ПРИМЕР

P.S.

RichTextBox1.OLEObjects.Add , "SalesData", , "Excel.Sheet.5"
Если я вставляю обычный EXE что мне тогда писать?
Или *.RAR или *.SYS или вообще *.*

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 16.06.2003 (Пн) 13:29

Интересный подход. Боюсь, тут я ничего не могу посоветовать в силу того, что ЕХЕ через OLE я никогда никуда не внедрял.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 16.06.2003 (Пн) 14:13

Получается для каждого типа файла нужно писать свой код? :?


А вообще вставка ЕХЕ в RTF мне пригодилась при создании LAN-общалки.
Так, например пишу в окне:
Привет Вася Пупкин! Посмотри ка мою новую заставку...
далее вставляю файл MyScreenSaver.exe и нажимаю кнопочку SEND

В это время у Васи появляется окошко с моим сообщением и снизу значек программы. И он может сразу в окне RTF запустить мою програмку.
Но проблема в том, что при вставке у меня эта програмка тоже запускается, что есть нехорошо.


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

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

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

    TopList  
cron