Подскажите контрол

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

Подскажите контрол

Сообщение Sun07 » 13.07.2006 (Чт) 22:22

Подскажите контрол, плиз, в котором можно выводить текст разного цвета и графику (как в чатах - текст и смайлики).

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 13.07.2006 (Чт) 22:26

Rich Text Box

если надо вводить код - CodeMax

Есть ещё такой контрол INKEdit - кто мне подскажет что он делает и как им пользоваться? уж большно название у него говорящее.
Да и набор методов большой и куча классов в библе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.07.2006 (Чт) 22:57

Контрол в котором можно всё вышеперичисленное-стандартный PictureBox.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 13.07.2006 (Чт) 22:58

Тогда любой контрол - стандартный PictureBox.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 13.07.2006 (Чт) 23:11

Rich Edit написан не на VB и не может использовать стандартный пикчебокс.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.07.2006 (Пт) 2:17

чего чего?

причём тут это. Ты, предложив PB, имел ввиду то, что в нём можно ручками рисовать текст и смайлы. И ручками рисовать курсов и выделение.

Но тогда любой визульаный компонент можно замутить в ПБ и рисовать всё ручками.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 14.07.2006 (Пт) 8:28

Хакер писал(а):Но тогда любой визульаный компонент можно замутить в ПБ и рисовать всё ручками.


А так и есть - вопрос изначально поставлен некорректною Под него попадаут и RichTextBox, PictureBox, Grid-ы, да и просто Form на которой тоже можно рисовать/текст/рисунки. В принципе - какой вопрос, такой и ответ...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 14.07.2006 (Пт) 8:36

2Люди: нежнее...
2Sun07: Да WebBrowser возьми!

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 15.07.2006 (Сб) 14:05

Спасибо. Ну а какой из вариантов будет кушать меньше всего ресурсов при работе?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 15.07.2006 (Сб) 19:51

PictureBox... Если рисовать через API...
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 15.07.2006 (Сб) 23:06

Дайте плз прямую ссылочку на CodeMax или подскажите где его взять
#define ROFL 0xDDDD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 15.07.2006 (Сб) 23:07

есть какой то ассемблер в котором он юзается (нормальная версия).

Есть у Гайдара в проектах BitShape (там какая то косая версия).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 15.07.2006 (Сб) 23:11

Спасибо!
#define ROFL 0xDDDD

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 20.07.2006 (Чт) 22:03

И как же использовать PictureBox - как фрейм? Т.е. для каждого изображения создавать контрол image, помещать его в PictureBox, а как для текста? Тогда можно использовать и простой фрейм. А как с RichTextBox? Не понял, а где возможность загрузить здесь картинку с компа - что, только через правку отправленного сообщения?
Вложения
Clipboard02.gif
скриншот из проги-чата
(90.4 Кб) Скачиваний: 26

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 21.07.2006 (Пт) 7:30

Sun07 писал(а):И как же использовать PictureBox - как фрейм? Т.е. для каждого изображения создавать контрол image, помещать его в PictureBox, а как для текста?


Нет - просто рисовать на нем все это дело.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 21.07.2006 (Пт) 11:35

рисовать текст и картинки? А не сложновато ли это будет?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 21.07.2006 (Пт) 13:00

Sun07 писал(а):рисовать текст и картинки? А не сложновато ли это будет?


А чего там сложного-то, если задуматься?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

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

Сообщение alibek » 21.07.2006 (Пт) 21:50

Andrey Fedorov писал(а):А чего там сложного-то, если задуматься?

Вот это-то и сложно :)
Lasciate ogni speranza, voi ch'entrate.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 21.07.2006 (Пт) 22:33

так я представления не имею как это делается, потому и сложно

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 21.07.2006 (Пт) 23:47

Объясните мне чем плох RTB?
или WB ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 21.07.2006 (Пт) 23:54

так сказали, что PictureBox кушает меньше ресурсов, на нём я пока и зациклился. Как добавлять картинки в RichTextBox тоже не знаю. С WB не работал, посмотрю. Чуствую пятой точкой, что выбор остановится на WB.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.07.2006 (Сб) 0:28

В rtb вставить картинку гораздо проще чем в WebBrowser.

Для этого нужно поставить курсор в место куда надо вставить рисунок

RTB1.SelStart = номер_позиция_курсора
RTB1.SelLengh = 0

и привоить свойсту RTB1.SelRTF ртфэшное представление битмапа.

Т.е.

RTB.SekStart = txtImgToInsert

в переменной txtImgToInsert должно быть RichFormat-ное представление картинки.

Вот для примера, оное, для смайла wink ( :wink: )

