Смайлики в чат

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

Смайлики в чат

Сообщение step » 17.04.2005 (Вс) 13:17

Делаю чат, подскажите как можно смайлы туды засунуть? Я знаю, что можно в RichTextBox засунуть! А можно просто в текстбокс или в чёни-ть ещё?
А , если использовать для этого WebBrowser, то компонент надо за проэктом таскать, а он много весит.
Заранее спасибо!

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

Сообщение alibek » 17.04.2005 (Вс) 13:56

Напиши свой компонент.
Lasciate ogni speranza, voi ch'entrate.

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 17.04.2005 (Вс) 14:36

Ну а может у кого есть задумки, или начало для этого компонента, я с удовольствием его продолжу, ну хуть подскажите где его делать в пиктуре боксе, или в текст боксе?

skord
Китаец
Китаец
 
Сообщения: 572
Зарегистрирован: 14.10.2004 (Чт) 15:36
Откуда: Иркутск

Сообщение skord » 17.04.2005 (Вс) 14:39

step
Делаешь чат по модему? :)

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 17.04.2005 (Вс) 14:47

Да, примеры иди смотри http://bbs.vbstreets.ru/viewtopic.php?t=15442

skord
Китаец
Китаец
 
Сообщения: 572
Зарегистрирован: 14.10.2004 (Чт) 15:36
Откуда: Иркутск

Сообщение skord » 17.04.2005 (Вс) 14:59

Круто! Я телепат! :lol:

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 17.04.2005 (Вс) 18:20

Люди ну подскажите чё-нить, плиз!!!

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 17.04.2005 (Вс) 19:20

Нельзя никакие картинки запихивать в обычный TextBox
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 17.04.2005 (Вс) 19:22

А чем RichTextBox не устраивает?
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

skord
Китаец
Китаец
 
Сообщения: 572
Зарегистрирован: 14.10.2004 (Чт) 15:36
Откуда: Иркутск

Сообщение skord » 18.04.2005 (Пн) 7:47

Извените за флуд - а как в RTB картики пихать? :roll:

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 18.04.2005 (Пн) 9:37

skord писал(а):Извените за флуд - а как в RTB картики пихать? :roll:

Ну, честно говоря сам не знаю :roll: , но точно знаю что можно :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 18.04.2005 (Пн) 11:09

в RTB вот как можно, но эти мерцания, и при клике два раза чё происходит, видели!
Вложения
Вставить смайл в ртб.rar
Сейчас всё можно...
(3.15 Кб) Скачиваний: 49

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 18.04.2005 (Пн) 11:21

kirrun писал(а):Нельзя никакие картинки запихивать в обычный TextBox

Ну это ещё как посмотреть...
Можно взять картинку, и попиксельно её нарисовать на текстбоксе, или взять положить картинку поверх текстбокса...

schalexey
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 18.02.2005 (Пт) 17:41
Откуда: Сургут

Сообщение schalexey » 18.04.2005 (Пн) 12:40

step в РТБ засунуть моожно код примерно ткой (только BMP):
Наличие событий Form_Load и Form_QueryUnload обязательно, иначе ваш VB-проект просто-напросто "рухнет"
Код: Выделить всё
Private Sub Command1_Click()
a = RichTextBox1.SelStart
RichTextBox1.OLEObjects.Add , , "D:\4\add_pictures_to_richtextbox\smile.bmp"
RichTextBox1.SelStart = a + 1
RichTextBox1.SetFocus
End Sub
Private Sub Form_Load()
RichTextBox1.OLEObjects.Clear
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
RichTextBox1.OLEObjects.Clear
End Sub


Еще можно нарисовать при помощи функций GDI или GDI+

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 18.04.2005 (Пн) 13:28

Спасибо конечно, но я вроде уже наподобии что-то чуть выше выложил!
Тема забита, ВСЕМ ОГРОМНОЕ СПАСИбО, начал свой компонент делать, не знаю чё получиться!

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 18.04.2005 (Пн) 23:47

Я бы не советовал применять OLEObjects для вставки картинок, так как слышал о глюках в его реализации.
Писал свой чат и пользовался быстрым и простым способом:

1)Прописывал в любом модуле:

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long,lParam As Any) As Long

2)SelStart в нужное место.

3)Clipboard.Clear

4)Clipboard.SetData imgSmile.picture

5)SendMessage RichTextBox.hwnd, &H302, 0, 0&

6)Clipboard.Clear

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 19.04.2005 (Вт) 0:13

|kerish| писал(а):Я бы не советовал применять OLEObjects для вставки картинок, так как слышал о глюках в его реализации.
Писал свой чат и пользовался быстрым и простым способом:

1)Прописывал в любом модуле:

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long,lParam As Any) As Long

2)SelStart в нужное место.

3)Clipboard.Clear

4)Clipboard.SetData imgSmile.picture

5)SendMessage RichTextBox.hwnd, &H302, 0, 0&

6)Clipboard.Clear

А если в это время у пользователя данные в буфере обмена? ;)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.04.2005 (Вт) 1:01

Не хрен информацию в буфере обмена иметь... :lol:
А если серьезно: То несколькими строчками кода можно проверить, есть ли данные. Если есть, то туда-сюда-туда... И всё как было. Дело в том, что способ этот очень надежный.
А OLEObjects ИМХО тормознутый и глюковатый.

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

Сообщение alibek » 19.04.2005 (Вт) 7:15

А чем не подходит способ со вставой смайла непосредственно в TextRTF? Неужели только из-за некоторых хлопот с восстановлением выделения?
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение alibek » 19.04.2005 (Вт) 7:16

|kerish| писал(а):То несколькими строчками кода можно проверить, есть ли данные. Если есть, то туда-сюда-туда... И всё как было.

А ты можешь продемонстрировать это "туда-сюда-туда"?
Lasciate ogni speranza, voi ch'entrate.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 19.04.2005 (Вт) 8:00

|kerish| писал(а):А если серьезно: То несколькими строчками кода можно проверить, есть ли данные. Если есть, то туда-сюда-туда...

:) Мне уже объяснили тут как-то ошибочность и наивность такого подхода. :wink:
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.04.2005 (Вт) 13:54

Прошу разъяснить мне ошибочность и наивность моего подхода.
Будет самому интересно узнать более лучший (быстрый) вариант.

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

Сообщение alibek » 19.04.2005 (Вт) 14:38

Разъясним, не переживай.
Ты продемонстрируй вначале то, что ты предлагал (восстановление буфера обмена).
Lasciate ogni speranza, voi ch'entrate.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 19.04.2005 (Вт) 14:41

Че тут демонстрировать? Содержимое пихаем в переменную, потом назад.
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

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

Сообщение alibek » 19.04.2005 (Вт) 15:05

Какую переменную?
Приведи код.
Lasciate ogni speranza, voi ch'entrate.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.04.2005 (Вт) 15:21

В буфере-то могут быть данные неизвестных твоей проге форматов (И правда, RegisterClipboardFormat зачем нам дана?). Как ты их собираешься восстанавливать? :)
Моду создают модоки, а распространяют модозвоны.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 19.04.2005 (Вт) 15:42

Ну я-то ничего восстанавливать не собираюсь! Это я так просто... Подумал: "Что я крайний чтоли?" И решил тоже вставить слово =)
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Re: Смайлики в чат

Сообщение SHURUP » 19.04.2005 (Вт) 16:11

step писал(а):
А , если использовать для этого WebBrowser, то компонент надо за проэктом таскать, а он много весит.
Заранее спасибо!

А разве shdocvw.dll вместе с виндой не поставляется? По моему он у ВСЕХ есть. А если нету - то можно и ссылку на него дать...
А в WebBrowser и можно смайл вставить и текст выделить и форматирование реализовать… Хотя я больше люблю DHTMLEdit control… С ним заморок меньше...
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.04.2005 (Вт) 16:25

kirrun писал(а):Ну я-то ничего восстанавливать не собираюсь! Это я так просто... Подумал: "Что я крайний чтоли?" И решил тоже вставить слово =)

А кто крайний? Кто у нас тут про буфер обмена начал? Сказал, всё...теперь доказывай. :lol: :lol:
Ждём кода...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 19.04.2005 (Вт) 16:30

:oops: Ой... ну я прям даже и не знаю... [шаркая ножкой] :oops: =)

Короче, то что я сказал подходит только если в буфере текст :roll:
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

    TopList