{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fnil\fcharset204 MS Sans Serif;}}
\uc1\pard\lang1049\f0\fs17{\object\objemb{\*\objclass Paint.Picture}\objw225\objh225{\*\objdata
01050000
02000000
07000000
50427275736800
00000000
00000000
20030000
424d060300000000000036000000280000000f0000000f0000000100180000000000d002000000
000000000000000000000000000000ffffffffffffffffffffffffffffff454545454545454545
454545454545ffffffffffffffffffffffffffffff000000ffffffffffffffffff454545454545
00b4ff00b4ff00b4ff00b4ff009dfe454545454545ffffffffffffffffff000000ffffffffffff
45454500ceff00ceff00c9ff00c9ff00c9ff00c9ff00c9ff00ceff009dfe454545ffffffffffff
000000ffffff45454500ceff00ceff00e5ff00000000000000000000000000e5ff00c9ff00ceff
009dfe454545ffffff000000ffffff45454500ceff00eaff00000000eaff00eaff00eaff00eaff
00000000eaff00c9ff00ceff454545ffffff00000045454500ceff00eaff00eaff00eaff00eaff
00eaff00eaff00eaff00eaff00000000e5ff00c9ff009dfe45454500000045454513fdff00eaff
00eaff00eaff00eaff00eaff00eaff00eaff00eaff00000000eaff00c9ff00b4ff454545000000
45454593feff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00c9ff
00b4ff45454500000045454593feff13fdff00eaff00eaff00000000eaff00eaff00eaff00eaff
00eaff00eaff00c9ff00b4ff454545000000454545c7ffff13fdff00eaff00eaff00000000eaff
00eaff00eaff00000000000000eaff00c9ff009dfe454545000000ffffff45454593feff000000
00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00ceff454545ffffff000000ffffff
454545c7ffff93feff00000000eaff00eaff00eaff00eaff00eaff00eaff00ceff009dfe454545
ffffff000000ffffffffffff454545ebffffc7ffff13fdff13fdff00eaff00eaff00eaff00ceff
009dfe454545ffffffffffff000000ffffffffffffffffff454545454545ebffffc7ffff93feff
93feff00ceff454545454545ffffffffffffffffff000000ffffffffffffffffffffffffffffff
454545454545454545454545454545ffffffffffffffffffffffffffffff000000000000000000
0000000000000000000000000000000000000000
01050000
00000000
}{\result{\pict\wmetafile8\picw397\pich397\picwgoal225\pichgoal225
010009000003a001000000008a0100000000050000000b0200000000050000000c028d018d018a
010000430f2000cc0000000f000f00000000008d018d0100000000280000000f0000000f000000
0100180000000000d0020000c40e0000c40e00000000000000000000ffffffffffffffffffffff
ffffffff454545454545454545454545454545ffffffffffffffffffffffffffffff000000ffff
ffffffffffffff45454545454500b4ff00b4ff00b4ff00b4ff009dfe454545454545ffffffffff
ffffffff000000ffffffffffff45454500ceff00ceff00c9ff00c9ff00c9ff00c9ff00c9ff00ce
ff009dfe454545ffffffffffff000000ffffff45454500ceff00ceff00e5ff0000000000000000
0000000000e5ff00c9ff00ceff009dfe454545ffffff000000ffffff45454500ceff00eaff0000
0000eaff00eaff00eaff00eaff00000000eaff00c9ff00ceff454545ffffff00000045454500ce
ff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00000000e5ff00c9ff009dfe4545
4500000045454513fdff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00000000ea
ff00c9ff00b4ff45454500000045454593feff00eaff00eaff00eaff00eaff00eaff00eaff00ea
ff00eaff00eaff00eaff00c9ff00b4ff45454500000045454593feff13fdff00eaff00eaff0000
0000eaff00eaff00eaff00eaff00eaff00eaff00c9ff00b4ff454545000000454545c7ffff13fd
ff00eaff00eaff00000000eaff00eaff00eaff00000000000000eaff00c9ff009dfe4545450000
00ffffff45454593feff00000000eaff00eaff00eaff00eaff00eaff00eaff00eaff00eaff00ce
ff454545ffffff000000ffffff454545c7ffff93feff00000000eaff00eaff00eaff00eaff00ea
ff00eaff00ceff009dfe454545ffffff000000ffffffffffff454545ebffffc7ffff13fdff13fd
ff00eaff00eaff00eaff00ceff009dfe454545ffffffffffff000000ffffffffffffffffff4545
45454545ebffffc7ffff93feff93feff00ceff454545454545ffffffffffffffffff000000ffff
ffffffffffffffffffffffffff454545454545454545454545454545ffffffffffffffffffffff
ffffffff000000030000000000
}}}}


Думаю проблем с полученим RTF-шного представления картинки не будет. Если будут - обращайся.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 22.07.2006 (Сб) 0:39

так получается, все картинки переводятся в битмап? А если их будет слишком много, не покушает ли это память? У меня будет база картинок в виде файлов (не ImgList). Мне надо как в веб-браузере ссылка на файл-картинку, юзер прокручивает окошко и нужные картинки отображаются (с текстом - чат), а просмотренные или не входящие в данную видимую область окошка - не подгружены в память, иначе будет кушать память.
Последний раз редактировалось Sun07 22.07.2006 (Сб) 0:45, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.07.2006 (Сб) 0:44

Sun07 писал(а):так получается, все картинки переводятся в битмап?

Ты удивишься, но все картинки на экране -- это битмапы.

Sun07 писал(а):Как в RichBox определить, картинка уже должна отображаться (или часть её) при прокрутке текста или ещё нет?

Он сам определит.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.07.2006 (Сб) 0:46

Не надо ничего этого делать. Переведи все картинки в RT-format и сохрани в файл. При загрузке твоей проги, загрузи текстовые представления смайлов в строковый массив. И когда надо вставляй строки из массива в SelRTF
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 22.07.2006 (Сб) 0:47

хоть и битмапы, но не всех же подгружать в память

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.07.2006 (Сб) 0:48

Обои рабочего стола сожрут в 1150 раз больше памяти чем 10 таких маленьких смайлов...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 22.07.2006 (Сб) 0:52

так я хочу предоставить возможность юзеру показывать свои смайлы, картинки. Ну да ладно, расход памяти - второй вопрос. Я уже пишу не думая. Завтра обдумаю. А пока всем спасибо.

Sun07
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 355
Зарегистрирован: 17.02.2006 (Пт) 21:27

Сообщение Sun07 » 22.07.2006 (Сб) 0:53

а насчёт WB - я думал, как создать страницу в памяти и отобразить, чтобы не писать в файл. Как в файле - понятно.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.07.2006 (Сб) 0:57

Изображение

След.

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

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

Сейчас этот форум просматривают: Google-бот и гости: 97

    TopList